数据挖掘在乳腺癌复发预测中的应用研究

2019-05-16 01:39程国建魏珺洁
智能计算机与应用 2019年2期
关键词:贝叶斯分类器朴素

程国建,张 晗,魏珺洁

(西安石油大学 计算机学院,西安710065)

0 引 言

数据挖掘的概念是在1995年加拿大召开的第一届知识发现和数据挖掘会议中提出的,早期主要研究从数据库中发现知识[1]。数据挖掘通常是指从大量的数据中寻找隐藏的有用信息的过程,主要任务有分类、聚类、关联分析、时序模式、偏差检测和预测。自从数据挖掘被提出以来,就引起了许多专家学者的广泛关注。近年来,随着大数据的兴起,数据挖掘逐渐被应用到各行各业中,例如医疗领域[2]、金融业[3]、电力行业[4]等领域。

乳腺癌是乳腺上皮细胞增生癌变后,形成的一个凹陷肿块。乳腺癌是一种常见的恶性肿瘤,不仅危及女性的生命,也严重影响了患者的身心健康。自从20世纪70年代末开始,乳腺癌的发病数一直位居女性肿瘤首位,并且每年都有递增的趋势[5]。随着医疗技术的发展和人们对乳腺癌研究的不断深入,现在乳腺癌已经有手术治疗、放射治疗、化学药物治疗、免疫治疗等多种治疗方法。然而,受乳腺癌原发肿块的大小、位置、患者年龄、受侵淋巴数等因素的影响,乳腺癌在手术后两年内有可能发生复发或者转移[6]。因此,利用数据挖掘算法对乳腺癌复发的影响因素进行分析,进而实现对乳腺癌术后是否会复发的预测,可以有效地帮助患者尽早采取措施、积极治疗。

1 数据挖掘

数据挖掘是数据库知识发现的一个重要步骤,已有许多经典的算法,例如,常用于分类的决策树算法C4.5、能够根据属性进行聚类的K-Means算法、可以挖掘数据集中的关联规则的Apriori算法等。本文主要利用C4.5算法、朴素贝叶斯算法和SVM算法对乳腺癌复发情况进行分类与预测。对此可探讨分述如下。

1.1 C4.5

C4.5算法是由澳大利亚悉尼大学Ross Quinlan教授提出的,是对ID3算法改进后得到的一种决策树分类算法。相比于ID3算法,C4.5算法引入了信息增益率来选择属性,可以对连续属性进行离散化处理[7]。 其次,C4.5 还在构造树的过程加入了剪枝,剪枝可以减少模型的复杂度,从而避免过拟合现象[8],而且C4.5算法还能够对不完整数据进行处理。

如图1所示,C4.5算法可以根据数据样本的特征属性构造一棵决策树,树的叶子节点代表经过分类得到的具体类别,树的非叶子节点代表数据的属性,从根节点到叶子节点形成的一条路径就是一条分类规则。该算法的本质就是从训练数据中归纳出一组分类规则,并且这些分类规则是互斥且完备的。C4.5算法适合在小规模数据集和多属性数据集上使用,并且得到的分类准确率较高。只是在构造决策树的过程中,需要多次扫描和排序,因此该算法的效率较低。

图1 实现乳腺癌复发预测的C4.5决策树Fig.1 C4.5 decision tree for breast cancer recurrence prediction

1.2 朴素贝叶斯

朴素贝叶斯算法是Duda和Hart于1973年提出的,是以贝叶斯定理为基础的一种分类方法。之所以称为朴素贝叶斯,是因为该分类器假设数据的每一个属性之间是相互独立的,这些属性都是直接与类属性相关联。朴素贝叶斯算法可以根据数据的一些特征属性,计算各个类别的概率,最终概率最大的类别即为该数据的类。其方法可概述如下:

(1)设x={a1,a2,…,am} 为一个待分类项,而每个a为x的一个特征属性。

(2)有类别集合C={y1,y2,… ,yn}。

(3)计算在X个属性条件下,所有类别的概率P(y1|x),P(y2|x),…,p(yn|x)。

(4)在所有概率中,选取最大的概率P(yk|x)=max{P(y1|x),P(y2|x),…,P(yn|x)},则X属于概率最大的类别x∈yk。

朴素贝叶斯算法分类效率稳定、算法简单,尤其对小规模数据的分类效果好,对缺失数据不敏感。由于朴素贝叶斯模型假定属性之间是相互独立的,因此与其它分类方法相比,该算法的误差率可能较低。然而实际上,各个属性之间往往具有一定的相关性。因此当数据集的各个属性实际相关性较小时,朴素贝叶斯分类器分类效果良好,否则,分类效果不好。

1.3 SVM

支持向量机(Support Vector Machine,SVM)是一种监督式学习的方法。支持向量机首先由Vapnik和Corinna Cortes在1995年提出的,通常被广泛地应用在统计学、模式分类和回归分析等方面。SVM可以在最小化经验误差的同时,最大化几何边缘。因此,SVM也被称为最大化边缘区分类器。如图2所示,限制边缘宽度的向量(点)是支持向量(SV),2个异类支持向量到超平面的距离之和称为间隔。支持向量机的基本思想就是将输入数据视为n维空间中的2组向量。通过在该空间中构建一个分离超平面来对输入数据进行分类,这个超平面使2个数据集之间的边界最大化。支持向量机具有以下优点:

(1)通用性:可以在多种函数集中构造函数。

(2)鲁棒性:不需要微调。

(3)有效性:在解决实际问题时是最好的方法之一。

