机器学习性能评价指标汇总

2020-09-10 11:04:16 浏览数 (1)

1 分类

1.1 混淆矩阵

  • True Positive(真正, TP):将正类预测为正类数.
  • True Negative(真负 , TN):将负类预测为负类数.
  • False Positive(假正, FP):将负类预测为正类数 → 误报 (Type I error).
  • False Negative(假负 , FN):将正类预测为负类数 → 漏报 (Type II error).

关系如下表所示:

预测值=1

预测值=0

真实值=1

TP

FN

真实值=0

FP

TN

1.1.1 准确率 Accuracy, ACC

ACC(Accuracy) = frac{TP TN}{TP TN FP FN}

注:在正负样本不平衡的情况下,准确率这个评价指标有很大的缺陷。比如在互联网广告里面,点击的数量是很少的,一般只有千分之几,如果用acc,即使全部预测成负类(不点击)acc 也有 99% 以上,没有意义

1.1.2 精确率 或 查准率 Precision, P

P=frac{TP}{TP FP}

注: 精确率(precision)和准确率(accuracy)是不一样的

1.2.3 召回率 或 查全率 Recall, R

R=frac{TP}{TP FN}

1.2.4 F1 测量值

frac{2}{F1} = frac{1}{P} frac{1}{R} \ F1 = frac{2TP}{2TP FP FN}

注: F1 是精确率和召回率的调和均值

1.3 AUC

AUC 是 ROC (Receiver Operating Characteristic) 曲线以下的面积, 介于0.1和1之间。Auc作为数值可以直观的评价分类器的好坏,值越大越好。

1.3.1 ROC 曲线

这里不赘述ROC的一些细节,参考ROC和AUC介绍以及如何计算AUC

ROC曲线关注两个指标:

true~positive~rate: TPR = frac{TP}{TP FN}\ false~positive~rate: FPN = frac{FP}{FP TN}

ROC 曲线如图(a)所示,横坐标是false positive rate, FPN, 纵坐标是true positive rate, TPR

首先AUC值是一个概率值,当你随机挑选一个正样本以及负样本,当前的分类算法根据计算得到的Score值将这个正样本排在负样本前面的概率就是AUC值,AUC值越大,当前分类算法越有可能将正样本排在负样本前面,从而能够更好地分类。

简单说:AUC值越大的分类器,正确率越高 :

  • AUC=1,完美分类器,采用这个预测模型时,不管设定什么阈值都能得出完美预测。绝大多数预测的场合,不存在完美分类器。
  • 0.5<AUC<1,优于随机猜测。这个分类器(模型)妥善设定阈值的话,能有预测价值。
  • AUC=0.5,跟随机猜测一样(例:丢铜板),模型没有预测价值。
  • AUC<0.5,比随机猜测还差;但只要总是反预测而行,就优于随机猜测,因此不存在 AUC<0.5 的情况。

1.3.2 为什么要使用ROC曲线 和 AUC 评价分类器

既然已经这么多标准,为什么还要使用ROC和AUC呢?因为ROC曲线有个很好的特性:当测试集中的正负样本的分布变换的时候,ROC曲线能够保持不变。在实际的数据集中经常会出现样本类不平衡,即正负样本比例差距较大,而且测试数据中的正负样本也可能随着时间变化。下图是ROC曲线和Presision-Recall曲线的对比:

  • (a)和 (c)为Roc曲线,(b)和(d)为Precision-Recall曲线。
  • (a)和(b)展示的是分类其在原始测试集(正负样本分布平衡)的结果,(c)(d)是将测试集中负样本的数量增加到原来的10倍后,分类器的结果,可以明显的看出,ROC曲线基本保持原貌,而Precision-Recall曲线变化较大。

2 回归

2.1 平均绝对误差

1. http://www.cnblogs.com/dlml/p/4403482.html

  1. https://beader.me/2013/12/15/auc-roc/
  2. http://alexkong.net/2013/06/introduction-to-auc-and-roc/

0 人点赞