分类器评价指标MCC、CEN 和ACC 的比较研究

2020-06-10 02:13王淑琴田秀伟
关键词:指标值分类器交叉

张 冰,刘 林,王淑琴,田秀伟

(天津师范大学计算机与信息工程学院,天津300387)

数据样本分类是机器学习的主要任务之一,当分类器的评价结果达到一定的设定条件时,该分类器才会被采用,因此,如何评价分类器的优劣是机器学习和模式识别领域的一个关键问题[1].目前,已出现了很多分类器评价指标,主要包括ACC(accuracy)[2]、FMeasure[3]、MAP(mean average precision)[4]、MCC(Matthews correlation coefficient)[5-6]、AUC(area under curve)[7-9]、ROC(receiver operating characteristic)曲 线[10-11]、MPR(mean probability ratio)[12]、RCI(relative classification information)[13]和CEN(confusion entropy)[14-15]等,那么,如何在众多分类器评价指标中选择一个合适的指标考察分类器的性能就显得格外重要[16].

大多数分类器评价指标都是针对二类问题定义的,只有很少的几种是直接面向多类问题定义的,关于分类器对类别区分能力的评价,多类问题比二类问题要复杂很多.ACC、MCC 和CEN 这3 种分类器评价指标在多类问题上具有广泛应用,而且CEN 和MCC的关系是全局单调,局部几乎线性的[6],因此本文通过实验对MCC、CEN 和ACC 这3 种指标对分类器性能的评价能力进行比较分析.对机器学习数据库UCI 中的8个多类问题数据集和4个二类问题数据集分别使用4 种和2 种常见的分类器进行处理,在进行第2 到10重交叉验证时,详细分析了3 种指标值变化趋势的关系,另外,从一致性和判别性角度对3 种指标进行了比较,结果表明CEN 的评价能力优于ACC 和MCC.

1 相关概念

给定测试集S,S 中样本个数为M,类别个数为N,s 为S 中任意一个样本.Ci表示第i 类,属于Ci而被分到Cj的样本个数记为NCi,j.测试集被分类模型分类完成的混淆矩阵记为MN×N,混淆矩阵的第i 行第j 列元素记为Mij.记F(i,j)为真实属于Ci的样本属于Cj的概率,显然,当i=j 时,F(i,j)=1,当i≠j 时,F(i,j)=0. 记P(i,j)为本来属于Ci的样本被分到Cj的概率,设置一个阈值r,若P(i,j)>r,则认为属于Ci的样本被分到Cj,此时定义PC(i,j)=1,否则令PC(i,j)=0.

1.1 ACC 评价指标

ACC 由于具有公式简单、易于扩展的特点而广泛应用于二类和多类问题的分类评价上.但在一些不平衡数据集上,ACC 没有考虑错误分类的代价,因此作为评价指标存在弊端[17-18]. ACC 根据分类器预测类别的准确程度来定义,即被分类器分类正确的样本数与总样本数的比例[2],其计算公式为

ACC 的取值范围是[0,1],其值越大,表明分类器的性能越好.

1.2 MCC 评价指标

MCC 广泛应用于生物信息领域[19-22].MCC 是基于混淆矩阵设计的分类器性能评价的测量指标[5],它将混淆矩阵归为单一的值.定义2个M×N 维矩阵X 和Y,其元素分别为Xsi和Ysi,s=1,…,M,i=1,…,N.如果样本s 被预测到Ci,则令Xsi=1,否则令Xsi=0;如果样本s 属于Ci,则令Ysi=1,否则令Ysi=0.定义

当k≠l 时,定义

Ckl=|{s∈S│Xsk=1 且Ysl=1}|

则样本总数M 可以表示为

X、Y 的协方差函数为

MCC 可改写为

MCC 的取值范围是[-1,1],其值越大,表明分类器的性能越好.MCC=1 表明分类器分类的结果完全正确,MCC=-1 表明分类结果达到了一个极端的情况,此时混淆矩阵中除了关于对角线对称的2 项元素外,其他元素均为0.当MCC=0 时,有2 种情况:一种是混淆矩阵中除了一列元素外,其他元素全部为0,即所有样本均被分到了一个类;另一种是混淆矩阵中所有元素均相等.