(4)计算简单:方法的实现只需要利用简单的优化技术。

图2 SVM原理图Fig.2 SVM schematic

2 乳腺癌复发预测

2.1 实验过程

本文使用的是来自南斯拉夫卢布尔雅那大学医疗中心乳腺癌肿瘤研究所,由Zwitter和Soklic提供的乳腺癌数据[9-12],表1展示了该数据集的一部分。该数据集包含286个实例和10个属性,类属性代表是否会复发,其它 9个属性分别为 Age(年龄)、Menopause(更年期)、Tumor-size(肿瘤大小)、Invnodes(受侵淋巴结数)、Node-caps(有无结节冒)、Deg-malig(恶性肿瘤程度)、Breast(肿块位置)、Breastquad(肿块所在象限)、Irradiat(是否放疗)[13]。

表1 乳腺癌数据集Tab.1 Breast cancer dataset

Weka是一个拥有可视化界面的数据挖掘平台,在这个平台下,可以简单地完成数据挖掘的整个过程[14]。 本文的实验环境使用的是 Weka3.9。 过程中,各研发步骤可阐述如下。

(1)启动 Weka,打开Explorer面板,在Preprocess下点击 Open File导入乳腺癌数据集(breast-cancer)。

(2)在Classify下的Classifier中,点击Choose选择分类器。本文使用的3种分类算法对应的分类器分别为:J48(C4.5 算法)、NaiveBayes(朴素贝叶斯算法)和 LibSVM(SVM 算法)。 其中,C4.5分类器的confidenceFactor参数设置为 0.25、numFold 参数值设置为3、seed参数设置为1、reduceErrorPruning参数设置为False,即使用C4.5剪枝。朴素贝叶斯分类器的useKernelEstimator参数和useSupervisedDiscretization参数均设置为False。

C4.5算法使用createNode()函数为决策树创建新节点;使用find_best_split()函数来选择属性;使用Classify()函数确定叶节点的类别标签;使用stopping_cond()来检查是否要终止决策树的增长。

朴素贝叶斯算法在进行分类时,首先要假设数据的特征属性是相互独立的,并且所有的属性变量都直接与类属性相关联,把类属性作为唯一的父节点。根据此次实验的训练数据,构建朴素贝叶斯分类器模型。

(3)在 Test options中选择 Cross-validation(交叉验证),由于本文使用的是十折交叉验证,因此Cross-validation Fold为10。

本文采用十折交叉验证的验证方法,相比于其它交叉验证方法,该方法在模型选择中更为有效[15]。在十折交叉验证方法中,数据集被分成10份,在进行实验时,轮流将其中的9份作为训练数据,1份作为测试数据。每次实验都会得到一个相应的正确率,对10次实验得到的正确率求取平均值,并将该值作为算法最终的正确率。

(4)点击Start按钮,开始实验。最后得到如图3~图5所示的运行结果。

图3 C4.5算法预测乳腺癌复发的结果Fig.3 C4.5 algorithm predicts breast cancer recurrence

图4 朴素贝叶斯算法预测乳腺癌复发的结果Fig.4 Naive Bayesian algorithm predicts breast cancer recurrence

图5 SVM算法预测乳腺癌复发的结果Fig.5 SVM algorithm predicts breast cancer recurrence

2.2 实验结果分析

基于前文的实验结果,将其归纳整合后详见表2。本次实验使用的数据集属于小规模、多属性,单从这一点分析,3种分类算法都易于实现、且性能表现良好。然而从表2的数据中可以看出,C4.5的分类正确率大于朴素贝叶斯分类器和SVM分类器的正确率。朴素贝叶斯算法在进行分类时,只考虑了每个属性和类属性之间的关系,而没有考虑到各个属性之间的关系,这就直接影响了算法的分类正确率。而且,根据最后一行可以看到,3种算法的均方误差也是有差异的,C4.5算法的均方根误差显然比另外2种算法小。综上所述,在乳腺癌数据预测实验中C4.5算法效果更好。

表2 3种方法实验结果对比Tab.2 Comparison of experimental results of three methods

3 结束语

乳腺癌是一种可能危及女性生命的恶性肿瘤,而且乳腺癌在术后的2年内存在复发的风险。文章利用了数据挖掘中的C4.5算法、朴素贝叶斯算法和SVM算法在Weka中对由Zwitter和Soklic提供的乳腺癌数据进行实验,从而实现对乳腺癌的复发预测。此次实验不仅实现了对乳腺癌的复发预测,还可以对比分析3类算法,选出最合适的一种。C4.5算法的分类正确率较高,且均方根误差明显比另外2种算法小,因此,在此次实验中使用C4.5算法的效果更佳。

今后主要研究的问题就是在提高C4.5算法效率的同时,寻找更优的算法。如今,乳腺癌复发预测是广受关注的一个问题,未来会有越来越多的研究学者提出更好的算法和方案来解决这个问题,并为医学中的乳腺癌治疗提供帮助。

猜你喜欢
贝叶斯分类器朴素
学贯中西(6):阐述ML分类器的工作流程
隔离朴素
基于朴素Bayes组合的简易集成分类器①
朴素的安慰(组诗)
他是那样“笨拙”和朴素——30多年后,我们为什么还需要读路遥?
基于贝叶斯网络的海盗袭击事件影响因素
最神奇最朴素的两本书
一种自适应子融合集成多分类器方法
租赁房地产的多主体贝叶斯博弈研究
租赁房地产的多主体贝叶斯博弈研究