【概念+实例】一文搞懂机器学习中的准确率、精确率、召回率、F1分数

概念

机器学习中,对于二分类的问题,我们一般通过准确率(Accuracy)、精确率(Precision)、召回率(Recall)、F1分数等指标来评测模型的好坏,之前一直没搞明白是怎么计算的,今天终于弄清楚来,于是把它们记录下来。

混淆矩阵(Confusion Matrix)

先看一个概念混淆矩阵,它是一种特定的矩阵用来呈现算法性能的可视化效果,通常是监督学习(非监督学习,通常用匹配矩阵:matching matrix)。其每一列代表预测值,每一行代表的是实际的类别。这个名字来源于它可以非常容易的表明多个类别是否有混淆(也就是一个class被预测成另一个class)。

为什么要先看它,因为计算准确率、精确率、召回率需要通过其中不同维度的值来计算,看下表:

PositiveNegative
TrueTrue Positive(TP)True Negative(TN)
FalseFalse Positive(FP)False Negative(FN)

解释一下表格中的参数概念(这里的正负只是一个代称,就是描述一个对立的概念):
True Positive(真正例, TP):将正类预测为正类数
True Negative(真负例, TN):将负类预测为负类数
False Positive(假正例, FP):将负类预测为正类数
Flase Negative(假负例, FN):将正类预测为负类数

通俗点说就是,True这一行,预测的都是正确的,正为正,负为负,False这一行,预测的都是错误的,正的被预测为负的,负的被预测为正的

准确率 Accuracy

准确率可以理解为所有数据中,预测正确的占比多少:

Accuracy = T P + T N T P + T N + F P + F N {TP+TN} \over {TP+TN+FP+FN} TP+TN+FP+FNTP+TN

精确率 Precision

精确率可以理解为正例样本在所有预测为正例样本中的占比:

Precision = T P T P + F P {TP} \over {TP+FP} TP+FPTP

召回率 Recall

召回率可以理解为预测正确的正例样本在所有真正正例样本中的占比:

Recall = T P T P + F N {TP} \over {TP+FN} TP+FNTP

F1分数

F1分数是精确率与召回率的调和平均数,就是综合考虑精确率与召回率的一个评价指标:

F1 = 2 × P r e c i s i o n × R e c a l l P r e s s i o n + R e c a l l {2×Precision×Recall} \over {Pression+Recall} Pression+Recall2×Precision×Recall

举个例子

举个例子看一下就懂了:

序列号12345678910
真实喜欢与否TrueTrueFalseFalseTrueTrueFalseTrueTrueFalse
预测喜欢与否TrueTrueTrueFalseTrueTrueTrueFalseTrueFalse

根据上表:
TP(真正例),原本为True,预测也为True的个数一共是5个;
FN(假负例),原本为True,预测为False的个数一共是1个;
TN(真负例),原本为False,预测也为False的个数一共是2个;
FP(假正例),原本为False,预测为True的个数一共是2个。

所以根据公式,此时:

准确率Accuracy = T P + T N T P + T N + F P + F N {TP+TN} \over {TP+TN+FP+FN} TP+TN+FP+FNTP+TN = 5 + 2 5 + 2 + 2 + 1 {5+2} \over {5+2+2+1} 5+2+2+15+2*100% = 70%

精确率Pression = T P T P + F P {TP} \over {TP+FP} TP+FPTP = 5 5 + 2 {5} \over {5+2} 5+25*100% = 71.4%

召回率Recall= T P T P + F N {TP} \over {TP+FN} TP+FNTP = 5 5 + 1 {5} \over {5+1} 5+15*100% = 83.3%

F1分数 = 2 × P r e c i s i o n × R e c a l l P r e s s i o n + R e c a l l {2×Precision×Recall} \over {Pression+Recall} Pression+Recall2×Precision×Recall = 76.92%

总结

绝大多数情况下,在模型评价中,这些值越大越好

如果有用的话,记得点赞、评论、关注哦!

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值