APP下载

比较不平衡基因表达数据上的7种分类器表现

2021-03-09李婧惟

中国医院统计 2021年1期
关键词:样本量集上灵敏度

李婧惟 刘 艳 陆 震

哈尔滨医科大学卫生统计学教研室,150081 黑龙江 哈尔滨

微阵列基因表达数据分析是基因组学领域研究的重要方向之一,在疾病的亚群分析、诊断预后、类别预测等方面有着广泛的应用[1]。基因表达数据通常具有样本量小、特征变量多、类别分类不平衡等特点,因此给研究者的分析应用带来了很大的挑战。近年来,随着机器学习领域地快速发展以及基因组学领域研究地不断深入,分类算法被广泛应用于基因表达数据的分析中[2]。但已有的研究主要集中在变量筛选方法的比较和分析上[3-4],或者提出新的分类算法[5-6],尚缺少对基因表达数据中不平衡类分布对分类算法选择影响的研究[7]。本研究重点关注二分类样本的类别不平衡比例,利用真实数据评估了7种分类器在类不平衡数据上的表现,并比较单次分类结果和重复100次的平均分类结果,分析不同分类算法对不平衡基因表达数据预测性能的影响,旨在为后续相关模型的建立提供理论基础。

1 资料与方法

1.1 资料来源

本研究使用2个公开的基因表达数据集:结肠癌数据集(colon)和白血病数据集(leukemia)。结肠癌数据集来源于Affymetrix oligonucleotide Hum 6 000平台,剔除污染样本后,共得到肿瘤样本37个(即阳性样本量Np=37)和正常样本20个(即阴性样本量Nn=20)[8],构成总样本57例;该数据集可从Bioconductor的colonCA包中下载。白血病数据集来源于Affymetrix human 6 800平台的72个样本,包含47个急性淋巴细胞白血病(acute lymphoblastic leukemia,ALL)样本、25个急性髓系白血病(acute myeloid leukemia,AML)样本及7 129个基因表达值[9];且根据细胞来源将ALL样本进一步分组:38个B细胞来源的ALL(B-lineage ALL,ALLB)样本和9个T细胞来源的ALL(T-lineage ALL,ALLT)样本;该数据集可从Bioconductor的golubEsets包中下载。

1.2 方法

1.2.1数据特征

类分布,即数据集中各类所占的比例,在分类中起关键作用。当一个类(通常指感兴趣的概念,即正类或少数类)在数据集中没有得到充分表达时,就会出现类不平衡问题。类不平衡数据在生物医学领域中很常见,如癌症诊断、疾病亚型分析等[10-11]。故本研究模拟了多种类分布比例情况进行分析,通过从完整数据集中随机抽取样本子集,得到的阳性样本占比不同的数据集作为训练集,并在平衡数据集上进行测试,以比较不同程度的类不平衡对分类算法选择的影响。

按阳性样本量占比从结肠癌数据集中抽取样本,得到类分布不同的10组数据集,每组又放回重复抽取100次,并比较单次抽样分类与100次抽样平均的分类效果。其中,训练集为不平衡样本(Nn=10,Np=10,15,20,30,35;Nn=15,Np=5,10,15,25,30),共10组;测试集为平衡样本(Nn=20,Np=20)。见表1。

表1 结肠癌数据集中样本量分布

此外,为增强最终结果的可靠性,从公共数据库获取白血病数据集对文中的样本数目进行拓充。对包含ALL和AML患者的样本进行分类,并进一步对ALL按来源分为B细胞来源ALLB和T细胞来源ALLT两类。数据集分为训练集和测试集,数据集整体及训练集样本量类分布见表2。

表2 白血病数据集及训练集样本量类分布

1.2.2分类算法的选择

MAQC-II倡议指出,分类功能是解释基因表达类别预测性能之间差异的变量之一[12]。目前处理不平衡数据的策略主要包括:经典算法、基于数据处理层面的算法、代价敏感学习与集成算法。郭海祥等[5]回顾了近10年来发表的517篇涉及不平衡数据研究的相关论文,初步统计了近年来文献中使用频率较高的分类算法,其中适用于分类研究且引用量大于10篇的算法有支持向量机(support vector machine,SVM)、决策树(C4.5 decision tree,C4.5)、朴素贝叶斯(naive bayes, NB)、随机森林(random forest,RF)和K-最近邻算法(K-nearest neighbour,KNN)。Mikel Gala等[13]回顾了二分类不平衡数据集框架中的集成技术的研究进展,比较了不同类型集成算法分类性能的差异,并初步推荐了几种表现较好的算法,如经典集成算法AdaBoost、Bagging等。基于以上原因,本研究选用SVM、C4.5、NB、RF、KNN、AdaBoost、Bagging 7种算法进行分析,用于比较分类算法的性能。

