机器学习模型效果评估指标与方法介绍

本文介绍了模型评估的重要性和常用方法,包括验证(Hold-Out)和交叉验证(Cross-Validation)。重点讲解了分类模型的评估指标,如混淆矩阵、增益和提升图、K-S图、ROC曲线和AUC,以及回归模型的评价标准如RMSE、RSE、MAE、RAE和决定系数等。这些指标帮助我们理解模型的性能并作出优化。

模型评估是模型开发过程的不可或缺的一部分。它有助于发现表达数据的最佳模型和所选模型将来工作的性能如何。在数据挖掘中,使用训练集中的数据评估模型性能是不可接受的,因为这易于生成过于乐观和过拟合的模型。数据挖掘中有两种方法评估模型,验证(Hold-Out)和交叉验证(Cross-Validation)。为了避免过拟合,这两种方法都使用(模型没有遇到过的)测试集来评估模型性能。

一、验证(Hold-Out)

使用这种方法时,通常大的数据集会被随机分成三个子集:

  1. 训练集:用于构建预测模型。
  2. 验证集:用于评估训练阶段所得模型的性能。它为模型参数优化和选择最优模型提供了测试平台。不是所有模型算法都需要验证机。
  3. 测试集或之前未遇到的样本用于评估模型未来可能的性能。如果模型与训练集拟合的好于测试集,有可能是过拟合所致。

二、交叉验证(Cross-Validation)

当仅有有限数量的数据时,为了对模型性能进行无偏估计,我们可以使用k折交叉验证(k-fold cross-validation)。 使用这种方法时,数据被分成k份数目相等的子集。我们构建k次模型,每次留一个子集做测试集,其他用作训练集。如果k等于样本大小,这也被称之为留一验证(leave-one-out)。

三、分类模型评估

3.1混淆矩阵(Confusion Matrix)

混淆矩阵显示了分类模型相对数据的真实输出(目标值)的正确预测和不正确预测数目。矩阵为NxN,其中N为目标值(类)数目。这类模型的性能通常使用矩阵中的数据评估。下表为两个类别(阳性和阴性)的2x2混淆矩阵。
在这里插入图片描述
术语:

• 阳性 (P, positive)
• 阴性 (N, Negative)
• 真阳性 (TP, true
positive):正确的肯定。又称:命中 (hit)
• 真阴性 (TN, true negative):正确的否定。又称:正确拒绝
(correct rejection)
• 伪阳性 (FP, false positive):错误的肯定,又称:假警报 (false
alarm)、第二型错误
• 伪阴性 (FN, false negative):错误的否定,又称:未命中(miss)、第一型错误
• 灵敏度(sensitivity)或真阳性率(TPR, true positive rate): 又称:召回率(recall)、命中率
(hit rate) 在阳性值中实际被预测正确所占的比例。 TPR = TP / P = TP / (TP+FN)
• 伪阳性率(FPR,
false positive rate): 又称:错误命中率,假警报率 (false alarm rate) FPR = FP / N = FP / (FP + TN) = 1-SPC
• 特异度 (SPC, Specificity)或真阴性率(TNR, true
negative rate): 在阴性值中实现被预测正确所占的比例。 SPC = TN / N = TN / (FP+TN) = 1-FPR
• 假发现率 (FDR, false discovery rate): FDR = FP / (FP + TP) = 1-TPR
• 准确度
(ACC, accuracy): 预测正确的数占样本数的比例。 ACC = (TP + TN) / (P + N)
• 阳性预测值
(PPV, positive predictive value)或精度 (precision): 阳性预测值被预测正确的比例。 PPV =TP / (TP + FP)
• 阴性预测值 (NPV, negative predictive value):
阴性预测值被预测正确的比例。 NPV = TN / (TN + FN)
• F1评分: 精度和灵敏度的调和平均数。 F1 = 2
precision * recall / (precision+recall) = 2TP/(2TP+FP+FN)
• Matthews相关系数 (MCC),即 Phi相关系数: (TPTN - FPFN)/ sqrt{(TP+FP)(TP+FN)(TN+FP)(TN+FN)}

示例:
在这里插入图片描述
3.2增益(Gain)和提升(Lift)图

增益和提升是分类模型有效性指标,由通过模型获得的结果和没有模型获得的结果之间的比率计算而成。增益图和提升图使用与评估分类模型性能的可视化工具。然而,与混淆矩阵评估的是整个总体上的模型性能不同,增益图和提升图评估的是总体一部分上的模型性能。

3.2.1增益图

增益图实际上描述的是整体覆盖率(精度)指标。
按照模型预测出的概率从高到低排列,将每一个百分位数内的覆盖率指标标注在图形区域内,就形成了非累积的增益图。如果对每一个百分位及其之前的覆盖率求和,并将值标注在图形区域内,则形成累积的增益图。

  1. 显然,累积图通常能够更好的表现模型性能,而非累积图则更有利于指出模型中可能存在问题的地方。
  2. 采用训练集绘制的增益图一般都很不错,虽然没什么意义。用验证集绘制的收益图则未必。
    在这里插入图片描述
    示例:
    在这里插入图片描述
    在这里插入图片描述
    3.2.2提升图

