分类算法评价标准

一、引言

分类算法有很多,不同分分类算法又用很多不同的变种。不同的分类算法有不同的特定,在不同的数据集上表现的效果也不同,我们需要根据特定的任务进行算法的选择,如何选择分类,如何评价一个分类算法的好坏,前面关于决策树的介绍,我们主要用的正确率(accuracy)来评价分类算法。

正确率确实是一个很好很直观的评价指标,但是有时候正确率高并不能代表一个算法就好。比如某个地区某天地震的预测,假设我们有一堆的特征作为地震分类的属性,类别只有两个:0:不发生地震、1:发生地震。一个不加思考的分类器,对每一个测试用例都将类别划分为0,那那么它就可能达到99%的正确率,但真的地震来临时,这个分类器毫无察觉,这个人类带来的损失是巨大的。为什么99%的正确率的分类器却不是我们想要的,因为这里数据分布不均衡,类别1的数据太少,完全错分类别1依然可以达到很高的正确率却忽视了我们关注的东西。接下来详细介绍一下分类算法的评价指标。

二、评价指标

1、几个常用的术语

这里首先介绍几个 常见 的 模型评价术语,现在假设我们的分类目标只有两类,计为正例(positive)和负例(negtive)分别是:

1)True positives(TP):  被正确地划分为正例的个数,即实际为正例且被分类器划分为正例的实例数(样本数);

2)False positives(FP): 被错误地划分为 正 例的个数,即 实际为负例但被分类器划分为正例的实例数;

3)False negatives(FN):被 错误地划分为 负 例的个数,即 实际为 正 例但被分类器划分为 负 例的实例数;

4)True  negatives(TN):  被正确地划分为 负 例 的个数 ,即实际为 负 例且被分类器划分为 负 例的实例数。

预测类别

 

Yes

No

总计

Yes

TP

FN

P (实际为Yes )

No

FP

TN

N (实际为No )

总计

P’ (被分为Yes )

N’ (被分为No )

P+N

上图是这四个术语的混淆矩阵,我只知道FP叫伪阳率,其他的怎么称呼就不详了。注意P=TP+FN表示实际为正例的样本个数,我曾经误以为实际为正例的样本数应该为TP+FP,这里只要记住True、False描述的是分类器是否判断正确,Positive、Negative是分类器的分类结果。如果 正例计为1、负例计为-1,即positive=1、negtive=-1,用1表示True,-1表示False,那么实际的类标=TF*PN,TF为true或false,PN为positive或negtive。例如True positives(TP)的实际类标=1*1=1为正例,False positives(FP)的实际类标=(-1)*1=-1为负例,False negatives(FN)的实际类标=(-1)*(-1)=1为正例,True negatives(TN)的实际类标=1*(-1)=-1为负例。

2、评价指标

1)正确率(accuracy)

正确率是我们最常见的评价指标, accuracy = (TP+TN)/(P+N),这个很容易理解,就是被分对的样本数除以所有的样本数,通常来说,正确率越高,分类器越好;

2)错误率(error rate)

错误率则与正确率相反,描述被分类器错分的比例,error rate = (FP+FN)/(P+N),对某一个实例来说,分对与分错是互斥事件,所以 accuracy =1 -  error rate;

3)灵敏度(sensitive)

sensitive = TP/P,表示的是所有正例中被分对的比例,衡量了分类器对正例的识别能力;

4)特效度(specificity)

specificity = TN/N, 表示的是所有负例中被分对的比例,衡量了分类器对负例的识别能力;

5)精度(precision)

精度是精确性的度量,表示被分为正例的示例中实际为正例的比例, precision=TP/(TP+FP);

6)召回率(recall)

召回率是覆盖面的度量,度量有多个正例被分为正例, recall=TP/(TP+FN)=TP/P=sensitive,可以看到召回率与灵敏度是一样的。

7)其他评价指标

  • 计算速度:分类器训练和预测需要的时间;
  • 鲁棒性:处理缺失值和异常值的能力;
  • 可扩展性:处理大数据集的能力;
  • 可解释性:分类器的预测标准的可理解性,像决策树产生的规则就是很容易理解的,而神经网络的一堆参数就不好理解,我们只好把它看成一个黑盒子。

对于某个具体的分类器而言,我们不可能同时提高所有上面介绍的指标,当然,如果一个分类器能正确分对所有的实例,那么各项指标都已经达到最优,但这样的分类器往往不存在。比如我们开头说的地震预测,没有谁能准确预测地震的发生,但我们能容忍一定程度的误报,假设1000次预测中,有5次预测为发现地震,其中一次真的发生了地震,而其他4次为误报,那么正确率从原来的999/1000-99.9%下降到996/1000=99.6,但召回率从0/1=0%上升为1/1=100%,这样虽然谎报了几次地震,但真的地震来临时,我们没有错过,这样的分类器才是我们想要的,在一定正确率的前提下,我们要求分类器的召回率尽可能的高。


(http://blog.csdn.net/xiaoyu714543065/article/details/8559741)

查准率和查全率反映了分类器分类性能的两个方面。如果综合考虑查准率与查全率,可以得到新的评价指标F1测试值,也称为综合分类率:

 

      为了综合多个类别的分类情况,评测系统整体性能,经常采用的还有微平均F1(micro-averaging)和宏平均F1(macro-averaging )两种指标。宏平均F1与微平均F1是以两种不同的平均方式求的全局的F1指标。其中宏平均F1的计算方法先对每个类别单独计算F1值,再取这些F1值的算术平均值作为全局指标。而微平均F1的计算方法是先累加计算各个类别的a、b、c、d的值,再由这些值求出F1值。由两种平均F1的计算方式不难看出,宏平均F1平等对待每一个类别,所以它的值主要受到稀有类别的影响,而微平均F1平等考虑文档集中的每一个文档,所以它的值受到常见类别的影响比较大。


(http://blog.csdn.net/xiahouzuoxin/article/details/43165253)

ROC与PR指标

Precision和Recall(有人中文翻译成召回率)则分别构成了PR曲线的y轴和x轴。

ROC:

图:ROC空间


ROC曲线绘制代码:

  1. Local: prec_rec.m
  2. Mathworks: prec_rec.m


AUC(Area Under the ROC Curve)


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值