机器学习分类算法模型评价指标

概览

目前,业内对于机器学习,数据挖掘,推荐系统等算法模型都有比较流行的评价标准,这些评价标准在一定程度上反映了模型性能的优劣,如准确率(Prescision-rate),召回率(Recall-rate)还有F值(F-measure)。
这篇文章主要总结的是分类算法(二分类)的一些模型评价指标。

1.混淆矩阵

要了解准确率和召回率,先要知道什么是混淆矩阵,它反映的是预测值与真实值的预测情况,它共有四种参数(这里我们用一个二分类的例子,预测肿瘤是良性还是恶性):

1)真阳性(True-Positive,TP)

真阳性即真实值为正例,预测值也为正例。即真实情况是肿瘤是良性的,而预测也是良性的。

2)假阳性(False-Positive,FP)

假阳性即真实值为反例,但预测值为正例。即真实情况是恶性肿瘤,而预测为良性肿瘤。

3)真阴性(True-Negative,TN)

真阴性即真实值为反例,而预测值也为反例。即真实情况是恶性肿瘤,而预测也为恶性。

4)假阴性(False-Negative,FN)

假阴性即真实值为正例,而预测值为反例。即真实情况是良性肿瘤,而预测值为恶性。

构成混淆矩阵

在这里插入图片描述

2.评价指标

1)准确率(accuracy-rate)

acc=(TP+TN)/(TP+FP+TN+FN)
反映的是正确预测的数量占全体数量的比重,准确率越高,模型效果越好。

2)错误率(error-rate)

error=(FP+FN)/(TP+FP+TN+FN)
与准确率互斥,反映的是预测错误的数量占全体数量的比重
因此,error = 1 - acc

3)灵敏度(sensitive)

sensitive = TP/P,即正确被分类到正例的数量占所有真实正例数量的比重,反映了模型对于正例的识别能力。

4)特效度(specificity)

specificity = TN/N,即正确被分类到反例的数量占所有真实反例数量的比重,反映了模型对于反例的识别能力

5)精确度(precision)

precision = TP/(TP+FP),即正确被分类到正例的数量占所有被分类到正例数量的比重。

6)召回率(recall-rate)

recall = TP/(TP+FN),可以看出recall = TP/P = sensitive,与灵敏度是等价的

7)综合评价指标(F-measure)

F = ((a^2 + 1) x precision x recall) / (a ^ 2 + precison + recall)
P和R指标有时候会出现的矛盾的情况,这样就需要综合考虑他们,最常见的方法就是F-Measure(又称为F-Score)。
F-Measure是Precision和Recall加权调和平均。

8)其他评价指标

计算速度:分类器训练和预测需要的时间;

鲁棒性:处理缺失值和异常值的能力;

可扩展性:处理大数据集的能力;

可解释性:分类器的预测标准的可理解性,像决策树产生的规则就是很容易理解的,而神经网络的一堆参数就不好理解,我们只好把它看成一个黑盒子。

ROC曲线和PR曲线:

ROC曲线

ROC曲线由假阳性(x轴)和假阴性(y轴)构成的点连接而成。
例如在肿瘤预测的分类中(1表示良性,0表示恶性),有如下样本:
真实情况:(1,1,0,0,1)

而预测情况要根据所给定的阈值threshold来确定最终预测的是1还是0。因为最终的预测值p(假定预测为良性肿瘤)是一个概率值,即0<=p<=1。因此我们需要给定一个阈值来判断预测的类别,比如我们给定threshold = 0.5,当p>=0.5时,我们规定预测值为1,即良性肿瘤,others为恶性肿瘤。当给定的threshold不同,则预测的情况也不同,例如下方给定几个threshold:
先给出预测情况:(0.5,0.6,0.55,0.4,0.7)
当threshold = 0.4,则预测为:(1,1,1,1,1),
则fp-rate = FP/N = 0,tp-rate = TP/P = 1作为roc曲线上的点,同理下方的点。
当threshold = 0.5,则预测为:(1,1,1,0,1)
当threshold = 0.6,则预测为:(0,1,0,0,1)
当threshold = 0.7,则预测为:(0,0,0,0,1)
如此,生成的点连成的线就是roc曲线,而roc曲线下方的面积就是auc,而auc越大表示模型性能越好。为什么呢?
取两个极端,下图中的A点和B点,A点(0,1)表示fp-rate=0,tp-rate=1,说明什么呢?说明预测正例全是对的,而没有预测错的正例。即模型的正确率是100%。相反,B点(1,0)说明模型的正确率为0。因此当roc曲线越靠近左上角,性能越好,而越靠近右下角性能越差。因此下图L2比L1性能更好。
而C(1,1)点表示所有样本全都预测为良性肿瘤,D(0,0)表示全都预测为恶性肿瘤。
综上,当模型处于最好的情况,即最靠近左上角,那么这条线就是DAC这个没有弧度的像是直角的线,而此时的auc即DAC下方的面积也是最大的时候。
在这里插入图片描述
虽然ROC曲线相比较于Precision和Recall等衡量指标更加合理,但是其在高不平衡数据条件下的的表现仍然过于理想,不能够很好的展示实际情况。

PR曲线

即,PR(Precision-Recall)曲线。
举个例子(例子来自Paper:Learning from eImbalanced Data):
假设N_c>>P_c(即Negative的数量远远大于Positive的数量),若FP很大,即有很多N的sample被预测为P,因为:
在这里插入图片描述
因此FP_rate的值仍然很小(如果利用ROC曲线则会判断其性能很好,但是实际上其性能并不好),但是如果利用PR,因为Precision综合考虑了TP和FP的值,因此在极度不平衡的数据下(Positive的样本较少),PR曲线可能比ROC曲线更实用。

参考链接:机器学习算法中的准确率(Precision)、召回率(Recall)、F值(F-Measure)

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值