Metrics

precision、Recall、specificity

  • T P i TP_i TPi是指分类i的True Positive;预测为正样本,实际也为正样本的样本数
  • F P i FP_i FPi是指分类i的False Positive;预测为正样本,实际为负样本的样本数
  • T N i TN_i TNi是指分类i的True Negative;预测为负样本,实际也为负样本的样本数
  • F N i FN_i FNi是指分类i的False Negative;预测为负样本,实际为正样本的样本数

精确率(Precision) P = T P T P + F P P = \frac{TP}{TP + FP } P=TP+FPTP
召回率(Recall) R = T P T P + F N R = \frac{TP}{TP + FN } R=TP+FNTP
准确率(Accuracy) A c c = T P + T N T P + F N + F P + T N Acc = \frac{TP+TN}{TP + FN+FP + TN } Acc=TP+FN+FP+TNTP+TN
特异性(specificity) S = T N F P + T N S = \frac{TN}{FP + TN } S=FP+TNTN

假如有100个样本,其中1个正样本,99个负样本:

  • 如果模型的预测只输出0,那么准确率是99%,精确率和召回率为0。
  • 如果模型的预测只输出1,那么准确率是1%,精确率为1%,召回率为100%。
  • 这时候用哪一个来衡量模型的好坏显然都是不适合的。
  • 对于不平衡的二分类问题,F1score和AUC的评价指标更为恰当。

F1score

F1分数可以看作模型准确率和召回率的一种加权平均,最大值是1,最小值是0,值越大意味着模型越好。
F1用来衡量二元分类器性能。 micro F1score和macro F2score用来衡量多元分类器性能。

F1score

F 1 = 2 1 P + 1 R = 2 P ∗ R P + R F_1=\frac{2}{ \frac{1}{P} + \frac{1}{R}}=\frac{2P*R}{P + R} F1=P1+R12=P+R2PR参数𝛽衡量PR两者关系 F β = ( 1 + β 2 ) ∗ P ∗ R β 2 ∗ P + R F_\beta = \frac{(1+\beta^2)*P*R}{\beta^2*P + R} Fβ=β2P+R(1+β2)PR如果𝛽>1,召回率有更大影响,如果𝛽<1,精确率有更大影响。当𝛽=1,精确率和召回率影响力相同,和F1形式一样。

macro F1score

假设对于一个多分类问题,有三个类,分别记为1、2、3,

  1. 分别计算每个类的precision, P i P_i Pi
  2. 每个类的recall, R i R_i Ri
  3. 随后计算每个类的F1score:F1,F2,F3
  4. macro F1score就是: m a c r o F 1 s c o r e = ( F 1 + F 2 + F 3 ) 3 macro F1score=\frac{(F1+F2+F3)}{3} macroF1score=3(F1+F2+F3)

micro F1score

如果这个数据集中各个类的分布不平衡的话,更建议使用mirco-F1,因为macro没有考虑到各个类别的样本大小。

  1. micro precision P m i = T P 1 + T P 2 + T P 3 T P 1 + T P 2 + T P 3 + F P 1 + F P 2 + F P 3 P_{mi}=\frac{TP_1+TP_2+TP_3}{TP_1+TP_2+TP_3+FP_1+FP_2+FP_3} Pmi=TP1+TP2+TP3+FP1+FP2+FP3TP1+TP2+TP3

  2. micro recall R m i = T P 1 + T P 2 + T P 3 T P 1 + T P 2 + T P 3 + F N 1 + F N 2 + F N 3 R_{mi}=\frac{TP_1+TP_2+TP_3}{TP_1+TP_2+TP_3+FN_1+FN_2+FN_3} Rmi=TP1+TP2+TP3+FN1+FN2+FN3TP1+TP2+TP3

  3. 则micro F1score为 m i c r o F 1 s c o r e = 2 P m i ∗ R m i P m i + R m i micro F1score=\frac{2P_{mi}*R_{mi}}{P_{mi} + R_{mi}} microF1score=Pmi+Rmi2PmiRmi

RoC曲线和PR曲线

  1. 灵敏度(true positive rate ,TPR),所有实际正例中,正确识别的正例比例。和召回率的表达式相同: T P R = T P T P + F N TPR = \frac{TP}{TP + FN } TPR=TP+FNTP
  2. 特异度(false positive rate, FPR),所有实际负例中,错误识别为正例的比例: F P R = F P F P + T N FPR = \frac{FP}{FP +TN} FPR=FP+TNFP
    在这里插入图片描述
  3. 以TPR为y轴,以FPR为x轴,就得到了RoC曲线。TPR越高,FPR越小,模型和算法就越高效,也就是画出来的RoC曲线越靠近左上越好。RoC曲线下方的面积越大则模型越优,所以RoC曲线下的面积,即AUC(Area Under Curve)值可作为算法和模型好坏的标准。
  4. 以精确率为y轴,以召回率为x轴,就得到了PR曲线。精确率越高,召回率越高,模型和算法就越高效,也就是画出来的PR曲线越靠近右上越好。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值