提升图实际上是把各个百分位点上的提升度予以描述,同样也分累积的和非累积的。提升图显示与联系随机顾客样本相比我们有可能获得多少阳性响应。例如,通过预测模型仅联系10%的顾客,可以获得不使用模型的三倍响应。
在这里插入图片描述
3.3K-S(柯尔莫诺夫-斯米尔诺夫,Kolmogorov-Smirnov)图

K-S图衡量分类模型的性能。更准确的说,K-S阳性和阴性分布之间分离度指标。如果评分将总体分成两组,一组全是阳性,一组全是阴性,则K-S为100。如果模型无法区分阳性和阴性,模型选择的效果类似从总体中随机抽取,K-S将为0。对大多数分类模型,K-S在0到100之间,值越高表示模型分离阳性和阴性的效果越好。
示例:
下例显示分类模型结果。模型对每个阳性(目标)和阴性(非目标)输出赋予0到1000之间的评分。
在这里插入图片描述
在这里插入图片描述
3.4接收者操作特征曲线(ROC)图

ROC图与增益图或提升图类似,它们都提供了比较分类模型的一种途径。ROC图在X轴显示伪阳性率(真值为0、目标值为1的概率,即1-特异度),Y轴为真阳性率(即灵敏度)。理想情况下,曲线快速爬向左上,表示模型准确预测数据。红色斜对角线表示随机模型。
在这里插入图片描述
3.5曲线下面积(AUC,Area Under the Curve)

ROC曲线下面积经常用作衡量分类模型质量的指标。随机分类的AUC为0.5,而完美分类的AUC等于1。在实践中,大多数分类模型的AUC在0.5和1之间。
在这里插入图片描述
举个例子来说,AUC为0.8表示从目标值为1的组内随机抽取的案例有80%的可能比目标值为0的组内随机抽取的案例评分大。当分类器无法区分两组,区域等于0.5 (ROC曲线与斜线一致)。当两组完美分离,例如没有重叠的分布,ROC曲线将直接到达左上角纵坐标1的位置.

3.6基尼系数

判定方法:基尼系数应大于60%,就算好模型。
Gini = 2*AUC - 1

四、回归模型评估

当创建一些不同的回归模型后,有大量的标准可被评估和比较。

4.1均方根误差(Root Mean Squared Error,RMSE)

RMSE是一个衡量回归模型误差率的常用公式。 然而,它仅能比较误差是相同单位的模型。
在这里插入图片描述
在这里插入图片描述
4.2相对平方误差(Relative Squared Error,RSE)

与RMSE不同,RSE可以比较误差是不同单位的模型。
在这里插入图片描述
4.3平均绝对误差(Mean Absolute Error,MAE)

MAE与原始数据单位相同, 它仅能比较误差是相同单位的模型。量级近似与RMSE,但是误差值相对小一些。
在这里插入图片描述
4.4相对绝对误差(Relative Absolute Error,RAE)

与RSE不同,RAE可以比较误差是不同单位的模型。
在这里插入图片描述
4.5决定系数 (Coefficient of Determination)

决定系数 (R2)回归模型汇总了回归模型的解释度,由平方和术语计算而得。
在这里插入图片描述
R2描述了回归模型所解释的因变量方差在总方差中的比例。R2很大,即自变量和因变量之间存在线性关系,如果回归模型是“完美的”,SSE为零,则R2为1。R2小,则自变量和因变量之间存在线性关系的证据不令人信服。如果回归模型完全失败,SSE等于SST,没有方差可被回归解释,则R2为零。

4.6标准化残差图(Standardized Residuals Plot)

标准化残差图是一个对在标准化尺度上显示残差分散图有帮助的可视化工具。标准化残差图与普通残差图之间没有实质不同,唯一区别是在Y轴的标准化可以更容易检测到潜在的异常值。
在这里插入图片描述
4.7召回率

我们应该最大化的是统计学上称为召回率或查全率(recall)的衡量指标,或者是最大化模型找到数据集中所有相关案例的能力。
  
召回率=真正例/(真正例+假反例)。也就是正确判为恐怖分子占实际所有恐怖分子的比例。
在这里插入图片描述
你可能注意到了这个等式中的一些细节:如果我们将所有的个体都预测为恐怖分子,那么模型的召回率就是 1.0!因为预测所有人都是恐怖分子,自然包括了恐怖分子。分号上面terrorists correctly identified=全部恐怖分子数。分母terrorists incorrectly labeled as not terrorists=0。

这样我们就得到了一个完美的模型吗?

当然,不是!在我们想要最大化的指标之间存在一个权衡。在召回率的例子中,当召回率增大时,精度会减小。同样,将 100% 的乘客标记为恐怖分子的模型可能是不可用的。

统计学为我们提供了表达直觉的词汇:这个新的模型是低精度(precision)的,或者说较低的仅识别相关数据点的能力。

