我们主要用的正确率(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): 被正确地划分为负例的个数,即实际为负例且被分类器划分为负例的实例数。

44441384964220.jpg

上图是这四个术语的混淆矩阵,我只知道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)其他评价指标

预测的准确率:这涉及到模型正确地预测新的或先前没见过的数据的类 标号能力。

速度:涉及到产生和使用模型的计算花费。

强壮性:这涉及给定噪声数据或具有空缺值的数据,模型正确预测的能力。

可伸缩性:这涉及给定大量的数据,有效的构造模型的能力。

可解释性:这涉及学习模型提供的理解和洞察的层次。


三、Weka 中分类算法的参数解释

Correlation coefficient (= CC) : 相关系数

Root mean squared error (= RMSE) : 均方根误差

Root relative squared error (= RRSE) : 相对平方根误差

Mean absolute error (= MAE) : 平均绝对误差

Root absolute error (= RAE) : 平均绝对误差平方根

Combined: (1-abs (CC)) + RRSE + RAE: 结合的

Accuracy (= ACC) : 正确率

注意,Correction coefficient 只适用于连续值类别,Accuracy 只适用于离散类别

Kappa statistic:这个指标用于评判分类器的分类结果与随机分类的差异度。

绝对差值(Mean absolute error):这个指标用于评判预测值与实际值之间的差异度。把多次测得值之间相互接近的程度称为精密度,精密度用偏差表示,偏差指测得值与平均值之间的差值,偏差越小,精密度则越高。

中误差(Root mean square error:RMSE):带权残差平方和的平均数的平方根,作为在一定条件下衡量测量精度的一种数值指标。中误差是衡量观测精度的一种数字标准,亦称“标准差”或“均方根差”。在相同观测条件下的一组真误差平方中数的平方根。因真误差不易求得 , 所 以通常用最小二乘法求得的观测值改正数来代替真误差。它是观测值与真值偏差的平方和观测次数 n 比值的平方根。中误差不等于真误差,它仅是一组真误差的代表值。中误差的大小反映了该组观测值精度的高低,因此,通常称中误差为观测值的中误差。