分类器性能的评估

1、分类模型混淆矩阵

混淆矩阵评估分类模型的性能:
根据模型正确和错误预测的检验记录计数进行评估,这些计数存放在混淆矩阵表格中

f 01 f_{01} f01:代表原本属于类0但被误分为类1的记录数
根据混淆矩阵,被模型正确预测的样本总数是 ( f 11 + f 00 ) (f_{11}+f_{00}) (f11+f00),被错误预测的样本总数是 ( f 10 + f 01 ) (f_{10}+f_{01}) (f10+f01)

准确率:

准确率 = 正确预测数 预测总数 = f 11 + f 00 f 11 + f 10 + f 00 + f 01 \mathrm{准确率}=\frac{\mathrm{正确预测数}}{\mathrm{预测总数}}=\frac{f_{11}+f_{00}}{f_{11}+f_{10}+f_{00}+f_{01}} 准确率=预测总数正确预测数=f11+f10+f00+f01f11+f00

错误率:

错误率 = 错误预测数 预测总数 = f 10 + f 01 f 11 + f 10 + f 00 + f 01 \mathrm{错误率}=\frac{\mathrm{错误预测数}}{\mathrm{预测总数}}=\frac{f_{10}+f_{01}}{f_{11}+f_{10}+f_{00}+f_{01}} 错误率=预测总数错误预测数=f11+f10+f00+f01f10+f01
与上图表示的混淆矩阵含义一致,下图使用符号来表达混淆矩阵:

在谈到混淆矩阵列出的计数时,常用到下面的术语:

  • 真正(True Positive, TP),对应于被分类模型正确预测的正样本数。
  • 假负(False Negative, FN),对应于被分类模型错误预测为负类的正样本数。
  • 假正(False Positive, FP),对应于被分类模型错误预测为正类的负样本数。
  • 真负(True Negative, TN),对应于被分类模型正确预测的负样本数。

精确率 P

(Precision,又叫查准率、精度) 考察预测的结果中正例预测准不准确,看预测结果为正例中预测正确的有多少。
P = T P T P + F P P =\frac{ TP }{TP+FP} P=TP+FPTP

召回率 R

(Recall,又叫查准率) 可以理解称原始样本中那么多的正例,预测的时候猜对了多少。
R = T P T P + F N R =\frac{ TP }{TP+FN} R=TP+FNTP

F-score:

精确率和召回率是一对矛盾的度量,一般来说,精确率高时,召回率往往偏低;而召回率高时,精确率往往偏低。因而人们设计了一些综合考虑精确率和召回率的性能度量,其中常用的度量指标有F1-score.
F 1 = 2 × R × P R + P = 2 × T P 2 × T P + F P + F N F_{1} = \frac{2 \times R \times P}{R+P} = \frac{2\times TP}{2\times TP+FP+FN} F1=R+P2×R×P=2×TP+FP+FN2×TP
F 1 F_{1} F1 表示精确率和召回率的调和均值,即
F 1 = 2 1 R + 1 P F_{1} = \frac{2}{\frac{1}{R}+\frac{1}{P}} F1=R1+P12
因此,一个高的 F 1 F_{1} F1度量值确保精确率和召回率都比较高。

F β F_{\beta} Fβ ,更一般地讲,F-score有一个参数 β \beta β用来调节R和P两部分的比例;这样的F-score也被记作 F β F_{\beta} Fβ,带有这个参数的计算公式为:
F β = ( β 2 + 1 ) × R × P R + P + β 2 = ( β 2 + 1 ) × T P ( β 2 + 1 ) T P + β 2 F P + F N F_{\beta} = \frac{(\beta^{2}+1) \times R \times P}{R+P+\beta^{2}} = \frac{(\beta^{2}+1) \times TP}{(\beta^{2}+1)TP+\beta^{2}FP+FN} Fβ=R+P+β2(β2+1)×R×P=(β2+1)TP+β2FP+FN(β2+1)×TP
其中 β > 0 \beta>0 β>0度量了召回率对精确率的相对重要性, β = 1 \beta=1 β=1时退化为标准的 F 1 F_{1} F1 β > 1 \beta>1 β>1时召回率有更大的影响; β < 1 \beta<1 β<1时精确率有更大的影响。

2、ROC与AUC

接受者操作特征(Receiver Operating Characteristic, ROC)曲线是显示分类器真正率和假正率之间折中的一种图形化方法。AUC(Area Under ROC Curve)是通过对ROC曲线下各部分的面积求和而得。

