基于随机森林的乳腺癌分类判别
摘要
摘要: 据可靠资料报到乳腺癌发病率从20世纪末期就一直保持着上升趋势。乳腺癌是一种恶性肿瘤病,它在女性患恶性肿瘤病中排行第一,是导致女性癌症死亡的第二大原因,严重危及了妇女的健康和生命安全。每年因乳腺癌去世的女性达到100多万,早发现、早预防和早治疗成为急需解决的问题。随着科学技术的进步,人工智能的得到迅速发展,运用计算机辅助诊断乳腺癌已经成为一件常用的手段,计算机辅助诊断在医疗诊断中取得了不少成果。
随机森林是一种常见的分类算法,在机器学习中属于无监督学习,是一种分类器。通过训练集构建一颗决策树,从而可以对新的数据预测其分类。本文根据美国威斯康星州的乳腺癌诊断数据集,生成一个能对乳腺癌进行诊断的分类器,分析验证计算该分类器的准确率。结果显示该方法具有较好的分类准确率。
关键词
关键词:乳腺癌;随机森林;分类器;
一、随机森林原理
随机森林是一种集成树形分类器,由多个决策树 组成。其中 是分类回归树CART 算法构建的没有剪枝的分类决策树,i是独立同分布的随机向量。在给定输入向量 x 下,每个决策树分类器通过投票来决定最优的分类结果。 在随机森林算法中,原理如图所以:

图 1随机森林原理图
- (1)自助重抽样从原始样本集中有放回地随机抽取 k 个新的样本集,形成一个分类器。
- (2)每个样本集生成单棵决策树。在树的每个节点处 M
个特征中随机抽取 m(m<M)个特征,依据节点不纯度最小的原则,递归调用过程 - (3)构造各个分支,直到这棵树能准确分类完全部训练数据,或者每个节点的不纯度达到最小。
- (4)重复步骤(2),构建 k 棵决策树,形成随机森林。 (4)根据决策树的投票结果,选出票数最多的一个分类。
二、随机森林算法在乳腺癌中的判别应用
随机森林方法判断是否患乳腺癌,主要分为4个步骤:数据预处理、特征向量的提取、训练模型和模型预测。
(一)、数据预处理
选取美国威斯康星州的乳腺癌诊断的数据集(附件:data.csv),该数据集中共包含32个字段,570行。利用pandas导入数据,展示部分前五行如下:


图 2data数据展示
观察上面的数据,可以看到三点:
- id在分类中不需要。
- diagnosis字段是判别的label 标签。
- Unnamed: 32字段缺失值过多,对模型有不好的影响,需要删除掉。
于是,只剩下30个字段,即30个特征。
(二)特征向量的提取和分析
查阅资料知data中前10个特征是样本细胞核特征值的平均值,第11到20个的特征为样本细胞核特征值的标准差,反映的是在一个样本不同细胞核在各个特征数值上的波动情况,第21到30个特征为样本细胞核特征值的最大值。故将这30个特征赋值给一个变量X,将diagnosis字段赋值给标签Y,并可视化标签数量,得到Benign的数量357,Malignant的数量212。
1、样本特征对标签影响
小提琴图结合了箱线图和密度图的特征优势,用来展示多组数据的分布状态和形状以及概率密度具有重要作用。例如,小提琴图特别适用于样本数据量非常大,不方便一个个展示。于是使用小提琴图展示数据特征对Label的影响。
均值可以看出样本中细胞核总体形态特征。恶性细胞核大小不一致,但大多数大于正常细胞核。图3中恶性的均值的分位数的位置高于良性,确信区间普遍上大于恶性,且两者均在50%位置上的密度最大。

观察图4,小提琴图上下窄,可用箱线图知识来解释,表明数据分布比较集中,各个数据本身的差异性不大;宽度显示y轴上数据发生的概率。左右偏宽,表示在该点的样本的概率密度大。
观察图5,恶性细胞核的最大值在小提琴图上上下分布较长,表示各个特征的最大值差异较大,且平均值大于良性细胞。
2、相关性判断
皮尔逊相关系数是度量两个变量之间的相关程度,其值的取值范围在-1到1之间。系数的值为1说明着X和Y所有的数据点能很好的落在一条直线上,且随着的增加而增加。相反,系数的值为−1同样表示所有的数据点都落在直线上,但是随着的增加而减少。系数的值为0则说明变量之间没有任何线性关系。