支持向量机SVM[14]是通过寻找满足分类要求的最优超平面,是降维的有效手段。决策树C4.5[15]是ID3算法的一种扩展,以信息增益率为重点,提高了分类的准确率,并一定程度上避免了过拟合。朴素贝叶斯NB[16]简化了贝叶斯算法,通过假定给定目标值时属性之间相互条件独立,极大地简化了贝叶斯方法的复杂性。随机森林RF[17]是决策树的集合,每棵树都建立在从完整数据中抽取的bootstrap样本上,通过随机选取寻找每个节点的最佳分割。K-最邻近KNN[18]是一种简单的非参数方法,根据特征空间中的k个最相似样本的类别来判断未知样本的分类,在类边界比较整齐的情况下分类准确率很高。AdaBoost[19]是一种迭代算法,将多个弱分类器经过线性组合成一个强分类器,可以提高分类的准确率;Bagging算法[20]是通过训练多个分类器并根据输出结果投票,投出最多票数的类别或者类别之一为最终类别。

1.2.3评价指标

本研究主要选用灵敏度和特异度作为评价指标,并结合了AUC值,比较类分布不平衡时不同分类算法对类别预测效果。每组数据集重复100次时共得到100组灵敏度和特异度,可求每组灵敏度和特异度的均值及标准差,使结果更具普遍性。

以上所有数据整理、算法应用等均由R软件实现,通过caret包构建算法,pastecs包求评价指标的均值及标准差,并用ggplot2包绘制分类结果变化趋势图。

2 结果

研究使用真实数据集来评估类不平衡对基因表达微阵列数据集分类的影响,结果显示分类器的分类效果受训练集的类分布不平衡的影响。

2.1 结肠癌数据集

通过从结肠癌数据集中按表1中样本量分布随机抽取样本子集,得到了10组不同程度的类不平衡数据集。

2.1.1单次分类结果分析

将7种算法分别在阳性样本占比依次为0.50,0.60,0.67,0.75,0.78(阴性性样本量为10,阳性样本量依次为10,15,20,30,35)的训练集上训练,并在阳性样本占比为0.50(阴性样本量为20,阳性样本量为20)的测试集上进行验证,得到灵敏度、特异度结果。见图1。

图1 Np=10且单次抽样时7种分类算法的灵敏度和特异度

图1中观察7种分类结果灵敏度发现,随样本量的增加,NB、KNN、SVM算法结果呈明显上升趋势,AdaBoost、Bagging、C4.5、RF算法结果出现先下降再上升的趋势,其中RF算法整体表现较好;在7种算法分类结果特异度比较中,随样本量增加均呈下降趋势,其中KNN下降趋势最明显,且整体表现较差。

将7种算法分别在阳性样本占比依次为0.25,0.40,0.50,0.63,0.67(阴性性样本量为15,阳性样本量依次为5,10,15,25,30)的训练集上训练,并在阳性样本占比为0.5(阴性样本量为20,阳性样本量为20)的测试集上进行验证,得到灵敏度、特异度结果。见图2。

图2中观察7种分类结果灵敏度发现,随训练集中阳性样本量的增加,7种分类算法的灵敏度整体均呈上升趋势,其中KNN算法结果变化趋势较为明显;在分类结果特异度比较中,SVM、KNN算法结果波动较大,Bagging、C4.5算法结果呈明显下降趋势,AdaBoost、NB、RF算法结果表现较为稳健且表现较好。

2.1.2重复100次后结果分析

将7种算法分别在阳性样本占比依次为0.50,0.60,0.67,0.75,0.78(阴性样本量为10,阳性样本量依次为10,15,20,30,35)的训练集上训练,并在阳性样本量占比为0.50(阴性样本量为20,阳性样本量为20)的测试集上进行验证,重复100次,得到平均灵敏度、特异度结果。见图3。

图3 Np=10且重复抽样时7种分类算法的平均灵敏度和特异度

将7种算法分别在100个阳性样本占比依次为0.25,0.40,0.50,0.63,0.67(阴性性样本量为15,阳性样本量依次为5,10,15,25,30)的训练集上训练,并在阳性样本量占比为0.50(阴性样本量为20,阳性样本量为20)的测试集上进行验证,重复100次,得到平均灵敏度、特异度结果。见图4。

图4 Np=15且重复抽样时7种分类算法的平均灵敏度和特异度

