基于SMOTEboost的大肠癌不平衡数据集的症型分类研究
2018-12-25刘芬刘秀峰
刘芬 刘秀峰
摘 要:目的 利用机器学习算法处理大肠癌中医症状与证型数据,建立适用于大肠癌不平衡数据集的虚实证型分类模型。方法 量化收集的大肠癌中医临床病案数据以及文献检索数据,首先采用人工合成过采样技术对数据集进行平衡处理,再结合集成学习算法Adaboost,将症状作为输入,证型作为输出,对比传统机器学习算法分类效果,探讨大肠癌的SMOTEboost分类模型在虚实证型中的分类性能。结果 SMOTEboost分类算法在大肠癌虚实证型分类模型中,F-mean较Adaboost提高了25.40%,G-mean提高了16.60%,表明构建的分类器具有较高的分类性能与泛化能力。结论 SMOTEboost复合分类器为大肠癌中医证型分类提供很好的计算机网络模型,也为其他中医病症的临床证型判定提供借鉴意义。
关键词:大肠癌;Adaboost;SMOTE;不平衡数据集
中图分类号:TP311.13;R735.3+4 文献标识码:A DOI:10.3969/j.issn.1006-1959.2018.23.003
文章编号:1006-1959(2018)23-0010-03
Abstract:Objective To establish a classification model of deficiency and solid syndrome type suitable for unbalanced data set of colorectal cancer by using machine learning algorithm to process TCM symptom and syndrome type data of colorectal cancer.Methods The data of TCM clinical records and literature retrieval of colorectal cancer were collected quantitatively.First, the artificial oversampling technique is used to balance the data set, and then the integrated learning algorithm Adaboost, is used to deal with the data set balance.Take symptoms as input, syndrome as output,and then compared the classification effect of traditional machine learning algorithm in order to study the classification performance of SMOTEboost classification model of colorectal cancer in deficiency and solid syndrome.Results In SMOTEboost classification algorithm used in the classification model of colonic carcinoma,F-mean increased 25.40% and G-mean by 16.60% compared with Adaboost which shows that the constructed classifier has high classification performance and generalization ability.Conclusion The SMOTEboost compound classifier can provide a good computer network model for the classification of TCM syndromes of colorectal cancer, and also provide reference for other TCM syndromes.
Key words:Colorectal cancer;Adaboost;SMOTE;Unbalanced dataset
不平衡數据集(unbalanced data sets)是指在一个数据集中,某些类的数量远远大于其他类别的数量,其中类别数量多的为多数类,类别数量少的为少数类[1]。大多数的机器学习分类算法都是基于平衡数据集的假设,然而当数据集各类别的样本分布不均匀时,分类器常常会倾向样本中的多数类[2]。现实生活中,大多数属于不平衡分类问题,如疾病诊断、人脸识别、文本分类、金融风险预测等[3]。人们往往需要知道少数类是否被正确分类,因此不平衡数据分类问题是近年来机器学习和数据挖掘的研究热点[4]。
大肠癌(large intestinecancer)是下消化系统中一种常见的恶性肿瘤[5,6],中医在降低大肠癌化疗毒副反应,改善临床证侯,提高生存质量,以及预防复发、转移等方面显示出了一定的优势[7]。然而大肠癌临床证型大多存在病例量小、地区差异、诊断不规范、各种症型分布不均等问题,故为了实现大肠癌中医症型的有效分类,使得大肠癌辨病与辨证相结合,训练大肠癌中医症型的高效分类器将为大肠癌中医症状与症型之间的临床判断提供便利。
1 资料与方法
1.1数据来源 本文训练分类模型的一部分数据集来源于UCI机器学习数据库,选用乳腺癌数据集(breast cancer)用以算法仿真实验;另一部分数据集来源于人工收集的大肠癌数据(colorectal-cancer)用以分类器的验证。Breast cancer数据集共286例,标号为非复发事件(no recurrence events)的数据有201例,而类标号为复发事件(recurrence events)的数据有85例,即两类样本量不平衡。
收集的大肠癌数据总共338例,其中150例收集于2007年广东省临床病案,另外188例来自文献数据,分别来源于中国知网全文数据库(CNKI)、维普全文数据库(VIP)及万方数据知识服务平台,检索年限为1990~2015年,关键词为“大肠癌”“病机”“验案”等。最终筛选出符合大肠癌病理学纳入排除标准的数据有218例,其中虚症143例(包含的证型有脾失健运、脾虚夹瘀、气血亏虚、脾肾阳虚和肝脾不调),实证75例(包含的证型有湿热内蕴、气滞血瘀、淤毒内阻),构成了不平衡数据集。表1所列为两组数据集描述,不平衡率为少数类样本量与多数类样本量之比,不平衡率越大,表明数据集整体不平衡度越高。属性为表示数据集的特征集,其中Breast cancer数据集包含的属性特征有患者样本的年龄、乳腺肿瘤大小、位置、是否复发等10个;Colorectal cancer数据集包含里急后重、大便秘结、脉沉、舌红、舌苔厚等28项症状属性特征。
1.2数据预处理 本研究结合临床数据与文献数据,筛选出的症状输入一共有28项,包含里急后重、大便秘结、脉沉、舌红、舌苔厚等中医体征变化,并将收集到的原始数据在EXCEL表中进性“0”“1”初步量化,有该症状赋1,无该症状赋0;同理量化证型输出,结合专家意见,将大肠癌证型分为8类,分别为气血亏虚、湿热内蕴、气滞血瘀、淤毒内阻、脾失健运、脾肾阳虚、肝脾不调、脾虚夹瘀。考虑到分属于8种证型的样本数据量太小不足以训练模型,故进而将这8种证型转变为虚实两证,探讨二分类问题。
1.3研究方法
1.3.1 SMOTE算法 最普通的上采样技术为随机上采样(random over-sampling,ROS),此种方法实现简单,通过不断复制少类样本来扩大平衡样本量,但随机上采样会使得分类算法过度拟合从而降低分类器的灵敏度,本文在数据层面选用启发式的基于“插值”合成少数类过采样技术(synthetic minority oversampling technique,SMOTE),在数据层面对不平衡数据集作出改进。合成少类过采样技术(SMOTE)相比随机过采样,SMOTE中插入的点位于少类样本点和其周围的样本点之间,有效解决了过拟合问题。
1.3.2 Adaboost算法 针对不平衡数据集分类问题,目前主要的分类算法有支持向量机、模糊分类算法、Boosting算法、Fisher线性判别分析方法、代价敏感学习方法、Bagging算法和决策树算法等。Boosting算法中存在一种损失函数为指数损失的Adaboost(adaptive boosting)算法,它可以根据所提供的一种框架,在框架内可以使用各种方法构建子分类器,而且可以使用任何简单的弱分类器;此外,Adaboost算法不需要弱分类器的先验知识,最后得到的强分类器的分类精度依赖于所有弱分类器,且不需要预先知道弱分类器的錯误率上限,它根据弱分类器的反馈,自适应地调整假定的错误率从而具有深挖分类器的能力。综合Adaboost算法在分类上的优点以及集成效果,本文在分类算法层面选取以单决策树为弱分类器构建Adaboost强分类器模型运用于不平衡数据集的分类研究。
2 结果
2.1 SMOTE上采样结果 在SMOTE算法中我们将邻域K值设置为5,数据采样后少数类比例与原始少数类比例见表2。可见在经过SMOTE过采样后,少数类比例在某种程度上得到提升,从而起到平衡数据集的作用。
2.2不平衡数据集评价指标 我们通常使用预测准确率(ACC)作为评价指标来评估一般数据集分类器的性能。但对于不平衡数据集,由于精度会偏向多数类,而少数类很少可以产生影响,故ACC并不能够正确反映分类器的分类性能。在包含两类的数据集中,我们将样本数量少但识别重要性高的称为正样本,反之称为负样本。经过分类,训练样本分成4 类,构成混淆矩阵(confusionmatrix),见表3。
一般来说准确率和召回率越高,预测的结果越好,但是实际上有时两者会有矛盾,故采用使用两者的调和平均值,更好的估计分类器对少数类的分类性能。G-mean是以少数类的分类正确率和多数类的分类正确率为基础,较高的G-mean值说明分类器对于多数类和少数类样本都有不错的分类性能。
2.3建立基于SMOTE法的Adboost分类模型 为减少训练时间,在导入数据之前,利用主成分分析将大肠癌的28个原始输入降为10个。同时为了选取合适的弱分类器数目,我们将弱分类器数目设定为1~10000中几个不同数字,多次运行Adaboost分类过程,最终根据错误率确定弱分类器的个数为50。为充分运用数据集,整个训练过程采用5折交叉验证法,循环训练数据,当分类器错误率为0或者到达迭代次数时训练终止。表4记录了采样后相对平衡的数据集在Adaboost分类器中的F-mean和 G-mean值,可以很直观感受出SMOTEboost分类器较传统Adaboost分类器在大肠癌虚实证型分类性能上得到了很大提升。
3讨论
对于表现好的数据集,Adaboost的测试错误率会达到一个稳定值,并不会随着分类器的增多而上升。但本研究在设定不同的弱分类器数目时,不平衡数据集的测试错误率在达到一个最小值之后便又开始上升,即训练过程产生了过拟合。这也进一步说明了传统分类算法运用于不平衡数据集所带来的缺陷,故在进行分类器训练之前对不平衡数据集进行过采样等平衡处理是非常必要的。其次,本文采用SMOTE过采样技术对数据集进行平衡处理的效果虽有得到提升,但效果依然值得进一步商榷改良,原因是它是基于随机过采样算法的一种改进方案,由于随机过采样采取简单复制样本的策略来增加少数类样本,这样容易产生模型过拟合的问题,即使得模型学习到的信息过于特别而不够泛化。本文虽选取Adaboost集成算法作为分类器的原始模型,但对不平衡数据集而言,为提升分类器性能,考虑不同误分类情况代价的差异性对算法进行优化也是之后需要深入研究的重要问题。
辨证论治是中医药治疗大肠癌的核心,目前临床研究对中医证型的分析缺乏多中心、大样本的流行病学研究,为辩证的客观化、标准化带来了一定的困难。癌症数据存在极大的不平衡,准确率的应用更加有限,当某些重要类的代表样本不足时,很容易引起漏诊。传统的学习方法以降低总体分类精度为目标,将所有样本同等对待,造成了分类器在多数类的分类精度较高而在少数类的分类精度很低,故本文放弃采用单一准确率作为分类器性能衡量指标,引入F-mean与G-mean则更具合理性。而由于大肠癌中医症状与证型之间存在明显的非线性映射关系,即症状与证型之间并不是简单的一一对应关系,这就说明在大肠癌中医证型的临床判别中医生很容易根据经验做出判定,缺乏一定的科普性。故将中医药与信息化结合起来,探讨适用于处理临床领域不平衡数据集的计算机网络模型至关重要,也为中医证型的规范化带来裨益。本文从改善不平衡数据集出发,构建适用于大肠癌证型分类的网络模型,为大肠癌中医证型的辩证论治提供计算机领域的辅助模型,旨在推动大肠癌临床证型判定的有效性。
参考文献:
[1]胡小生,张润晶,钟勇.一种基于聚类提升的不平衡数据分類算法[J].集成技术,2014,3(02):35-41.
[2]姚宇,董本志,陈广胜.一种改进的朴素贝叶斯不平衡数据集分类算法[J].黑龙江大学自然科学学报,2015,32(05):681-686.
[3]闫慈,田翔华,阿拉依,等.基于AdaBoost法在代谢综合征不平衡数据分类中的应用[J].现代预防医学,2017,44(21):3850-3852,3862.
[4]张文东,吕扇扇,张兴森.基于改进BP神经网络的非均衡数据分类算法[J].计算机系统应用,2017,26(06):153-156.
[5]骆学新,李志丹.大肠癌的中医药治疗进展[J].浙江中医杂志,2014,49(10):777-779.
[6]王国娟,余文燕.大肠癌中医证型规律研究[J].中华中医药杂志,2016,31(03):837-840.
[7]闫霞,郑佳露,胡兵.大肠癌证候及其现代生物医学内涵研究[J].世界科学技术-中医药现代化,2017,19(07):1253-1257.
收稿日期:2018-10-9;修回日期:2018-10-19
编辑/成森