1.3 CEN 评价指标

CEN 是近年提出的直接定义于多类问题的分类器评价指标,它是基于熵函数的评价指标.CEN 也是利用混淆矩阵设计的测量指标,它直接定义于N +1类问题上.与其他评价指标相比,CEN 充分考虑了样本的错误分类信息[14],对分类结果的细微差异也能做出反映.

若属于Ci的样本被分到了Cj,则相对于Cj的错误分类概率Pji,j为

相对于Ci的错误分类概率Pii,j为

进而,Cj的混淆熵定义为

对于一个给定的混淆矩阵,其总的混淆熵为

其中Pj为Cj的混淆概率,

评价多类问题时,CEN 的取值范围是[0,1],评价二类问题时,CEN 的值可能大于1.CEN 计算的是错误分类样本所包含错误信息的熵的加权和,因此,CEN 的值越大表明分类器的性能越差. 在混淆矩阵中,当错误分类的样本均匀分布于各类别时,CEN=1,当分类器分类的结果完全正确时,CEN=0.

2 实验

2.1 实验结果分析

实验所用数据集均下载自机器学习数据库UCI,包括8个多类问题数据集和4个二类问题数据集,数据集具体描述见表1.

表1 实验数据集Tab.1 Experiment datasets

对8个多类问题数据集使用4 种分类器,包括K 近邻(K-nearest neighbor,KNN)、决策树(decision tree,DT)、朴素贝叶斯(naive Bayes,NB)和随机森林(random forest,RF);对4个二类问题数据集使用2 种分类器,为支持向量机(support vector machine,SVM)和逻辑回归(logistic regression,LR). 采用10 重交叉验证.

给定数据集和分类器,在第2,3,…,10 重交叉验证时,得到相应的ACC、MCC 和CEN 的值.为比较3 种指标值随交叉验证重数的变化趋势,在同一图中绘制3 种指标值的折线图,图中横坐标为交叉验证重数,左侧纵坐标为ACC 和MCC 值,右侧纵坐标为CEN值.当数据集和分类器不同时,共得到8×4+4×2=40个折线图,通过分析比较,关于3 种指标值的变化趋势,可分为以下5 种类型.

类型1当CEN 值呈下降趋势的时候,MCC 和ACC 值总是对应着呈上升的趋势.以RF 分类器处理Hayes 数据集(图1)、NB 处理Wifi_localization(图2)、SVM 处理Z-Alizideh(图3)和RF 处理Wifi_localization(图4)为例,由图1~图4 可见,当CEN 值下降时,对应的MCC 和ACC 值上升.由于ACC 和MCC 值越大(小)表明分类效果越好(差),而CEN 值越小(大)表明分类效果越好(差),因此这种类型说明3 种指标在评价分类结果时得到了基本相同的结论.

图1 Hayes 上使用RF 分类器的3 种指标值Fig.13 indexes of RF on Hayes

图2 Wifi_localization 上使用NB 分类器的3 种指标值Fig.23 indexes of NB on Wifi_localization

图3 Z-Alizideh 上使用SVM 分类器的3 种指标值Fig.33 indexes of SVM on Z-Alizideh

图4 Wifi_localization 上使用RF 分类器的3 种指标值Fig.43 indexes of RF on Wifi_localization

类型2MCC 或ACC 值变化平缓,甚至几乎不变,而CEN 值发生明显变化. 以NB 处理Shuttle(图5)、DT 处理Vehicle(图6)和SVM 处理Transfusion(图7)为例.由图5 可见,进行第2 到4 重交叉验证时,ACC值变化平缓,而CEN 值变化明显.由图6 可见,进行第4 到6 重交叉验证时,MCC 值变化平缓,而CEN值变化明显.这种情况表明在评价分类结果时,CEN比MCC 和ACC 更具辨别力.对于图7 的二类不平衡数据集Transfusion,进行第5 到8 重交叉验证时,MCC 值为负数,反映出较差的分类结果,同时CEN值也在变化,而ACC 值几乎不变,这说明ACC 在不平衡数据集上评价分类器性能是存在缺陷的.