4.8精度

精度=真正例/(真正例+假正例):也就是在所有判为恐怖分子中,真正的恐怖分子的比例。
在这里插入图片描述
现在我们可以看到,第一个模型给所有的个体标上了非恐怖分子的标签,这个模型是不能使用的。尽管它有着近乎完美的准确率,但是它的精度和召回率都是零,因为没有 TP(真正例)

假设我们轻微地修改一下模型,然后将一个个体正确地识别为恐怖分子。现在,精度是 1(没有假正例,FP),但是召回率很低,因为实际上会有很多假反例(FN)。

假设我们走到了另一个极端,将所有的乘客标记为恐怖分子,召回率就会是 1——我们将抓住每一个恐怖分子,但是精度会特别低,我们最终会拘留很多无辜的人。换言之,随着精度的增加,召回率会降低,反之亦然。

4.9精度—召回率权衡

4.9.1.结合精度和召回率

在某些情况中,我们也许需要以牺牲另一个指标为代价来最大化精度或者召回率。

例如,在之前的例子中,在对患者进行随访检查的初步疾病筛查中,我们可能希望得到接近于 1 的召回率—我们想找到所有实际患病的患者。
如果随访检查的代价不是很高,我们可以接受较低的精度。然而,如果我们想要找到精度和召回率的最佳组合,我们可以使用 F1 score 来对两者进行结合。
在这里插入图片描述
4.9.2.可视化精度和召回率

1)混淆矩阵(confusion matrix):给定一个模型的预测标签时,它可以被用来快速计算精度和召回率。

二分类的混淆矩阵总共包含四个不同的结果:真正例(TP)、假正例(FP)、真反例(TN),以及假反例(FN)。

列表示真实值,行表示预测值。行和列的交叉点指的就是这四种结果。例如,如果我们将一个数据点预测为正例,但是它实际上是反例,那么这就是一个假正例。
在这里插入图片描述
在这里插入图片描述
2)受试者特征曲线(ROC 曲线,Receiver Operating Characteristic curve):

ROC 曲线展示了当改变在模型中识别为正例的阈值时,召回率和精度的关系会如何变化。

为了将某个病人标记为患有某种疾病(一个正例标签),我们为每种疾病在这个范围内设置一个阈值,通过改变这个阈值,我们可以尝试实现合适的精度和召回率之间的平衡。如果我们有一个用来识别疾病的模型,我们的模型可能会为每一种疾病输出介于 0 到 1 之间的一个分数,为了将某个病人标记为患有某种疾病(一个正例标签),我们为每种疾病在这个范围内设置一个阈值,通过改变这个阈值,我们可以尝试实现合适的精度和召回率之间的平衡。

ROC 曲线在 Y 轴上画出了真正例率(TPR),在 X 轴上画出了假正例率 (FPR)。TPR 是召回率,FPR 是反例被报告为正例的概率。这两者都可以通过混淆矩阵计算得到。
在这里插入图片描述
a、选择最佳的诊断界限值。ROC曲线越靠近左上角,试验的准确性就越高。最靠近左上角的ROC曲线的点是错误最少的最好阈值,其假阳性和假阴性的总数最少

b、两种或两种以上不同诊断试验对算法性能的比较。在对同一种算法的两种或两种以上诊断方法进行比较时,可将各试验的ROC曲线绘制到同一坐标中,以直观地鉴别优劣,靠近左上角的ROC曲线所代表的受试者工作最准确。亦可通过分别计算各个试验的ROC曲线下的面积(AUC)进行比较,哪一种试验的 AUC最大,则哪一种试验的诊断价值最佳。

c、在阈值为 1.0 的情况下,我们将位于图的左下方,因为没有将任何数据点识别为正例,这导致没有真正例,也没有假正例(TPR = FPR = 0)。当降低阈值时,我们将更多的数据点识别为正例,导致更多的真正例,但也有更多的假正例 ( TPR 和 FPR 增加)。最终,在阈值 0.0 处,我们将所有数据点识别为正,并发现位于 ROC 曲线的右上角 ( TPR = FPR = 1.0 )。

五、总结

对于二分类问题:

• 真正例(TP):实际上是正例的数据点被标记为正例
• 假正例(FP):实际上是反例的数据点被标记为正例
• 真反例(TN):实际上是反例的数据点被标记为反例
• 假反例(FN):实际上是正例的数据点被标记为反例

召回率和精度衡量指标:

• 召回率(R):分类模型识别所有相关实例的能力
• 精度(P):分类模型仅仅返回相关实例的能力
• F1 score:使用调和平均结合召回率和精度的指标

召回率和精度的可视化:

• 混淆矩阵:展示分类模型的真实和预测标签的对应结果。
• 受试者特征曲线(ROC 曲线):画出真正例率(TPR)和假正例率(FPR),并将此作为模型归类正例阈值的函数。
• 曲线下面积(AUC):基于 ROC 曲线下方的面积,计算分类模型总体性能的指标。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

fantasticString

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值