机器学习中的常见评价指标

一些定义

  • TP,True Positive
  • FP,False Positive
  • TN,True Negative
  • FN,False Negative
    如何理解,Postitive和Negative表示预测为正类还是负类,True和False表示预测正确还是错误
    这样就可以的到
  • TP,True Positive 预测正确且预测为正类,即正预测为正
  • FP,False Positive 预测错误且预测为正类,即负预测为正
  • TN,True Negative 预测正确且预测为负类,即负预测为负
  • FN,False Negative 预测错误且预测为负类,即正预测为负
    扩展到多分类
  • TP_i是指分类i的True Positive;
  • FP_i是指分类i的False Positive;
  • TN_i是指分类i的True Negative;
  • FN_i是指分类i的False Negative

准确率(Accuracy)

即预测正确的占全部的比值,预测正确的包括正到正,负到负,因此计算公式为
accuracy = \frac{(TP+TN)}{(TP+FN+FP+TN)}

精确率(precision)

即预测为正类的有多少是正类
precision = \frac{TP}{TP+FP}

召回率(recall)

有多少正类被正确预测了
recall = \frac{TP}{TP+FN}

F1值(F1-score)

二分类

精确率和召回率的调和均值,可以一定程度反应模型稳健性
F_1=\frac{2}{\frac{1}{\text{recall}} + \frac{1}{\text{precision}}}=2\frac{\text{recall}\times \text{precision}}{\text{recall} + \text{precision}=}=\frac{2TP}{2TP + FP + FN}

多分类的情况

macro-F1

  • macro精度,所有类别精度的平均
    \text{precision}_{i}=\frac{TP_i}{TP_i+FP_i} \\ \text{precision}_{ma}=\frac{\text{precision}_{1}+\text{precision}_{2}+\text{precision}_{3}}{3}
  • macro召回,所有召回的平均
    \text{recall}_{i}=\frac{TP_i}{TP_i+FN_i} \\ \text{recall}_{ma}=\frac{\text{recall}_{1}+\text{recall}_{2}+\text{recall}_{3}}{3}
  • macro F-1公式
    F_{1, ma}=2\frac{\text{recall}_{ma}\times \text{precision}_{ma}}{\text{recall}_{ma} + \text{precision}_{ma}}

micro-F1

\text{precision}_{mi}=\frac{TP_1+TP_2+TP_3}{TP_1+FP_1+TP_2+FP_2+TP_3+FP_3} \\ \text{recall}_{mi}=\frac{TP_1+TP_2+TP_3}{TP_1+FN_1+TP_2+FN_2+TP_3+FN_3} \\ F_{1, mi}=2\frac{\text{recall}_{mi}\times \text{precision}_{mi}}{\text{recall}_{mi} + \text{precision}_{mi}}

一些讨论

[1] https://www.zhihu.com/question/30643044
[2] https://www.zhihu.com/question/47980482
[3] https://www.zhihu.com/question/19645541

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容