从图3、图4中可以得出与图1、图2中相似的规律。随着训练集中阳性样本量的增加,分类算法的灵敏度增加,而特异度降低,针对阳性样本学习效果逐渐增强。图3中AdaBoost算法和NB算法表现较为稳健,随训练集阳性样本占比变化并不十分明显;Bagging、C4.5、KNN和RF算法分类表现波动较大,灵敏度随阳性样本占比增加出现明显增长趋势,而特异度则呈现明显下降趋势;而SVM整体在类不平衡训练集中分类效果较差,仅在平衡训练集上表现良好。

单次结果分析和重复结果分析,均可以发现评价指标随类分布变化的明显趋势,但单次分析中结果存在一定偶然性。比如Np=15、Nn=5且单次抽样时,SVM灵敏度为1,但在多次抽样时SVM平均灵敏度几乎为零。

2.2 白血病数据集

此外,为分析不同样本量的情况下各个分类算法的分类效果,从公开数据库中下载白血病数据集进行补充分析。针对AML和ALLT分类的数据集中,AML为少数类,其在样本中占比为0.35,7种分类算法对该数据集进行分类。针对ALLT和ALLB分类的数据集中,ALLT为少数类,其在样本中占比为0.19,7种分类算法对该数据集进行分类。在特异度和灵敏度结果比较时,发现有多种算法结果未发现明显区别,故额外比较了7种分类算法进行分类的AUC值。针对AML分类的数据集中,NB和SVM算法分类效果相同,且均最优;Bagging算法分类效果仅次于前两者;KNN算法分类结果灵敏度较好,但特异度和AUC值较差;AdaBoost和RF算法整体表现较为一般,而C4.5算法整体表现最差。见图5。

图5 7种分类算法对AML和ALL数据集分类结果

而在针对ALLT分类的数据集中,AdaBoost、NB、C4.5和RF算法表现均很好,KNN算法分类效果其次;表现较差的是Bagging和SVM算法,灵敏度为0。在2种类分布情况下,NB算法整体表现最优,其他分类算法分类效果发生变化,C4.5、RF和SVM算法变化明显,前2者分类效果明显增强,后者明显减弱。见图6。

图6 7种分类算法对ALLT和ALLB数据集分类结果

3 讨论

本研究结果表明,一些经常用于高维数据类预测的分类算法对类分布不平衡非常敏感,且几乎所有的分类算法更易将新样本预测为训练样本中的多数类。这可能是因为新样本的类别概率取决于该类在训练集中的学习情况,并且随着样本量等的变化,该概率会进一步向主要类倾斜。因此,当分类器在类不平衡数据上进行训练时,对不同类的预测精度差异较大,且此时整体的预测精度并不能代表分类器的分类效果。

本研究针对结肠癌数据集进行分析,在前期单次分类的结果中发现具有一定随机性,构建训练集的样本量、样本的类分布比例、被抽取样本特征及分类算法的选择均会影响最终分类效果。故通过按一定比例抽取训练集并重复100次进行分类,比较分类结果的灵敏度和特异度的均值及误差,可以明显发现多次重复分类与单次分类结果的差异。在单次分析中,AdaBoost算法十分不稳定,但在多次重复分析中,AdaBoost算法较好,不易受类分布的影响。此外,SVM作为传统算法,广泛应用,但结肠癌数据分析中发现该算法表现较差,可能与该数据特征有关,影响了分类性能。故有理由认为经典分类并不一定在所有数据集上表现良好。

在针对白血病数据集研究中发现,类分布不同影响分类算法的分类结果,但与结肠癌数据中表现不同,部分算法分类效果出现明显增强。结合文献研究发现,分类算法的分类效果与数据本身特征相关[12,21],提示可能是结肠癌和白血病数据中某些数据特征影响分类结果。

在实际数据分析中,通常是按照个人习惯或者算法流行性来选择分类算法,而忽视了数据本身的特征,这样可能会造成结果的偏倚及信息的损失。如果选择多种算法同时进行,不仅会花费大量的时间,同时也较难保证结果的稳定性。本研究在2个公开数据集上进行了讨论分析,样本量略有不足,有待于加大样本量进一步深入研究,在更多不平衡比例的数据上进行分析,并引入数据本身的特征,尝试构建分类算法和数据特征对分类效果影响的预测模型,为不平衡基因表达数据分类算法选择提供参考。

猜你喜欢

样本量集上灵敏度
医学研究中样本量的选择
Cookie-Cutter集上的Gibbs测度
链完备偏序集上广义向量均衡问题解映射的保序性
分形集上的Ostrowski型不等式和Ostrowski-Grüss型不等式
导磁环对LVDT线性度和灵敏度的影响
航空装备测试性试验样本量确定方法
地下水非稳定流的灵敏度分析
穿甲爆破弹引信对薄弱目标的灵敏度分析
几道导数题引发的解题思考
无后备灵敏度的220kV变压器后备保护整定