一种基于飞蛾扑火优化算法的XGBoost乳腺癌快速诊断方法技术

技术编号:28461617 阅读:19 留言:0更新日期:2021-05-15 21:26
本发明专利技术涉及乳腺癌诊断领域,尤其涉及一种基于飞蛾扑火优化算法的XGBoost乳腺癌诊断方法,所述方法包括:获取原始乳腺癌数据集并对数据集进行归一化处理;采用默认参数XGBoost特征选择筛选特征,降低数据维度并将降维后的乳腺癌样本数据集划分为训练样本集和测试样本集;采用飞蛾扑火优化算法优化XGBoost模型的参数;将训练样本集输入优化后的XGBoost模型中进行模型训练,采用10折交叉验证验证模型性能并利用准确率Accuracy指标度量训练好的模型;输入测试样本集到训练好的模型中,获取分类结果,并采用Accuracy、F1、G

【技术实现步骤摘要】
一种基于飞蛾扑火优化算法的XGBoost乳腺癌快速诊断方法


[0001]本专利技术涉及乳腺癌诊断领域,尤其涉及一种基于飞蛾扑火优化算法的XGBoost乳腺癌快速诊断方 法。

技术介绍

[0002]在全球范围内,乳腺癌约占影响女性的所有癌症的15%,乳腺癌是女性癌症相关死亡的常见原因。 而且任何年龄段的女性都有可能患乳腺癌。所以早期发现并治疗乳腺癌的关键就是预防性筛查,世界上许 多国家都已经成功的启动了筛查计划。但是相关的医疗资源对大部分人来说都是稀缺的,特别是针对癌症 这种严重性疾病的专家及医务人员更少,存在医疗资源分配不均匀问题。所以将机器学习应用到癌症诊断 领域可以很大程度提高诊断效率。
[0003]集成学习算法通过将多个弱分类器组合为强分类器来提高模型的稳定性和准确性。XGBoost属于 集成学习算法中的一种,是GBDT算法上的提升。XGBoost算法对损失函数做了二阶的泰勒展开提高了模型 准确率,并在目标函数之中加入了正则项对整体求最优解,用以权衡目标函数的下降和模型复杂程度,避 免过拟合。在应用于特征提取和数据分类时具有很好的性能优势,将其应用于乳腺癌诊断领域,能够解决 实际问题,但当前还比较缺乏此类应用。
[0004]XGBoost模型的性能与参数的设置有关,合理的参数设置可以大大提升模型的整体效果。传统的 手动调参通过人工的方式检查随机参数集来训练算法,但是这种手动方式不能保证得到最佳参数组合,现 有的且使用比较广泛的就是网格搜索和随机搜索算法,但是随机搜索与手动调参相似结果不能保证,网格 搜索存在资源消耗大的问题且因为没有考虑之前的参数信息则容易陷入局部最小值,所以需要提出新的有 效的调参方法来提升模型训练效果。
[0005]飞蛾扑火优化算法(Moth

flame optimization algorithm,MFO)是Seyedali Mirjalili等于2015 年提出的一种新型智能优化算法,为优化领域提供了一种新的启发式搜索范式:螺旋搜索,该算法具有并 行优化能力强,全局性优且不易落入局部极值的性能特征。本专利技术先利用默认参数的XGBoost对原始乳腺 癌数据集进行特征提取降低样本数据维度,然后利用飞蛾扑火优化算法优化XGBoost模型的参数获得最佳 参数集,最后训练优化后的XGBoost模型并采用10折交叉验证验证模型的性能。

技术实现思路

[0006]本专利技术的目的是为了解决在乳腺癌诊断领域中诊断准确率和诊断速度的问题,提出了一种基于飞 蛾扑火优化算法的XGBoost乳腺癌诊断方法,本方法使用了XGBoost特征提取算法和改进的XGBoost分类 器模型,提高乳腺癌诊断的效率和准确率。
[0007]本专利技术的目的可以通过以下技术方案来实现:
[0008]一种基于飞蛾扑火优化算法的XGBoost乳腺癌诊断方法,包括以下步骤:
[0009]1)获取原始乳腺癌数据集并进行归一化处理;
[0010]2)采用XGBoost特征选择方法对原始乳腺癌数据集进行特征选择,降低数据集维度;
[0011]3)将降维后的乳腺癌数据集按照固定比例划分为训练集和测试集;
[0012]4)采用飞蛾扑火优化算法优化XGBoost模型参数,确定最优参数集;
[0013]5)利用训练样本集训练优化后的XGBoost分类模型;
[0014]6)采用10折交叉验证方法验证训练好的模型的性能,并采用Accuracy、F1、G

Mean和AUC指 标度量模型的好坏;
[0015]7)输入测试样本集到训练好的XGBoost分类模型进行乳腺癌分类诊断,并采用Accuracy、F1、 G