图5 Shuttle 上使用NB 分类器的3 种指标值Fig.53 indexes of NB on Shuttle

图6 Vehicle 上使用DT 分类器的3 种指标值Fig.63 indexes of DT on Vehicle

图7 Transfusion 上使用SVM 分类器的3 种指标值Fig.73 indexes of SVM on Transfusion

类型3CEN 值变化平缓,甚至几乎不变,而MCC 或ACC 值发生明显变化. 以DT 处理Wiki4HE(图8)和RF 处理Seeds(图9)为例,图8 的第2 到4重交叉验证和图9 的第4 到6 重交叉验证对应的3种指标值即是这种类型.这表明在某些情况下,MCC和ACC 比CEN 更具辨别力,因此CEN 有时候也存在问题.

图8 Wiki4HE 上使用DT 分类器的3 种指标值Fig.83 indexes of DT on Wiki4HE

图9 Seeds 上使用RF 分类器的3 种指标值Fig.93 indexes of RF on Seeds

类型4MCC、ACC 和CEN 值都不发生变化. 以DT 处理Forest(图10)为例,由图10 可见,进行第7到10 重交叉验证时,3 种指标值均没有变化.这种情况表明在评价分类结果时,MCC、ACC 和CEN 结论完全一致.

图10 Forest 上使用DT 分类器的3 种指标值Fig.103 indexes of DT on Forest

类型5MCC 和CEN 值同时上升(下降),或ACC和CEN 值同时上升(下降).以KNN 处理Wiki4HE(图11)为例,由图11 可见,进行第2 到3 重和第5 到6重交叉验证时,3 种指标值均下降. 这种情况表明MCC 和CEN(或ACC 和CEN)结论相反.

图11 Wiki4HE 上使用KNN 分类器的3 种指标值Fig.113 indexes of KNN on Wiki4HE

2.2 一致性和判别性检验

为了更好地比较3 种评价指标,本文尝试从一致性和判别性[23]角度对CEN、MCC 和ACC 进行两两统计比较.对于2个测试方法f 和g,其定义域为φ,令

根据一致性和判别性的定义,将以上分析中类型1、类型2、类型3 和类型5 出现的次数分别记为R、P、Q 和S.在8个多类数据集上采用4 种分类器,在4个二类数据集上采用2 种分类器,重数取值为2 到10,比较CEN 和ACC,共得到640个结果,其中R=242,P=6,Q=1,S=52,则C=242/(242+52)>0.5,D=6/1 >1,表明作为分类器评价指标,CEN 优于ACC.同理,比较CEN 和MCC,也得到640个结果,其中R=233,P=14,Q=2,S=52,则C=233/(233+52)>0.5,D=14/2 >1,这表明CEN 也优于MCC.因此,从一致性和判别性的角度,分类器评价指标CEN 优于ACC 和MCC.

另外,以Breast-Cancer 数据集上使用LR 分类器为例,进行第4 到5 重交叉验证时,ACC 和CEN 值都呈上升趋势,说明ACC 认为此分类结果更好,而CEN 认为此分类结果更坏.事实上,将更多的恶性样本判定为良性样本,虽然ACC 值在增加,但恶性样本没有被分离出来,对于医疗诊断而言,此分类器没有起到作用,显然这种情况下使用ACC 评价并不合理,使用CEN 评价更合理.

3 结语

利用实验对分类器评价指标ACC、MCC 和CEN进行比较,结果表明CEN 性能更优.CEN 主要从样本错误分布程度的方面进行考虑而设计,因此能辨别出不同类别的样本是如何彼此分离的,更能分辨出分类器分类结果的差异.

猜你喜欢
指标值分类器交叉
学贯中西(6):阐述ML分类器的工作流程
菌类蔬菜交叉种植一地双收
基于朴素Bayes组合的简易集成分类器①
财政支出绩效评价指标体系构建及应用研究
基于特征选择的SVM选择性集成学习方法
“六法”巧解分式方程
基于差异性测度的遥感自适应分类器选择
浅谈食品中大肠菌群检测方法以及指标值的对应关系
维修性定性要求评价指标融合模型研究
连数