基于Spark和随机森林优化的糖尿病预测

2021-11-05 07:48辽宁工业大学电子与信息工程学院杨雨含安国家
电子世界 2021年17期
关键词:特征选择决策树森林

辽宁工业大学电子与信息工程学院 杨雨含 安国家

在非平衡数据的问题上,我们实验发现随机森林无法很好的解决这一问题。本文采用了SMOTE算法,能够有效的减少和降低数据集的非平衡性。在面对医疗数据高度特征冗余的特点上,该方案使用了基于随机森林和序联合搜索的Wrapper式特征选择算法。在构造随机树时,该方案使用了Spark实现随机树的并行构建,提高了运行速率。通过对随机森林优化后的模型与随机森林、K最近邻、神经网络和向量机等模型进行对比,实验结果表明,随机森林优化算法的精度达到81.13%,优于其他的4种分类模型。

随机森林是一种先进的机器学习模型,近些年得到快速发展,并广泛应用在医疗、经济学、生态学等领域。但是在实际上,随机森林算法存在数据分类不足等问题。有许多的学者在随机森林算法上做了深入的研究,如俞孙泽在对随机森林算法优化改进的分析一文中提出了使用粗糙集的方法对随机森林特征选择上进行优化。Vakharia等先用ReliefF算法计算特征的权重,删除低于权值的特征后再进行随机森林训练,有效地提高了诊断的准确率。庞泰吾等人用连续特征离散化的方法来改进随机森林的性能。

为了更好的对糖尿病数据集进行预测分析,本文提出了性能更加突出的随机森林优化算法并结合Spark并行计算,可以在提高预测准确率的基础上大大提升算法的效率。

1 随机森林算法

1.1 决策树

决策树被广泛认为可能是基于机器深度学习的一个分类器。决策树的特征学习一般过程包括:决策数特征选择、决策树的生成和决策树的修剪枝。特征选择主要含义是泛指从现有训练信息数据中进行筛选分析出来的具有训练相应的信息分类分析功能的信息特点,它的基本特征选择分析方法主要分为三种,ID3的信息增益、C4.5的信息增益比、CART的基尼系数。

1.2 随机森林模型

(1)随机选择样本:方法假设一个原始数据集中有N个样本,从原始数据集中选取N个样本,将一个个原始样本随机地依次放回,即bootstrap取样,这些元素是有可能被重复抽到的。

(2)建立决策树:输入特征数目m,用来确定一棵决策树上一个节点的决策结果。

(3)随机选择特征:对于每一个节点,随机选择m个特征,M表示特征数目(m<

(4)随机森林投票:每棵决策树对测试集中的每个数据进行分类,统计k个分类结果,得票最多的类别是样本的最后一个类别。

2 数据来源和数据处理

2.1 数据来源

本文数据集初稿来自美国国家级糖尿病与消化与肾脏疾病研究所。这里的所有患者均为皮马印第安人血统至少21岁的女性。共769个样本,其中268例被确诊为糖尿病阳性病例,500例为糖尿病检查为阴性。该临床测试结果中的特征变量为怀孕次数,口服葡萄糖耐量测试中2h的血浆葡萄糖浓度,舒张压,三头肌皮肤褶皱厚度,2h血清胰岛素,体重指数,糖尿病谱系功能,年龄,同时还提取一个类别变数是否会患有糖尿病(Outcome,0代表不是,1代表是),如表1所示。

表1 皮马印第安人糖尿病诊断信息

2.2 数据处理

(1)数据错误值缺失值处理

对于异常值的处理,我们采用的方法是剔除异常点。而对于缺失值的处理,我们使用的是Python中的缺失值的替换的原则,用平均值来替代缺失的值。这样我们就能够得到一组新的数据包含764个样本点,其中标签为-1的样本点数为264个,标签值为+1的样本点数为500个。

(2)SMOTE处理非平衡数据

SMOTE采用了过采样技术.它采取了一种基于随机过采样的技术改进解决方案,因为随机过采样,采用了简单的随机样本复制策略,只需要增加少量样本。这样就会产生过拟合,SMOTE算法的基础设计思想就是对少量样本进行分析,然后再将少量的样本通过人工合成新的样本添加到相应的数据集中。

(3)数据标准化

数据标准化主要是指对数据进行伸缩,使其处于一个小的指定区间内。它常被广泛应用于对某些指标进行处理后所做出的比较和评价,去除对数据的单位限制,将这些数据以一个无量纲的纯值的方式转化为纯值,便于对不同单位或一个数量级的指标之间进行相应的比较和加权。

(4)Spark并行计算

Spark的核心为RDD。可以说我们认为它本身就是一组简单的只读的分区记录,其中一个RDD包含了多个集群,每个分区都会存储一部分的数据并保存到整个集群的不同节点上,不同节点间进行各自的运算逻辑。整个Spark都围绕RDD进行展开。RDD创建方式的有两种,第一种是由外部数据存储文件系统的数据集创建的。第二种是计算程序中生成的数据集。

3 实现与结果

3.1 Wrapper特征选择(RFE)

该算法主要应用于特征选择。递归特征消除法是利用机器学习模型对其进行多轮训练。每一轮训练完成后,剔除权重系数对应的几个特征,基于新的特征集再次进行下一轮训练。也就是说,通过递归的方式选出使得某评价指标达到最高的一组特征子集,因此Wrapper特征选择法的准确率最高,同时时间复杂度也很高。

3.2 随机森林算法并行化设计

随机森林算法因其多棵决策树共同投票决定结果的行为,能够很好地保证结果准确率,但正是由于这个特性导致整个算法在大数据集上耗时过长的问题比较严重。改进后的随机森林算法采用了递归式思想,也就是每棵决策树的生成都要经过多次创建,这也使得算法模型的时间复杂度大大增加。现在Spark已经成为分布式领域中最为流行的算法框架。利用Spark MLLib实现随机森林模型构建和并行化,可以大大提高运行效率。

3.3 实验结果分析

为了比较不同分类模型的准确率,分别采用了随机森林、K最近邻、向量机、神经网络和本文的随机森林优化模型进行比较,如图1所示。

图1 ROC曲线图

通过ROC曲线图和计算的AUC值,我们可以得到随机森林优化算法所建立的模型比其他分类算法建立的模型分类性能最优。

总结:针对医学大量数据的高维特征空间、高特征冗余、高相关性、样本类别不平衡等特点,提出了一种有效的自适应改进随机森林算法。通过本文提出的随机森林优化算法,可以对糖尿病进行有效的预测。通过Spark和随机森林优化的方法研究了随机森林算法如何更好的对糖尿病数据集进行预测。并对随机森林优化后的模型与随机森林、K最近邻、神经网络和向量机等模型进行对比,结果表明随机森林优化算法的精度达到81.13%,高于K最近邻、随机森林、向量机、神经网络的80.11%、79.84%、77.89%、77.53%的精确度。

猜你喜欢
特征选择决策树森林
一种针对不均衡数据集的SVM决策树算法
决策树和随机森林方法在管理决策中的应用
哈Q森林
Kmeans 应用与特征选择
哈Q森林
哈Q森林
基于决策树的出租车乘客出行目的识别
哈Q森林
联合互信息水下目标特征选择算法
基于特征选择聚类方法的稀疏TSK模糊系统