Mean和AUC指标度量模型分类诊断效果。
[0016]所述步骤1)中,获取原始数据集是从UCI机器学习库中下载乳腺癌数据集,并对乳腺癌数据集进 行归一化处理,具体计算如下:
[0017][0018]式(1)中,表示乳腺癌数据集中第i维中的第j个数据归一化后得到的数据,x
i,j
为表示乳腺癌 数据集中第i维中的第j个原始数据,Max(x
i
)表示乳腺癌数据集中第i维中的最大值,Min(x
i
)表示乳腺 癌数据集中第i维中的最小值;
[0019]所述步骤2)中,XGBoost特征选择方法,先将乳腺癌数据集按照7:3比例划分为训练集和测试 集,利用训练集训练默认参数的XGBoost分类模型,按照训练好的模型特征重要性对特征进行排序,排除 重要性分数小于为设置重要性分数阈值的特征;
[0020]所述步骤4)中,飞蛾扑火优化算法中,飞蛾的维度设置为9维,分别为学习率learning_rate、 树的棵树n_estimators、最大树深度max_depth、最小叶子节点权重min_child_weight、遗传算法mma值、 随机采样比例subsample、每棵树随机采样的列数的占比colsample_bytree、L1正则项的权重reg_alpha 以及L2正则项的权重reg_lambda;
[0021]所述步骤4)中,飞蛾扑火优化算法中,飞蛾的适应度函数为XGBoost分类模型的错误率err_rate, 每只飞蛾的适应度值计算具体为,先采用训练集训练XGBoost分类模型,该模型的上述指定的参数值为每 只飞蛾的位置,再输入测试集到训练好的模型中进行分类,最后计算分类错误率err_rate,即为1

Accuracy;
[0022]所述步骤4)中,飞蛾扑火优化算法中,初始化第一代飞蛾及火焰,飞蛾的位置在参数搜索空间内 随机取值,并计算每只飞蛾对应的适应度值,火焰位置及其适应度值设置为飞蛾按适应度值升序排序的位 置及适应度值;
[0023]所述步骤4)中,飞蛾扑火优化算法中,火焰数量按照以下公式自适应地减少:
[0024][0025]式(2)中,l是当前迭代次数,N是最大火焰数,T是最大迭代次数;
[0026]所述步骤4)中,飞蛾扑火优化算法中,每只飞蛾相对火焰的位置按照式(5)进行更新:
[0027]M
i
=S(M
i
,F
j
)
ꢀꢀ
(3)
[0028]S(M
i
,F
j
)=D
i
×
e
bt
×
cos2πt+F
j
ꢀꢀ
(4)
[0029]D
i
=|F
j

M
i
|
ꢀꢀ
(5)
[0030]其中M
i
表示第i只飞蛾,F
j
表示第j个火焰,S表示螺旋函数,D
i
表示第i只飞蛾与第j个火焰之间的 距离,b为所定义的对数螺旋形状常数(设置b=1)本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于飞蛾扑火优化算法的XGBoost乳腺癌快速诊断方法,其特征在于,包括步骤:(1)对原始乳腺癌数据集进行归一化处理得到样本数据集;(2)采用默认参数的XGBoost特征选择算法对样本数据集的特征按照特征重要性进行排序筛选,提取关键特征,降低样本数据的维度,并将降维后的样本数据集按固定比例分为训练样本集和测试样本集;(3)采用飞蛾扑火优化算法优化XGBoost模型参数,确定最优参数集,将训练样本集输入到优化后的XGBoost模型中进行训练;(4)采用10折交叉验证方法验证训练好的模型的性能,并采用运行时间、Accuracy、F1、G

Mean和AUC指标度量模型最终分类效果。2.根据权利要求1所述的一种基于飞蛾扑火优化算法的XGBoost乳腺癌诊断方法,其特征在于,步骤(3)中飞蛾扑火优化算法,假设飞蛾是搜索参数集的候选参数集,飞蛾是在搜索空间内移动的搜索个体,待求参数变量是飞蛾在搜索空间的位置,飞蛾种群的矩阵表示如下:其中,n表示飞蛾只数,设置为10,d表示待求参数变量个数,设置为9,对于这n只飞蛾假设存在对应的一列适应度值向量,表示如下:火焰是到目前为止所对应的飞蛾的最优位置,每只飞蛾仅利用与之对应的唯一火焰更新其自身位置,从而避免陷入局部极值情况,因此搜索空间中飞蛾位置与火焰位置是相同维度的变量矩阵,表示如下:表示如下:其中OF是火焰对应的适应度值向量,火焰位置及其适应度值设置为飞蛾按适应度值升序排序的位置及适应度值。3.根据权利要求1所述的一种基于飞蛾扑火优化算法的XGBoost乳腺癌快速诊断方法,其特征在于,步骤(3)中飞蛾扑火优化算法选取XGBoost模型9个影响较大的参数,分别为学习率learning_rate、树的棵树n_estimators、最大树深度max_depth、最小叶子节点权重min_child_weight、gamma值、随机采样比例subsample、每棵树随机采样的列数的占比colsample_bytree、L1正则项的权重reg_alpha以及L2正则项的权重reg_lambda,作...

【专利技术属性】
技术研发人员:胡雪梅徐蔚鸿陈沅涛
申请(专利权)人:长沙理工大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1