Model Evaluation

confusion matrix

true class \fitted class10total
1TPFNP
0FPTNN

总体衡量

  1. accuracy(精度)
    T P + T N P + N \frac{TP+TN}{P+N} P+NTP+TN
  2. error rate(误分率)
    F P + F N P + N \frac{FP+FN}{P+N} P+NFP+FN

查准率(precision)
T P T P + F P \frac{TP}{TP+FP} TP+FPTP

查全率(recall)
T P T P + F N \frac{TP}{TP+FN} TP+FNTP
如果希望recall 高,把所有人都预测为坏蛋(会破1)

这里需要阈值度量,阈值越高,查准率越高,阈值越低,查全率越高。

F1度量
希望precision和recall的调和平均
F 1 = 2 P R P + R F1=\frac{2PR}{P+R} F1=P+R2PR
p和r越大,F1越大,查全率升高的时候,查准率会降低

F β F_\beta Fβ度量
F β = ( 1 + β 2 ) P R R + β 2 p = ( 1 + β 2 ) 1 P + β 2 1 R F_\beta=\frac{(1+\beta^2)PR}{R+\beta^2 p}=\frac{(1+\beta^2)}{\frac{1}{P}+\beta^2 \frac{1}{R}} Fβ=R+β2p(1+β2)PR=P1+β2R1(1+β2)

β > 1 \beta>1 β>1,recall比较重要,否则,precision 比较重要

ROC 曲线和 AUC

roc原理:
如果一个分类器,可以把正例的概率预测的比负例的概率高,那么这应该是一个好的分类器

roc曲线
横轴:FPR(假正例率)真正的负例里面的错分率
F P R = F P T N + F P = F P N FPR=\frac{FP}{TN+FP}=\frac{FP}{N} FPR=TN+FPFP=NFP

纵轴:TPR(真正例率)真正的正例里面分对的概率
T P R = T P T P + F N = T P P TPR=\frac{TP}{TP+FN}=\frac{TP}{P} TPR=TP+FNTP=PTP

comment

  1. 如果一个分类器的roc曲线可以将另外一个包裹,证明一致的由于后者
  2. 一般TPR高的时候,FPR也高,如果我们将阈值设为0,那么TPR=FDR=1
    将阈值设为1,那么FPR=TPR=0

AUC: roc曲线包裹的面积
在有限样本下,ROC曲线可以这样绘制

  1. 将阈值设值成最大,将所有的子例预测为反例,此时 TPR=FPR=0
  2. 将所有样本预测值从低到高排序,将阈值依次设为预测值
  3. 设前一个点的标记为 ( x , y ) (x,y) (x,y),如果为真正例,下一个点的坐标, ( x , y + 1 P ) (x,y+\frac{1}{P}) (x,y+P1),否则 ( x + 1 N , y ) (x+\frac{1}{N},y) (x+N1,y)

定义排序损失如下, m + = p m^{+}=p m+=p , m − = N m^{-}=N m=N, D + D^+ D+ 为正例的集合, D − D^- D 为负例的集合
l r a n k = 1 m + m − ∑ x ∈ D + ∑ x ∈ D − ( I ( f ( x + ) < f ( x − ) ) + 1 2 I ( f ( x + ) = f ( x − ) ) ) l_{rank}=\frac{1}{m^+m^-}\sum_{x\in D^+}\sum_{x\in D^-}(I(f(x^+)<f(x^-))+\frac{1}{2}I(f(x^+)=f(x^-))) lrank=m+m1xD+xD(I(f(x+)<f(x))+21I(f(x+)=f(x)))

A U C = 1 − l r a n k AUC=1-l_{rank} AUC=1lrank

成本收益曲线

成本: T P + F P P + N \frac{TP+FP}{P+N} P+NTP+FP
收益:recall T P P \frac{TP}{P} PTP
成本为1的时候,收益也为1
在这里插入图片描述

多次度量

k次实验取平均值进行度量
也有可能通过假设检验比较两个分类器的优劣

类别不均衡

设置阈值,若 p i 1 − p i > m + m − \frac{p_i}{1-p_i}>\frac{m_+}{m_-} 1pipi>mm+则预测为正例,不再用1作为cutoff
过采样
smote算法,对正例进行插值产生新正例
欠采样
easyensemble,将反例划分为几个子集,分别学习,再用集成学习汇总结果

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值