机器学习模型的评价指标

模型指标

0 基础:混淆矩阵

混淆矩阵是监督学习中的一种可视化工具,主要用于比较分类结果和实例的真实信息。矩阵中的每一行代表实例的预测类别,每一列代表实例的真实类别。

机器学习模型的评价指标

对应的四个象限就有四个含义:

  • 真正(True Positive , TP):被模型预测为正的正样本。
  • 假正(False Positive , FP):被模型预测为正的负样本。
  • 假负(False Negative , FN):被模型预测为负的正样本。
  • 真负(True Negative , TN):被模型预测为负的负样本。

1 准确率(Accuracy)

准确率是最常用的分类性能指标。即正确预测的“正、反例数 ” / 数据总数

计算方式:

Accuracy = (TP+TN) / (TP+FN+FP+TN)

2 三个详细指标:

2.1 精确率(Precision)

精确率容易和准确率被混为一谈。

其实,精确率只是针对预测正确的正样本而不是所有预测正确的样本。

表现为预测出是正的里面有多少真正是正的。可理解为查准率

Precision = TP/(TP+FP),即正确预测的正例数 /预测正例总数

2.2 召回率(Recall)

召回率表现出在实际正样本中,分类器能预测出多少。与真正率相等,可理解为查全率
Recall = TP/(TP+FN),即正确预测的正例数 /实际正例总数

2.3 F1 score

F值是精确率和召回率的调和值,更接近于两个数较小的那个。

所以精确率和召回率接近时,F值最大。

很多推荐系统的评测指标就是用F值的。

2/F1 = 1/Precision + 1/Recall

3 三个曲线

3.1 ROC曲线

ROC(receiver operating characteristic curve)

逻辑回归里面,对于正负例的界定,通常会设一个阈值,大于阈值的为正类,小于阈值为负类。

如果我们减小这个阀值,更多的样本会被识别为正类,提高正类的识别率,但同时也会使得更多的负类被错误识别为正类。为了直观表示这一现象,引入ROC。

根据分类结果计算得到ROC空间中相应的点,连接这些点就形成ROC curve,横坐标为False Positive Rate(FPR假正率),纵坐标为True Positive Rate(TPR真正率)。

一般情况下,这个曲线都应该处于(0,0)和(1,1)连线的上方,如图:

机器学习模型的评价指标

ROC曲线中的四个点和一条线:

  • 点(0,1):即FPR=0, TPR=1,意味着FN=0且FP=0,将所有的样本都正确分类。
  • 点(1,0):即FPR=1,TPR=0,最差分类器,避开了所有正确答案。
  • 点(0,0):即FPR=TPR=0,FP=TP=0,分类器把每个实例都预测为负类。
  • 点(1,1):分类器把每个实例都预测为正类。

总之:ROC曲线越接近左上角,该分类器的性能越好。而且一般来说,如果ROC是光滑的,那么基本可以判断没有太大的overfitting

3.2 AUC曲线

AUC(Area Under Curve)被定义为ROC曲线下的面积(ROC的积分),通常大于0.5小于1。

随机挑选一个正样本以及一个负样本,分类器判定正样本的值高于负样本的概率就是 AUC 值。

AUC值(面积)越大的分类器,性能越好,如图:

机器学习模型的评价指标

3.3 PR曲线

PRC( precision recall curve)

PR曲线的横坐标是精确率P,纵坐标是召回率R。

评价标准和ROC一样,先看平滑不平滑(蓝线明显好些)。

一般来说,在同一测试集,上面的比下面的好(绿线比红线好)。

当P和R的值接近时,F1值最大,此时画连接(0,0)和(1,1)的线,线和PRC重合的地方的F1是这条线最大的F1(光滑的情况下),此时的F1对于PRC就好像AUC对于ROC一样。

一个数字比一条线更方便调型。

机器学习模型的评价指标

有时候模型没有单纯的谁比谁好(比如图二的蓝线和青线),所以选择模型还是要结合具体的使用场景。下面是两个场景:

  • 1,地震的预测 对于地震的预测,我们希望的是RECALL非常高,也就是说每次地震我们都希望预测出来。这个时候我们可以牺牲PRECISION。情愿发出1000次警报,把10次地震都预测正确了,也不要预测100次对了8次漏了两次。
  • 2,嫌疑人定罪 基于不错怪一个好人的原则,对于嫌疑人的定罪我们希望是非常准确的。即时有时候放过了一些罪犯(recall低),但也是值得的。

当正负样本数量差距不大的情况下,ROC和PR的趋势是差不多的,但是在正负样本分布极不均衡的情况下,PRC比ROC更能真实的反映出实际情况,因为此时ROC曲线看起来似乎很好,但是却在PR上效果一般。
详见:https://www.zhihu.com/question/30643044/answer/48955833

------参考--------

参考:《机器学习分类器模型评价指标》:https://blog.csdn.net/login_sonata/article/details/54288653#commentBox