上一小节提到的混淆矩阵中的计数可以用百分比的形式表示,下面列出的几个用百分比形式表示的术语:

  • 真正率:(True Positive Rate, TPR)或灵敏度(sensitivity)定义为被模型正确预测的正样本的比例,即: T P R = T P T P + F N TPR = \frac{TP}{TP+FN} TPR=TP+FNTP
  • 真负率:(True Negative Rate, TNR)或特指度(specificity)定义为被模型正确预测的负样本的比例,即: T N R = T N T N + F P TNR = \frac{TN}{TN+FP} TNR=TN+FPTN
  • 假正率:(False Positive Rate, FPR)定义为被预测为正类的负样本的比例,即 F P R = F P T N + F P FPR = \frac{FP}{TN+FP} FPR=TN+FPFP
  • 假负率:(False Negative Rate, FNR)定义为被预测为负类的正样本的比例,即 F N R = F N T P + F N FNR = \frac{FN}{TP+FN} FNR=TP+FNFN

ROC曲线

在一个ROC曲线中,真正率(TPR)沿y轴绘制,假正率(FPR)绘制在x轴上。

ROC曲线上面有几个关键点,它们有公认的解释。

  • (TPR=0, FPR=0):把每个实例都预测为负类的模型。
  • (TPR=1, FPR=1):把每个实例都预测为正类的模型。
  • (TPR=1, FPR=0):理想模型。

一个好的分类模型应该尽可能地靠近ROC曲线图的左上角,而一个随机猜测的模型应位于链接点(TPR=0, FPR=0)和(TPR=1, FPR=1)的主对角线上。

ROC曲线有助于比较不同分类器的相对性能,下图显示了一对分类器 M 1 M_{1} M1 M 2 M_{2} M2的ROC曲线。在下图中当FPR小于0.36时, M 1 M_{1} M1要好于 M 2 M_{2} M2, 而FPR大于0.36时 M 2 M_{2} M2较好。很明显这两个分类器各有各的长处。

AUC

ROC曲线下方的面积(AUC)提供了评价模型的平均性能的另一种方法。如果模型时完美的,则在ROC曲线下面的面积等于1.如果模型仅仅是简单随机猜测,则ROC曲线下方的面积等于0.5。如果一个模型好于另一个,则它的ROC曲线下方面积较大。

绘制ROC曲线

为绘制ROC曲线,分类器应当输出连续值,即判为某一类的概率,而不是预测的类标号。具体过程如下:

① 对检验记录的正类的连续输出值(即分类器连续输出某一类的可能概率值)递增排序。

② 选择一个小于最小值的一个值为阈值,把高于阈值的记录指派为正类。这种方法等价于把所有的检验实例都分为正类。此时,所有的正样本都被正确分类,同时所有的负样本都被错误分类。所以 TPR=FPR =1。

③ 增大阈值,这时真正率会减小,假正率也会减小。

④ 重复步骤③,并相应地更新真正率和假正率,直到阈值大于检验记录的最大值。

⑤ 根据记录的真正率和假正率画出ROC曲线

3、不纯性度量

其中:t为样本总数,i为某类样本数

(1) 熵(Entropy)

E n t r o p y ( t )    =    − ∑    i = 0 c − 1 p ( i t ) × ln ⁡ ( p ( i t ) ) Entropy(t)\;=\;-\overset{c-1}{\underset{i=0}{\sum\;}}p(\frac it)\times\ln(p(\frac it)) Entropy(t)=i=0c1p(ti)×ln(p(ti))

(2) 基尼系数(Gini)

G i n i ( t )    =    1 − ∑    i = 0 c − 1 [ p ( i t ) ] 2 Gini(t)\;=\;1-\overset{c-1}{\underset{i=0}{\sum\;}}\lbrack{p(\frac it)\rbrack}^2 Gini(t)=1i=0c1[p(ti)]2

(3) 分类误差(Classification Error)

C E ( t )    =    1    −    m a x i [ p ( i t ) ] CE(t)\;=\;1\;-\;\underset i{max}\lbrack p(\frac it)\rbrack CE(t)=1imax[p(ti)]

(4) 增益 ( △ ) (\triangle) ()

比较父结点(划分前)的不纯程度和子女结点(划分后)的不纯程度,他们的差越大,测试的条件越好。增益∆是一种可以用来确定划分效果的标准

△    =    I ( p a r e n t )    −    ∑ j = 1 k N ( v j ) N I ( v j ) \triangle\;=\;I(parent)\;-\;\sum_{j=1}^k\frac{N(v_j)}NI(v_j) =I(parent)j=1kNN(vj)I(vj)


I(parent):父结点的不纯性度量,是一个不变的值
N:父结点上的记录总数
N ( v j ) N(v_j) N(vj):与子女结点 v j v_j vj相关联的记录个数
k:属性值的个数
信息增益 ( △ i n f o ) (\triangle_{info}) (info):当选择熵(Entropy)作为 I(.) 的不纯性度量时,熵的差就是信息增益 ( △ i n f o ) (\triangle_{info}) (info)
持续整理中

参考

《数据挖掘导论》,人民邮电出版社出版社
《机器学习》,周志华著
《分类模型的性能比较:如何绘制ROC曲线?》,统计学之家

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值