机器学习中分类任务的评价指标

学会分类是凸显人类智慧的技能之一. 如何使得机器也具备分类能力, 这便是时下机器学习的内容之一. 垃圾邮件识别, 动植物种类判断都属于分类任务. 常见的机器学习分类算法有朴素贝叶斯, 支持向量机, 决策树, 随机森林等. 如何定量地去度量一个算法的好坏呢? 为此, 我们需要引入一些分类的评价指标. 常见的评价指标有: 准确率, 精准率, 召回率, 灵敏度, 特异度,F1-score, AUC等. 下面以二分类为例:

阳性(客观)阴性(客观)
阳性(预测)TP(真阳性)FP(假阳性)
阴性(预测)FN(假阴性)TN(真阴性)

表格中的数字表示数量, 记 N N N为总体, N = T P + F P + F N + T N . N=TP+FP+FN+TN. N=TP+FP+FN+TN.

准确率Accuracy
预测正确的样本在总体中的占比. 这是最常用的分类评价指标之一. 但是它存在很多局限性,只关注了正确的样本.
A c c = T P + T N N Acc=\frac{TP+TN}{N} Acc=NTP+TN

精准率Precision
预测为阳性所有样本中真实为阳性的比例.
P r e = T P T P + F P Pre=\frac{TP}{TP+FP} Pre=TP+FPTP

召回率Recall(灵敏度)
所有真实阳性样本中预测为阳性的比例.
R e = T P T P + F N Re=\frac{TP}{TP+FN} Re=TP+FNTP

特异Specificity
所有真实阴性样本中预测为阴性的比例.
S p e = T N F P + T N Spe=\frac{TN}{FP+TN} Spe=FP+TNTN

PR曲线
PR曲线是纵坐标为Precision, 横坐标为Recall的一条曲线. 它的绘制过程如下:

样本真实类别分数样本真实类别样本
1p0.911p0.4
2p0.812n0.39
3n0.713p0.38
4p0.614n0.37
5p0.5515n0.36
6p0.5416n0.35
7n0.5317p0.34
8n0.5218n0.33
9p0.5119p0.3
10n0.50520n0.1

p表示正例(阳性), n表示负例(阴性).

取一组阈值, 依次取一个阈值 t t t, 如果分数 s c o r e > t score>t score>t, 则认为该样本为正例, 反之为负例, 从而计算出对应的Pre和Re, 这样便可以获得一组数对 { P r e i , R e i } \{Pre_i, Re_i\} {Prei,Rei}. 根据这一组数对画出的曲线就是PR曲线.

P-R曲线
F1-score
PR曲线判断模型不够定量,我们有更常用的F1值:
F 1 = 2 P R P + R F1=\frac{2PR}{P+R} F1=P+R2PR
可以看到F1值就是P和R值的调和平均值的2倍。

上述公式只是在二分类中,我们可以轻易扩展到多分类中。多分类中我们可以使用OneVsRest的策略,判断第 i i i类的分类时,把不属于第 i i i类的看做另一类,就能对每一类都算出一个 F i F_i Fi值了。使用宏平均(Macro)或者微平均(Micro)来考量多分类的效果。这两者方式计算出的结果有差异.
M a c r o F 1 = 1 N ∑ i = 1 N F i , M i c r o F 1 = 2 ∑ i = 1 N P i R i ∑ i = 1 N ( P i + R i ) Macro_{F1}=\frac{1}{N}\sum_{i=1}^{N}F_i, \quad Micro_{F1}=\frac{2\sum_{i=1}^{N}P_iR_i}{ \sum_{i=1}^{N}(P_i+R_i) } MacroF1=N1i=1NFi,MicroF1=i=1N(Pi+Ri)2i=1NPiRi

ROC曲线
ROC曲线的全称是“受试者曲线”,与PR曲线类似。它相比PR曲线能够在样本不均衡的条件下给出更加合理的结果。先看一下ROC的纵轴和横轴:纵轴是TPR,横轴是FPR,对应的计算方式是:
T P R = T P T P + F N , F P R = F P F P + T N TPR=\frac{TP}{TP+FN}, \quad FPR=\frac{FP}{FP+TN} TPR=TP+FNTP,FPR=FP+TNFP
ROC的绘制和PR曲线类似, 取一些阈值, 根据阈值计算出TPR和FPR, 阈值取的越多, 曲线越光滑.
在这里插入图片描述在这里插入图片描述
ROC曲线落在[0,1]x[0,1]单位正方形区域中. 越靠近(0,1)表示表示的模型越好, 如何模型A的ROC曲线包住了模型B的ROC曲线, 说明模型A更好.

AUC值
AUC值就是ROC下方的面积. 值越大, 模型越好.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值