分类模型性能评估指标

机器学习模型会产生的性能评估指标主要有:
准确率、错误率、灵敏度、特效度、精确率、召回率、F-Measure、AUC、ROC曲线

背景

针对一个二分类问题,将实例分成正类(positive)或者负类(negative),实际会产生如下四种情况
分类模型性能评估指标_第1张图片
1、若一个实例是正类并且被预测为正类,即为真正类(True Postive TP)
2、若一个实例是正类,但是被预测成为负类,即为假负类(False Negative FN)
3、若一个实例是负类,但是被预测成为正类,即为假正类(False Postive FP)
4、若一个实例是负类,但是被预测成为负类,即为真负类(True Negative TN)

指标定义

1、准确率
被分对的样本数除以所有的样本数,通常来说,正确率越高,分类器越好。
AUC=(TP+TN)/(TP+TN+FP+FN)
2、错误率:error rate
error rate = (FP+FN)/(TP+TN+FP+FN).错误率则与准确率相反,描述被分类器错分的比例.对某一个实例来说,分对与分错是互斥事件,所以accuracy =1 - error rate
3、灵敏度(sensitive)
sensitive = TP/P,表示的是所有正例中被分对的比例,衡量了分类器对正例的识别能力。
4、特效度(specificity)
specificity = TN/N,表示的是所有负例中被分对的比例,衡量了分类器对负例的识别能力。
5、精确率(precision)
precision=TP/(TP+FP),表示被分为正例的示例中实际为正例的比例。
6、召回率
recall=TP/(TP+FN)=TP/P=sensitve,表示的是覆盖面的度量,度量有多个正例被分为正例。
7、F-Measure
分类模型性能评估指标_第2张图片
F-Measure是Precision和Recall加权调和平均:
当参数α=1时,就是最常见的F1,也即
分类模型性能评估指标_第3张图片
可知F1综合了P和R的结果,当F1较高时则能说明试验方法比较有效。

8、ROC曲线和AUC
ROC(Receiver Operating Characteristic)曲线是以假正率(FP_rate)和假负率(TP_rate)为轴的曲线,ROC曲线下面的面积我们叫做AUC
分类模型性能评估指标_第4张图片
其中:True Positive rate = TP/(TP+FN)=recall , FPR=FP/(FP+TN),即为实际为负样本的样例中,预测为正的样本所占比例。
(1)曲线与FP_rate轴围成的面积(记作AUC)越大,说明性能越好,即图上L2曲线对应的性能优于曲线L1对应的性能。即:曲线越靠近A点(左上方)性能越好,曲线越靠近B点(右下方)曲线性能越差。
(2)A点是最完美的performance点,B处是性能最差点。
(3)位于C-D线上的点说明算法性能和random猜测是一样的–如C、D、E点。位于C-D之上(即曲线位于白色的三角形内)说明算法性能优于随机猜测–如G点,位于C-D之下(即曲线位于灰色的三角形内)说明算法性能差于随机猜测–如F点。
(4)虽然ROC曲线相比较于Precision和Recall等衡量指标更加合理,但是其在高不平衡数据条件下的的表现仍然过于理想,不能够很好的展示实际情况。
9、KS
KS=max(TPR-FPR)
评价模型时还会用到KS(Kolmogorov-Smirnov)值,,即为TPR与FPR的差的最大值,KS值可以反映模型的最优区分效果,此时所取的阈值一般作为定义好坏用户的最优阈值。

指标适用性讨论

1、准确率,查准率
在不均衡数据中,正确率无法很好地度量模型的好坏。
对于不平衡数据,精度和召回率是比正确率更好的性能评价指标。
2、错误率:error rate

3、灵敏度(sensitive)

4、特效度(specificity)

5、精确率(precision)

6、召回率,查全率
精度和召回率指标的分子一样,不同的是分母。对比混淆矩阵可以看出,精度的计算可以理解为首先将模型预测为正向的样本抽取出来(TP + FP), 然后进一步审查这些样本中有多少样本真实标签也是正向(TP)。召回率则是以真实标签为正向的样本作为参考基准(TP+FN),审查这些样本中有多少是模型预测正确的(TP)。

实际的二分类中,positive-1标签可以代表健康也可以代表生病,但一般作为positive-1的指标指的是你更关注的样本表现,比如“是垃圾邮件”“是阳性肿瘤”“将要发生地震”。
因此在肿瘤判断和地震预测等场景:
要求模型有更高的【召回率】recall,是个地震你就都得给我揪出来不能放过
在垃圾邮件判断等场景:
要求模型有更高的【精确率】precision,你给我放进回收站里的可都得确定是垃圾,千万不能有正常邮件啊
7、F-Measure

8、ROC曲线和AUC
ROC(Receiver operator characteristic )曲线和AUC(Area under the ROC curve)是一个从整体上评价二分类模型优劣的指标,其中AUC是ROC曲线与横轴之间的面积。相比于其他评价指标,ROC曲线具有一定的稳定性,它不会因为正负样本分布的变化而产生不同的曲线。现实状况中,正负样本分布不均衡的情况比较普遍,所以ROC曲线和AUC是一个重要的评价指标。
AUC = 0.5: 说明模型与偶然造成的结果效果差不多
AUC < 0.5:说明模型不如偶然造成的效果
AUC > 0.5:说明模型较好
针对于AUC的深入描述
大部分分类器的输出是概率输出,如果要计算准确率,需要先把概率转化成类别,就需要手动设置一个阈值,而这个超参数的确定会对优化指标的计算产生过于敏感的影响
AUC从Mann–Whitney U statistic的角度来解释:随机从标签为1和标签为0的样本集中分别随机选择两个样本,同时分类器会输出两样本为1的概率,那么我们认为分类器对“标签1样本的预测概率>对标签0样本的预测概率 ”的概率等价于AUC。
因而AUC反应的是分类器对样本的排序能力,这样也可以理解AUC对不平衡样本不敏感的原因了。
最常用的分类器优化及评价指标是AUC和logloss,最主要的原因是,不同于accuracy,precision等,这两个指标不需要将概率输出转化为类别,而是可以直接使用概率进行计算。
logloss的公式为
分类模型性能评估指标_第5张图片
N:样本数
M:类别数,比如上面的多类别例子,M就为4
yij:第i个样本属于分类j时为为1,否则为0
pij:第i个样本被预测为第j类的概率

你可能感兴趣的:(数据挖掘-分类)