评估模型
重要
对机器学习工作室(经典)的支持将于 2024 年 8 月 31 日结束。 建议在该日期之前转换到 Azure 机器学习。
从 2021 年 12 月 1 日开始,你将无法创建新的机器学习工作室(经典)资源。 在 2024 年 8 月 31 日之前,可继续使用现有的机器学习工作室(经典)资源。
ML 工作室(经典)文档即将停用,将来可能不会更新。
使用标准指标评估分类或回归模型的结果
类别:机器学习/评估
模块概述
本文介绍如何在 机器学习 Studio 中使用“评估模型”模块 (经典) 来度量训练模型的准确性。 提供包含通过模型生成的评分的数据集后,“评估模型”模块将计算一组符合行业标准的评估指标。
“评估模型”返回的指标取决于评估的模型类型:
对于建议模型,请使用 评估推荐器 模块。
如何使用“评估模型”
可通过三种方法使用 评估模型 模块:
- 针对训练数据生成评分,然后基于这些评分评估模型
- 在模型中生成评分,但将这些评分与保留的测试集中的评分进行比较
- 使用相同的数据集比较两个不同但相关的模型的评分
使用训练数据
若要评估某个模型,必须连接包含一组输入列和评分的数据集。 如果没有其他可用数据,可以使用原始数据集。
- 连接评分模型的评分基准集输出到评估模型的输入。
- 单击“评估模型”模块,选择“运行所选项”来生成评分。
使用测试数据
机器学习的一种常用方案是使用拆分模块或分区和采样模块,将原始数据集划分成训练和测试数据集。
- 将评分模型的“已评分数据集”输出连接到“评估模型”的输入。
- 将包含测试数据的“拆分数据”模块的输出连接到“评估模型”右侧的输入。
- 单击“评估模型”模块,选择“运行所选项”来生成评分。
比较两个模型的评分
还可以将第二组评分连接到“评估模型”。 评分可以是包含已知结果的共享评估集,也可以是不同模型针对相同数据提供的一组结果。
此功能非常有用,因为它可以让你轻松比较两个不同模型针对相同数据提供的结果。 你也可以使用不同的参数对相同数据运行两次,然后比较两次运行的评分。
- 连接评分模型的评分基准集输出到评估模型的输入。
- 将第二个模型的“评分模型”模块的输出连接到“评估模型”右侧的输入。
- 右键单击“评估模型”,并选择“运行所选项”来生成评分。
结果
运行“评估模型”后,右键单击该模块并选择“评估结果”来查看结果。 方法:
- 将结果另存为数据集,以方便使用其他工具进行分析
- 在 Studio (经典) 接口中生成可视化效果
如果将数据集连接到“评估模型”的两种输入,结果将包含这两个数据集或这两个模型的指标。 附加到左侧端口的模型或数据首先显示在报表中,然后是右侧端口上附加的数据集或模型的指标。
例如,下图表示使用不同参数的相同数据上生成的两个聚类分析模型的结果比较。
因为这是聚类分析模型,所以,计算结果不同于比较两个回归模型的分数或两个分类模型的结果。 不过,提供的结果在总体上是相同的。
指标
本部分介绍针对支持与“评估模型”配合使用的特定模型类型返回的指标:
分类模型的指标
评估分类模型时,将报告以下指标。 如果比较模型,将按选择用于评估的指标为这些模型排名。
“准确度”衡量分类模型的优劣,即真实结果占总体的比例。
“精准率”是真实结果与所有正面结果之比。
“召回率”是模型返回的所有正确结果的小数。
“F 评分”计算为精准率与召回率的加权平均值,介于 0 和 1 之间,理想的 F 评分值为 1。
“AUC”度量绘制的曲线下面的面积(在 y 轴上绘制真报率,在 x 轴上绘制误报率)。 此指标非常有用,因为它提供单个数字让你比较不同类型的模型。
“平均对数损失”是用于表示错误结果的惩罚的单个评分。 它计算为以下两个概率分布之差 – 真实分布,以及模型中的分布。
“训练对数损失”是表示分类器相比随机预测的优势的单个评分。 对数损失通过将模型输出的概率与标签中的已知值(真实值)进行比较,来度量模型的不确定性。 你希望将整个模型的对数损失降至最低。
回归模型的指标
回归模型返回的指标通常设计为估计误差量。 如果观测值与预测值之间的差很小,则认为模型能够很好地拟合数据。 不过,查看残差模式(任何一个预测点与其对应实际值之间的差)可以很好地判断模型中的潜在偏差。
评估回归模型时,将报告以下指标。 比较模型时,将按选择用于评估的指标为这些模型排名。
负对数可能性 度量损失函数,分数越低越好。 请注意,此指标仅针对 贝埃西亚线性回归 和 决策林回归进行计算;对于其他算法,该值
Infinity
表示无用。“平均绝对误差 (MAE)”度量预测对实际结果的接近程度;因此,分数越低越好。
“均方根误差 (RMSE)”创建单个值用于汇总模型中的误差。 求差的平方时,指标将忽略过预测与欠预测之差。
“相对绝对误差 (RAE)”是预期值与实际值之间的相对绝对差;之所以是相对的,是因为平均差将除以算术平均值。
“相对平方误差 (RSE)”类似地通过除以实际值的总平方误差来归一化预测值的总平方误差。
“平均 0-1 误差 (MZOE)”指示预测是否正确。 换言之:当
x!=y
时,ZeroOneLoss(x,y) = 1
;否则0
。“决定系数”(通常称为 R 2)将模型的预测能力表示为 0 和 1 之间的值。 如果为 0,则模型是随机的(不解释任何信息);1 表示完美拟合。 但是,在解释 R2 值时应谨慎,因为低值可能是完全正常的,而高值可能会令人怀疑。
聚类分析模型指标
由于聚类分析模型在许多方面与分类和回归模型有很大差别,因此评估模型也会为聚类分析模型返回一组不同的统计信息。
聚类分析模型返回的统计信息说明分配给每个聚类的数据点数量、聚类之间的隔离量以及每个聚类中数据点的聚集程度。
聚类分析模型的统计信息是整个数据集的平均值,并附带有包含每个聚类的统计信息的行。
例如,以下结果显示了示例实验的一部分结果,该实验对 PIMA 印度糖尿病二进制分类数据集中的数据进行聚类分析,该数据集在 机器学习 Studio (经典) 中提供。
结果说明 | 与群集中心的平均距离 | 到其他中心的平均距离 | 点数 | 与群集中心的最大距离 |
---|---|---|---|---|
合并评估 | 55.915068 | 169.897505 | 538 | 303.545166 |
群集 No.0 的评估 | 0 | 1 | 570 | 0 |
群集 1 的评估 | 0 | 1 | 178 | 0 |
群集 2 的评估 | 0 | 1 | 178 | 0 |
从这些结果中,你将获得以下信息:
扫描聚类分析模块创建多个聚类分析模型,按准确性顺序列出。 为简单起见,我们在此处只显示排名最好的模型。 模型使用所有可能的指标进行度量,但模型使用指定的指标进行排名。 如果更改了指标,则不同的模型可能会排名更高。
结果每个部分顶部的 “合并评估 ”分数列出了在该特定模型中创建的群集的平均分数。
这个排名靠前的模型碰巧创建了三个群集:其他模型可能会创建两个群集或四个分类。 因此,这种组合评估分数有助于比较模型与不同数量的群集。
“到聚类中心的平均距离”列中的分数表示某个聚类中所有点到该聚类中心的接近程度。
“到其他中心的平均距离”列中的分数表示该聚类中每个点与所有其他聚类中心的平均距离。
可以选择四个指标中的任何一个来度量此距离,但所有度量都必须使用相同的指标。
“点数”列显示为每个聚类分配了多少数据点,以及所有聚类中数据点的总数。
如果分配给聚类的数据点数量小于可用的数据点总数,则意味着无法将数据点分配给聚类。
列中的分数( 最大距离到聚类中心)表示每个点与该点聚类的质心之间的距离之和。
如果此数字较高,则可能表示该聚类相当分散。 应将此统计信息与 群集中心的平均距离 一起查看,以确定群集的分布。
示例
有关如何生成、可视化和解释评估指标的示例,请参阅 Azure AI 库中的这些示例试验。 这些试验演示了如何构建多个模型,以及如何使用“评估模型”来确定哪个模型最佳。
比较二进制分类器:说明如何比较使用相同数据生成的不同分类器的性能。
比较多类分类器:演示如何比较基于字母识别数据集构建的不同分类模型的准确性。
比较回归器:指导你完成评估不同回归模型的过程。
需求估算:了解如何合并来自多个模型的评估指标。
客户关系预测:演示如何评估多个相关模型。
预期输入
名称 | 类型 | 说明 |
---|---|---|
评分数据集 | 数据表 | 评分数据集 |
要比较的已评评分据集 | 数据表 | 要比较的已评分数据集(可选) |
Outputs
名称 | 类型 | 说明 |
---|---|---|
评估结果 | 数据表 | 数据评估结果 |
例外
异常 | 描述 |
---|---|
错误 0003 | 如果一个或多个输入为 NULL 或为空,将出现异常。 |
错误 0013 | 如果传递给模块学习器的参数具有无效的类型,则会发生异常。 |
错误 0020 | 如果传递给模块的某些数据集的列数过少,将出现异常。 |
错误 0021 | 如果传递给模块的某些数据集的行数过少,将出现异常。 |
错误 0024 | 如果数据集不包含标签列,将出现异常。 |
错误 0025 | 如果数据集不包含分数列,将出现异常。 |