分类算法评价标准

一、引言

  分类算法有很多,不同分类算法又用很多不同的变种。不同的分类算法有不同的特定,在不同的数据集上表现的效果也不同,我们需要根据特定的任务进行算法的选择,如何选择分类,如何评价一个分类算法的好坏,前面关于决策树的介绍,我们主要用的正确率(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://www.cnblogs.com/fengfenggirl/p/classification_evaluate.html 

原文地址:https://www.cnblogs.com/itbuyixiaogong/p/9077490.html

时间: 2024-07-30 18:30:38

分类算法评价标准的相关文章

分类算法的评价

一.分类算法评价指标 1.分类准确度的问题 分类算法如果用分类准确度来衡量好坏将会存在问题.例如一个癌症预测系统,输入体检信息,可以判断是否有癌症,预测准确度可以达到99.9%,看起来预测系统还可以,但是如果癌症的产生概率只有0.1%,那么系统只要预测所有人都是健康的就可以达到99.9%的准确率,因此虽然准确率很高,但是预测系统实际上没有发挥什么作用.更加极端的如果癌症概率只有0.01%,那么预测所有人都是健康的概率是99.99%,比预测系统的结果还要好.因此可以得到结论:在存在极度偏斜的数据中

分类预测算法评价(初识)

分类于预测算法评价 分类与预测模型对训练集进行预测而得出得准确率并不能很好得反映预测模型未来得性能,为了有效判断一个预测模型得性能表现,需要一组没有参与预测模型建立得数据集并在该数据集上评价预测模型得准确率,这组独立耳朵数据集叫做测试集,模型预测效果评价,通常用相对绝对误差,平均绝对误差,均方误差,均方根误差来衡量. 绝对误差与相对误差 设Y表示实际值, Ý表示预测值, 则称E为绝对误差,计算公式如下: Ε = Y - Ý e为相对误差, 计算公式如下 e = (Y - Ý) / Y 有时也可以

分类算法中常用的评价指标

本文来自网络,属于对各评价指标的总结,如果看完之后,还不是很理解,可以针对每个评价指标再单独搜索一些学习资料.加油~! 对于分类算法,常用的评价指标有: (1)Precision (2)Recall (3)F-score (4)Accuracy (5)ROC (6)AUC ps:不建议翻译成中文,尤其是Precision和Accuracy,容易引起歧义. 1.混淆矩阵 混淆矩阵是监督学习中的一种可视化工具,主要用于比较分类结果和实例的真实信息.矩阵中的每一行代表实例的预测类别,每一列代表实例的真

R语言与分类算法的绩效评估(转)

关于分类算法我们之前也讨论过了KNN.决策树.naivebayes.SVM.ANN.logistic回归.关于这么多的分类算法,我们自然需要考虑谁的表现更加的优秀. 既然要对分类算法进行评价,那么我们自然得有评价依据.到目前为止,我们讨论分类的有效性都是基于分类成功率来说的,但是这个指标科学吗?我们不妨考虑这么一个事实:一个样本集合里有95个正例,5个反例,分类器C1利用似然的思想将所有的实例均分成正例,分类成功率为95%:分类器C2成功分出了80个正例,3个反例,分类成功率仅83%.我们可以说

27-如何度量分类算法的性能好坏(Scoring metrics for classification)

最近两天拥抱了北京这个城市,感觉大气粗犷,整个人都更有精神了.紫禁城好大,颐和园更大,不自量力的我买了联票,结果根本没法逛完.北京人民也热情,坐在船上,开船大爷不停招呼:这边可以拍十七孔桥了,视野好面积大:那边可以拍玉带桥了:坐着我帮你拍几张:你手托着塔,自然点没事.然后走在路上,问一个姑娘东宫门在哪呢,一个走路风风火火的大妈不打自招:就在前面右拐--北京人民的热情,足以抵御漫长的寒冬. 回来也要好好学习了,今天学习度量分类算法的性能好坏的几个重要指标:) 首先申明下缩写:P: Positive

聚类算法和分类算法总结

原文:http://blog.chinaunix.net/uid-10289334-id-3758310.html 聚类算法的种类: 基于划分聚类算法(partition clustering) k-means: 是一种典型的划分聚类算法,它用一个聚类的中心来代表一个簇,即在迭代过程中选择的聚点不一定是聚类中的一个点,该算法只能处理数值型数据 k-modes: K-Means算法的扩展,采用简单匹配方法来度量分类型数据的相似度 k-prototypes: 结合了K-Means和K-Modes两种

分类算法中的ROC与PR指标

做过图像识别.机器学习或者信息检索相关研究的人都知道,论文的实验部分都要和别人的算法比一比.可怎么比,人多嘴杂,我说我的方法好,你说你的方法好,各做各的总是不行--没规矩不成方圆.于是慢慢的大家就形成了一种约定,用ROC曲线和PR曲线来衡量算法的优劣.关于ROC曲线和PR曲线的详细介绍可参考资料: ROC Analysis and the ROC Convex Hull Tom Fawcett,An introduction to ROC analysis Jesse Davis,Mark Go

用Python开始机器学习(2:决策树分类算法)

http://blog.csdn.net/lsldd/article/details/41223147 从这一章开始进入正式的算法学习. 首先我们学习经典而有效的分类算法:决策树分类算法. 1.决策树算法 决策树用树形结构对样本的属性进行分类,是最直观的分类算法,而且也可以用于回归.不过对于一些特殊的逻辑分类会有困难.典型的如异或(XOR)逻辑,决策树并不擅长解决此类问题. 决策树的构建不是唯一的,遗憾的是最优决策树的构建属于NP问题.因此如何构建一棵好的决策树是研究的重点. J. Ross Q

SparkMLlib学习分类算法之逻辑回归算法

SparkMLlib学习分类算法之逻辑回归算法 (一),逻辑回归算法的概念(参考网址:http://blog.csdn.net/sinat_33761963/article/details/51693836) 逻辑回归与线性回归类似,但它不属于回归分析家族(主要为二分类),而属于分类家族,差异主要在于变量不同,因此其解法与生成曲线也不尽相同.逻辑回归是无监督学习的一个重要算法,对某些数据与事物的归属(分到哪个类别)及可能性(分到某一类别的概率)进行评估. (二),SparkMLlib逻辑回归应用