数据蛙数据分析每周作业

分类指标

2019-01-05  本文已影响3人  monster_mark

评估结果用于反应模型的好坏,必须设计合适的评估指标来测量该模型的好坏。模型的好坏是相对的,使用不同的评估指标对模型的判定会得到不一样的结果。
评估指标根据任务类型可以分为:分类指标、回归指标、聚类指标和排序指标等,本文主要关注分类指标。
分类的评价指标一般是分类准确率(accuracy):对于给定的数据集,分类正确的样本数与总的样本数之比。准确率在二分类与多分类都能应用。
对于二分类常用的指标为精确率(precision)与召回率(recall)。


混淆矩阵

根据上图的混淆矩阵可以得出精确率与召回率的定义:
TP—将正类预测为正类的样本数;
FN—将正类预测为负类的样本数;
FP—将负类预测为正类的样本数;
TN—将负类预测为负类的样本数;
精确率定义为:
P = \frac{TP}{TP + FP}
召回率定义为:
R = \frac{TP}{TP + FN}
精确率可以理解为在所有预测为正类这个事件的准确率有多高,召回率可以理解为真正的正类有多少被挑选了出来。理想情况下,精确率和召回率都是越高越好,但是事实一般相反,精确率高的时候,召回率低;召回率高的时候,精确率低。因此需要结合实际业务看更关注哪一个指标来判定模型好坏,为了达到更好效果,设计了一些综合考虑精确率与召回率的指标,如$F_1$值,$F_1$值是精确率和召回率的调和平均值:
\frac{2}{F_1} = \frac{1}{P} + \frac{1}{R}
精确率和召回率都高时,F_1值也会高。

ROC与AUC

[ROC曲线]作为常用的二分类评价指标,其全称为接收者操作特征曲线(Receiver Operating Characteristic)。该曲线纵坐标真正率(TPR),横坐标为假正率(FPR),其定义如下:
TPR = \frac{TP}{TP + FN}
FPR = \frac{FP}{FP + TN}
则ROC曲线位于横纵坐标阈值都为0-1之间,因此首先考虑4个特殊点(0,0)、(1, 1)、(0, 1)、(1, 0)。(0, 0)点表示TPR=FPR=0,即TP=FP=0,表示该分类器将所有样本都分为负类。同理,(1, 1)表示分类器将所有样本都分类为正类。(0, 1)点表示:FPR=0,TPR=1;意味着FP=0,FN=0,这样就是一个完美的分类器,正负类都分类完全正确。(1, 0)点表示TP=0, TN=0,这就是最糟糕的一个分类器,完美错过所有正确答案。综上,ROC曲线上的点越靠近左上方,那么该分类器就越好。

制作ROC曲线

每一对TPR与FPR值可以描绘出一个点,为了得到一条ROC曲线,需要调整不同的预测概率,来得到不同TPR于FPR值对,这样就可以得到一条ROC曲线。AUC(Area under the Curve of ROC)即ROC曲线下的面积,取值越大说明正确率越高。

sklearn包关于分类指标的API

sklearn.metrics模块实现了一些loss, score以及一些工具函数来计算分类性能。
一些二分类(binary classification)使用的case:

上一篇下一篇

猜你喜欢

热点阅读