图 7 相关系数表
计算得到相关皮卡尔系数0.86,这足以说明它们是相关的。再者通过二元的核密度图以及散点图,我们可以发现radius_worst,perimeter_worst和area_worst是相关的,有利于我们进行特征选择。接下来看多个系数的相关图:
热力图对角线上的是单变量自身的相关系数1。颜色越浅表明相关性越大。radius_mean、perimeter_mean 和 area_mean 相关性非常大,compactness_mean、concavity_mean、concave_points_mean这3个字段也是相关的,因此我们可以取其中的一个作为代表。

通过上述分析,我们去掉特征之间是否相关的特征,只保留一个。从图中可以看出,radius_mean,perimeter_mean和area_mean是相互关联的,因此我们仅使用area_mean。最终通过随机森林我们选择了重要性排在前16的’perimeter_mean’, ‘radius_mean’, ‘compactness_mean’, ‘concave points_mean’, ‘radius_se’,‘perimeter_se’, ‘radius_worst’, ‘perimeter_worst’, ‘compactness_worst’, ‘concave points_worst’, ‘compactness_se’, ‘concave points_se’, ‘texture_worst’, 'area_worst’这16个特征。

图 10热力系数
用列表表示这16个特征的前五行:


图 11 16个特征
三、模型建立
1、PCA数据降维
PCA又称主成分分析,是一种常用统计方法。PCA将一组可能存在相关性的变量通过正交变换转换成一组线性不相关的变量,这组转换后的线性不相关的变量叫主成分。数据降维中常常利用PCA来进行数据分析,因为PCA能在规定的的损失范围内最大的简化属性。 
图 12PCA降维图
观察图12,PCA将30维特征转化成2维特征,而且可以较好的分类开。
2、聚类算法
聚类算法是自下而上,不断合并相似的聚类中心,以便让类别变少的同时,每个聚类中心的距离就越来越远。
聚类算法又称群分析,是研究分类问题的一种统计分析方法,以相似性为基础,在一个聚类中的模式之间比不在同一聚类中的模式之间具有更多的相似性。于是可以得到细胞核不同特征之间的相似性和分类情况。该聚类主要分为三个板块,然后聚类成两个,最后统一成一个,正好对应乳腺癌诊断数据集中特征向量的分类标准。因此,可按照线形状走向找到 
图 13聚类情况图 每个样本的所属类别。
3、训练模型和预测
将样本数据的70%用于训练,30%用于测试。利用python库中的包Random Forest Classifier(随机森林)算法,得到样本的精确度为:0.9532。已经达很高的预测效果。
观察树的深度和精确图,在达到最高精确度0.9684之前,模型的精确度随着迭代次数的增加而增加,超过以后,先降低后不变。

图 14深度与精确度关系图 
图 15测试值与预测值的热力关系图
为了进一步证明模型的可靠性,绘制了测试值与预测值的热力关系图,因为精度几乎达到96%,从热力图中可以看到,很少发生错误的预测。
四、模型评价
1、模型实现步骤流程:

图 16模型实现流程图
2、预测模型实现步骤流程:

图 17 预测模型实现流程
3、随机森林模型优点和缺点
| 模型优点 | 模型缺点 |
|---|---|
| 使用于分类和回归 | 分类效果没有回归号 |
| 不会过度拟合 | 黑箱、很难改动调参 |
| 使用于高维度、大样本量 | 少数据表示差 |
由于随机森林算法在很多情况下均以“黑盒”的方式存在,就好比瞎子摸象,因此对用户而言,对参数进行调整,数据集进行训练是隐蔽的,甚至构建模型的细节都是隐蔽的,这就导致了随机森林模型的可解释性非常差,于是一定程度上阻碍了该模型对是否患乳腺癌的可解释性。
样本的特征选择和样本数据的随机性是影响随机森林模型的主要原因。本文通过分析特征之间的关系和特征与特征值之间的关系,去除了具有关系的特征,利用数学分析选取了16个特征,并用随机森林选取了重要性排行在前16位的特征向量进行验证。保证了用户对随机森林中包含决策树的结构和属性的理解,确保了模型的可靠性。
参考文献
[1]全雪峰.基于随机森林的乳腺癌计算机辅助诊断[J].软件,2017,38(03):57-59.
[2]罗姗,邵艳华.基于PCA-RF方法的乳腺图像多类别分类研究及应用[J].湖北民族大学学报(自然科学版),2020,38(04):402-407.
[3]刁继尧. 基于机器学习的乳腺癌风险分析与预测研究[D].南京邮电大学,2019.
[4]王钟廉.基于大数据的分类算法研究——以乳腺癌TNM分期为例[J].电子制作,2018(07):95-97.
3443

被折叠的 条评论
为什么被折叠?



