机器学习之评估指标


评估指标 Metrics

混淆矩阵 Confusion Matrix

对于简单的二分类情况, 混淆矩阵就是如下形式:

混淆矩阵把数据和模型预测情况分为四类:

真实值是positive, 模型认为是positive的数量(True Positive=TP)
真实值是positive, 模型认为是negative的数量(False Negative=FN):这就是统计学上的第二类错误(Type II Error).
真实值是negative, 模型认为是positive的数量(False Positive=FP):这就是统计学上的第一类错误(Type I Error).
真实值是negative, 模型认为是negative的数量(True Negative=TN).

一级指标

一级指标就是对于混淆矩阵来说的, 那肯定是处于对角线上的数字越大越好, 越大说明分类正确的越多. 因此混淆矩阵也常用热图进行绘制, 能够一眼看出分类情况.

二级指标

但是,混淆矩阵里面统计的是个数,有时候面对大量的数据,光凭算个数,很难衡量模型的优劣。因此混淆矩阵在基本的统计结果上又延伸了如下4个指标,我称他们是二级指标(通过最底层指标加减乘除得到的):

  • 准确率(Accuracy) - 针对分类正确
  • 精确率(Precision) - 所有阳性中分类正确的
  • 灵敏度(Sensitivity) - 就是召回率(Recall), 也叫查全率.
  • 特异度(Specificity)
指标公式含义
准确率$Accuracy= \frac{TP+TN}{TP+TN+FP+FN}$所有分类正确的样本占样本总数的百分比.
精度$Precision=\frac{TP}{TP+FP}$所有预测阳性的样本中真实为阳性的百分比.
召回率$Recall=\frac{TP}{TP+FN}$所有真实阳性的结果中预测为阳性的百分比.
特异度$Specificity=\frac{TN}{TN+FP}$所有真实阴性的结果中预测为阴性的百分比.

三级指标

三级指标主要是$F_1\ score$ 和 $F_\beta \ score$.
$$
F_1 \ score = 2 \cdot \frac{Precision \cdot Recall} {Precision + Recall}
$$
即$F_1 \ score$ 是 $Precision$ 和 $Recall$ 的调和平均数. 将这个情况扩展到一般情况, 称之为$F_\beta \ score$.
$$
F_\beta \ score = (1+N^2) \cdot \frac{Precision \cdot Recall}{N^2\cdot Precision + Recall} = \frac{Precision \cdot Recall}{\frac{N^2}{1+N^2}\cdot Precision + \frac{1}{1+N^2}Recall}
$$
$\beta$ 的取值范围是$[0, +\infty)$, 有以下特殊情况:

  • ${\lim\limits_{N \to 0}}F_\beta \ score= Precision$
  • $\beta = 1, F_\beta = F_1\ score$
  • ${\lim\limits_{N \to +\infty}}F_\beta \ score= Recall$
  • 能够从不同的$\beta$ 值看出, 如果$\beta$ 值越小, $Precision$ 越重要, 反之$\beta$ 值越大, $Recall$ 越重要.

ROC曲线

ROC(Receiver Operating Characteristic) 受试者特性曲线. 纵坐标是true positive rate(TPR), 指的是所有实际为阳性的样本中被正确判定为阳性的比例. 横坐标是false positive rate(FPR), 指的是所有实际为阴性的样本中被错误判定为阳性的比例.
$$
\displaylines{
TPR = \frac{TP}{TP+FN} \\
FPR = \frac{FP}{FP+TN}
}
$$
曲线下方的面积成为AUC(Area Under roc Curve), 值通常在0.5到1之间, 认为面积越大的模型越好. 小于0.5的补救方法就是按照模型说的反着做.


文章作者: DaNing
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 DaNing !
评论
 上一篇
机器学习之损失函数 机器学习之损失函数
损失函数 Loss function损失函数是用来度量模型当前预测状况与损失目标的差距的函数. 均方误差 MSE也称为平方损失, L2损失, 均方误差(Mean Squared error). 有时候人们也直接将其开根号称为RMSE, 这样
2020-08-01
下一篇 
循环神经网络小结 循环神经网络小结
2020.09.07: 重写了LSTM和GRU的描述. 2020.08.22: 对部分内容进行了更新. 循环神经网络 Recurrent Neural Network面对时序型数据, 如自然语言, 乐谱, 金融数据等包含隐含的时间信息在
2020-07-30
  目录