一、引言
分类算法有很多,不同分分类算法又用很多不同的变种。不同的分类算法有不同的特定,在不同的数据集上表现的效果也不同,我们需要根据特定的任务进行算法的选择,如何选择分类,如何评价一个分类算法的好坏,前面关于决策树的介绍,我们主要用的正确率(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): 被正确地划分为负例的个数,即实际为负例且被分类器划分为负例的实例数。
上图是这四个术语的混淆矩阵,我只知道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://tech.ddvip.com/2013-11/1384964320206281.html
相关推荐
数据挖掘各分类算法原理阐述,朴素贝叶斯、SVM、KNN等算法的代码实现,并用十折交叉验证进行评价和分析。
系统地论述了目前包分类研究的相关领域:分类器的种类、分类算法的评价准则、设计分类算法的原则和现实规则库的特点等。通过对各分类算法和现实规则库的特点进行分析,采用聚合折叠向量法,提出了一种适用于多维大...
(1)设计并实现决策树分类算法(可参考网上很多版本的决策树算法及代码,但算法的基本思想应为以上所给内容)。 (2)使用 UCI 的基准测试数据集,测试所实现的决策树分类算法。评价指标包括:总时间、分类准确性等。 ...
xgboost二分类算法实现,带作图评价函数
在此基础上, 提出了一种基于模糊聚类分析的客户分类算法, 对客户进行分类管理, 并给出了一个计算实例, 取得了正确的计算结果。该计算实例表明, 这个算法可以用于关于客户关系管理的决策支持系统中。
评价单元划分是地质环境评价的关键步骤之一,然而其服务于评价的同时,...该方法对评价分区数据进行抽象化、插值、重分类等一系列后续处理,获取顾及区域空间关系的地质环境分区,并应用到徐州市采煤塌陷区地质环境评价中。
聚类算法评价指标:RandIndex,matlab代码
为了解决矿山安全性模糊评价过程中隶属度转换算法存在着目标分类不明确和出现冗余数值的问题,采用基于熵的数据挖掘方法,通过定义指标区分权,清除隶属度转换过程中的冗余数值,寻找对目标分类起作用的有效值计算隶属度...
亲测可用的遗传投影寻踪模型,主...遗传投影寻踪模型是指以投影寻踪模型的目标函数为遗传算法的适用度函数,通过遗传算法求出最大适应度值从而确定最佳的投影方向向量,以达到对多变量数据进行分类和综合评价的目的。
为了提高城区机载激光雷达点云数据分类算法的自动化程度和分类精度,提出一种基于渐进加密三角网和双层支持向量机的点云分类算法。采用渐进加密三角网滤波提取地面点,在地面点的基础上对地物点进行归一化处理。对点云...
主要为大家详细介绍了python机器学习之KNN分类算法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
采用一种无须分词的中文文本分类方法,以二元汉字串表示文本...为提高以bigram项表示文本特征的分类算法的准确率,提出了基于类别特征向量表示的中文文本分类算法。通过实验结果及理论分析,验证了该算法的有效性。
介绍了数据包分类算法的基本思想及一种包分类算法解决方案的评价原则,在现有的ABV算法的基础上,对该算法进行了分析,提出了一种新的改进方案,并对该改进方案进行了性能分析。
多目标分类新算法。在非对称贴近度分析的基础上,通过确定决策对象评价的参考等级,并依据 它们与评价等级集合中各评价等级的具占近程度,来进行多目标聚合与分类。本文的算例说明了该 算法的可行性。
在诸多时序数据分类算法中,有一类算法借助时序数据的局部特征对时序数据进行分类,它们取得了不错的分类结果,然而其时间复杂度以及分类精度依旧存在可见的提升空间.本文提出的微局部特征二分类算法,着眼于局部...
大数据-算法-基于全方位优化算法的马田分类和排序评价方法研究及应用.pdf
使用python,利用朴素贝叶斯算法对病例数据进行分类建模分析,最后完成病例自动诊断分析,步骤包括数据读入、数据理解、数据准备、模型训练、模型评价、模型调参、模型预测等。
数学建模国赛获奖论文分类整理,使用模糊综合评价算法做的论文集合,可以系统的学习模糊综合评价算法在数学建模中的应用,非常有用。
摘 要:基于决策树的分组分类算法因易于实现和高效性,在快速分组分类中广泛使用。决策树算法的基本目标是构造一棵存储高效且查找时间复杂度低的决策树。设计了一种基于规则集统计特性和评价指标的决策树算法——...
(5)掌握文本分类,可以结合NLTK与算法对文本进行分类 二、 实验任务 对某宝网站中某卫衣的用户评价进行简单的分析,并使用词云渲染一些关键词;用户评价分析主要包括以下操作: (1)读取“商品评价信息.csv”文件,...