[机器学习]分类算法评估指标

分类算法评估指标

精度(Accuracy)

即正确预测的正反例数 /预测总数

对于样例集D,分类错误率定义为

$$ E(f ; D)=\frac{1}{m} \sum_{i=1}^{m} \mathbb{I}\left(f\left(\boldsymbol{x}_{i}\right) \neq y_{i}\right) $$

精度则定义为

$$ \begin{aligned} \operatorname{acc}(f ; D) &=\frac{1}{m} \sum_{i=1}^{m} \mathbb{I}\left(f\left(\boldsymbol{x}_{i}\right)=y_{i}\right) \\ &=1-E(f ; D) \end{aligned} $$

  • 对于样本类别数量严重不均衡的情况(skewed)不能用精度指标来衡量

    例如:有A类1000个,B类5个,如果我把这1005个样本都预测成A类,正确率=1000/1005=99.5%

  • 对于有倾向性的问题,往往不能用精度指标来衡量

    例如:判断这个病人是不是病危,如果不是病危错误判断为病危,那只是损失一点医务人员的时间和精力,如果是把病危的人判断为非病危状态,那损失的就是一条人命

对于以上两种情况,单纯根据Accuracy来衡量算法的优劣已经失效,这个时候就需要对目标变量的真实值和预测值做更深入的分析

混淆矩阵(confusion matrix)

对于二分类问题,可将样例根据其真实类别与学习器预测类别的组合划分为

  • 真正例(True Positive)
  • 假正例(False Positive)
  • 真反例(True Negative)
  • 假反例(False Negative)

分类结果的混淆矩阵如下

预测值0 预测值1
真实值0 TN FP
真实值1 FN TP

精准率(precision)

$$\text {precision}=\frac{T P}{T P+F P}$$

精准率就是预测为正例的那些数据里预测正确的数据个数

召回率(recall)

$$\text {recall}=\frac{T P}{T P+F N}$$

召回率就是真实为正例的那些数据里预测正确的数据个数

精准率和查全率是一对矛盾的度量,一般来说,精准率高时,召回率则偏低;而召回率高时,精准率则偏低

F1 Score

F1 Score同时关注精准率和召回率,是precision 和 recall 的调和平均值

它的值更接近于Precision与Recall中较小的值

$$ \frac{1}{F 1}=\frac{1}{2}\left(\frac{1}{\text {precision}}+\frac{1}{\text {recall}}\right) $$

$$ F 1=\frac{2 \cdot \text {precision } \cdot \text { recall}}{\text {precision }+\text {recall}} $$

PR曲线

根据学习器的预测结果对样例进行排序, 排在前面的是学习器认为“最可能”是正例的样本, 排在最后的则是学习器认为“最 不可能”是正例的样本. 按此顺序逐个把样本作为正例进行预测, 则每次可以计算出当前的精准率、召回率

以精准率为纵轴、召回率为横轴作图, 就得到了精准率-召回率曲线, 简称“P-R曲线”,显示该曲线的图称为“P-R图”

在这里插入图片描述

与ROC曲线左上凸效果好不同的是,PR曲线是右上凸效果越好

若一个学习器的P-R曲线被另一个学习器的曲线完全包住,则可断言后者的性能优于前者

ROC曲线

ROC(Receiver Operating Characteristic)受试者工作特性曲线

True Postitve Rate(真正例率):正样本中被预测对比例

$$\text {TPR}=\frac{TP}{TP+FN}$$

False Positive Rate(假正例率):负样本被预测错的比例

$$\text {FPR}=\frac{FP}{TN+FP}$$

ROC是一个以TPR为纵坐标,FPR为横坐标构造出来的一幅图

在这里插入图片描述

在ROC空间,ROC曲线越凸向左上方向效果越好,因为这说明精确率高且覆盖率大

进行学习器的比较时, 与 P-R 图相似, 若一个学习器的 ROC 曲线被另一 个学习器的曲线完全“包住”, 则可断言后者的性能优于前者; 若两个学习器的 ROC 曲线发生交叉, 则难以一般性地断言两者熟优熟劣. 此时如果一定要进行比较, 则较为合理的判据是比较 ROC曲线下的面积, 即 AUC

AUC

AUC(Area Under Curve)是一种模型分类指标,且仅仅是二分类模型的评价指标

AUC 值为 ROC 曲线所覆盖的区域面积,显然,AUC越大,分类器分类效果越好

AUC的物理意义正样本的预测结果大于负样本的预测结果的概率。所以AUC反应的是分类器对样本的排序能力。另外值得注意的是,AUC对样本类别是否均衡并不敏感,这也是不均衡样本通常用AUC评价分类器性能的一个原因

参考

机器学习评估指标

机器学习-周志华

回顾及总结--评价指标(分类指标)

你可能感兴趣的