首页 > 其他 > 详细

机器学习中的评价标准们

时间:2020-05-31 23:45:45      阅读:65      评论:0      收藏:0      [点我收藏+]

基础

对于数据测试结果 有4种情况:
真阳性(TP) 预测为正,实际也为正
假阳性(FP) 预测为正,实际为负
假阴性(FN) 预测为负,实际为正
真阴性(TN) 预测为负,实际也为负

可参考:
详解准确率、精确率、召回率、F1值等评价指标的含义

准确率

最简单、最直观的评价标准:准确率(Accuracy) ,即预测正确的结果占总样本的百分比,计算公式:
$ Accuracy = \frac{{TP + TN}}{{TP + TN + FP + FN}}$
虽然准确率能够判断总的正确率,但是在样本不均衡的情况下,并不能作为很好的指标来衡量结果。比如有9个正样本,1个负样本,预测均为正样本时,准确率达到0.9比较高,但是并不代表系统的性能好。

精确率

精确率(Precision) 是针对预测结果而言的,其含义是在被所有预测为正的样本中实际为正样本的概率(精确率代表对正样本结果中的预测准确程度,准确率则代表整体的预测准确程度),计算公式:
\(Precision = \frac{{TP}}{{TP + FP}}\)

召回率

召回率(Recall) 是针对原样本而言的,其含义是在实际为正的样本中被预测为正样本的概率,计算公式:
\(Recall = \frac{{TP}}{{TP + FN}}\)

F1 score

F分数被广泛应用在信息检索领域,用来衡量检索分类和文档分类的性能。近期在深度学习的应用中,多用作分类系统的性能指标。
F1分数(F1 Score),是统计学中用来衡量二分类模型精确度的一种指标。它同时兼顾了分类模型的精确率和召回率(一般希望精确率和召回率都很高,但实际上是矛盾的,上述两个指标是矛盾体,无法做到双高)。F1分数可以看作是模型精确率和召回率的一种调和平均,最大值是1,最小值是0,又称作平衡F分数(Balanced Score)。计算公式为:

\({F_{\rm{1}}}{\rm{ = 2/}}\left( {\frac{1}{{recall}}{\rm{ + }}\frac{1}{{precision}}} \right){\rm{ = 2}}\frac{{recall \times precision}}{{recall + precision}}\)

macro-F1

F1是针对二元分类的,那对于多元分类器,也有类似F1 score的度量方法,常用的有两种,一种叫做macro-F1(宏平均),另一种叫做micro-F1(微平均)。
简而言之,就是针对每个“类”(class),计算每个类的F1分数,然后联合起来。
宏平均F1计算方式:计算出每一个类的Precison和Recall后计算F1,最后将F1平均。

micro-F1

微平均F1分数,不需要区分类别,使用总体样本,计算出所有类别总的Precision和Recall,然后计算F1。
参考micro和macro F1 score分别是什么意思?:如果这个数据集中各个类的分布不平衡的话,更建议使用mirco-F1,因为macro没有考虑到各个类别的样本大小。

python

sklearn.metrics.f1_score(y_true, y_pred, labels=None, pos_label=1, average=’binary’, sample_weight=None)

参考源码,对于‘average‘参数,如果是二分类问题则选择参数‘binary’;如果考虑类别的不平衡性,需要计算类别的加权平均,则使用‘weighted’;如果不考虑类别的不平衡性,计算宏平均,则使用‘macro’。具体参考代码:

from sklearn.metrics import f1_score
# micro
f1_score(y_true, y_pred, average=‘micro‘)
# macro
f1_score(y_true, y_pred, average=‘macro‘)
# weighted
f1_score(y_true, y_pred, average=‘weighted‘)

拓展

根据对recall和precision的重视程度不同,有\({F_\beta}\)分数,其物理意义就是将精准率和召回率这两个分值合并为一个分值,在合并的过程中,召回率的权重是精准率的\(\beta\)倍。计算公式为:
\({F_\beta }{\rm{ = }}\left( {1 + {\beta ^2}} \right)\frac{{recall \times precision}}{{{\beta ^2} \cdot recall + precision}}\)

G分数是另一种统一精准率和召回率的系统性能评估标准。相比于F分数是准确率和召回率的调和平均数,G分数被定义为准确率和召回率的几何平均数,计算方式:
$G = \sqrt {precision \cdot recall} $

机器学习中的评价标准们

原文:https://www.cnblogs.com/ytxwzqin/p/13021983.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!