分类算法评估指标
精度(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 评估分类器性能的一个起因
参考
机器学习评估指标
机器学习 - 周志华
回顾及总结 – 评估指标(分类指标 )