首页> 中国专利> 基于遗传算法和决策树的健康状况预测方法

基于遗传算法和决策树的健康状况预测方法

摘要

本发明公开了一种基于遗传算法和决策树的健康状况预测方法,其可使模型精确度和模型大小获得平衡,在保证性能的同时,可提高预测效率,该方法基于健康状况相关数据进行,并利用了遗传算法和决策树模型实现,该方法包括:将训练集作为决策树模型的输入数据,对决策树模型进行训练,决策树模型的超参数种群初始化,超参数种群包括若干个超参数,采用交叉验证方式对决策树模型进行评估,判断决策树模型是否满足条件,若满足则返回评估结果,若不满足,则进入下一步骤,采用交叉算子和变异算子对决策树模型的父代决策树进行选择,子代决策树生成,对子代决策树进行评估,利用子代决策树获得的超参数作为预测健康状况的超参数。

著录项

  • 公开/公告号CN113160990A

    专利类型发明专利

  • 公开/公告日2021-07-23

    原文格式PDF

  • 申请/专利权人 华东师范大学;

    申请/专利号CN202110523546.5

  • 申请日2021-05-13

  • 分类号G16H50/30(20180101);G06N3/00(20060101);G06N3/12(20060101);

  • 代理机构32260 无锡市汇诚永信专利代理事务所(普通合伙);

  • 代理人朱晓林

  • 地址 200241 上海市普陀区中山北路3663号

  • 入库时间 2023-06-19 11:57:35

说明书

技术领域

本发明涉及机器学习技术领域,具体为一种基于遗传算法和决策树的健康状况预测方法。

背景技术

随着人们对生命活动理解的深入,以及对疾病发生、发展的认知和干预技术水平的提高,人们对自身的健康状态越来越重视,但现有技术中,尤其在医学健康领域,人们对自己是健康状态还是亚健康状态并不了解,人们对自身疾病或非疾病状态的了解来自定期的医疗机构体检报告,对于非医学人员,面对体检结果没达到疾病程度的指标往往缺乏简单有效的判断,无法对其自身的健康状况进行有效预测。随着机器学习技术的发展,以及人们对健康状况的研究,遗传算法和决策树算法被应用于人口健康状况的预测中,但现有的遗传算法和决策树算法存在结构复杂、性能低等问题。

遗传算法是模拟达尔文生物进化论的自然选择和遗传学机理的生物进化过程的计算模型,是一种通过模拟自然进化过程搜索最优解的方法,该方法以一个群体中的所有个体为对象,并利用随机化技术指导对一个被编码的参数空间进行高效搜索,其中,搜索操作方式包括选择、交叉和变异,核心内容包括:参数编码、初始群体的设定、适应度函数的设计、遗传操作设计、控制参数设定。该方法的主要特点是:(1)直接对结构对象进行操作,不存在求导和函数连续性的限定;(2)具有内在的隐性并行性和更好的全局寻优能力;(3)采用概率化的寻优方法,不需要确定的规则就能自动获取和指导优化搜索空间,自适应地调整搜索方向。

遗传算法能够自我迭代,让它本身系统内的东西进行优胜劣汰的自然选择,把好的保留下来,次一点的东西就排除掉,其本质是优胜劣汰,选出最优秀的个体,寻找最优解。实际工程应用中,遗传算法常被用于解决多目标优化问题,一般情况下,多目标优化问题的各个子目标之间是矛盾的,一个子目标的改善有可能会引起另一个或者另几个子目标的性能降低,也就是要同时使多个子目标一起达到最优值是不可能的,而只能在它们中间进行协调和折中处理,使各个子目标都尽可能地达到最优化,其与单目标优化问题的本质区别在于它的解并非唯一,而是存在一组由众多Pareto最优解组成的最优解集合,集合中的各个元素称为Pareto最优解或非劣最优解。

决策树是一种机器学习的方法,其生成算法包括ID3、C4.5和C5.0等,决策树是一种树形结构,由一个根节点、若干个内部节点和叶节点构成,其中,叶节点对应决策结果,其他节点对应属性判断规则。决策树本质上是一层一层地根据条件递归做判断,其中每个内部节点表示一个属性的判断,每个分支代表一个判断结果的输出,最后每个叶节点代表一种分类结果。决策树既可以应用于分类任务,也可用于回归任务,具体是用于分类任务还是回归任务,主要取决于目标变量的连续性。如果目标变量为离散变量,则为分类;如果目标变量为连续变量,则为回归。由于决策树对应决策过程易于可视化、可同时应用于分类和回归任务、可处理大规模数据集等优点而被广泛应用。

虽然决策树算法被广泛证明可以在机器学习任务上取得良好的预测性能,但传统的决策树算法存在精度差、性能低等问题,为保证模型精度以及实际预测的性能要求,通常需要构建庞大的决策树模型,但是庞大的决策树模型往往存在运行时间长、预测效率低等问题,因此发明一种可使模型精确度和模型大小获得平衡,同时可提高预测效率的预测模型成为本领域人员亟待解决的问题。

发明内容

针对现有技术中存在的上述问题,本发明提供了一种基于遗传算法和决策树的健康状况预测方法,其可使模型精确度和模型大小获得平衡,在保证性能的同时,可提高预测效率。

为实现上述目的,本发明采用如下技术方案:

一种基于遗传算法和决策树的健康状况预测方法,该方法基于健康状况相关数据进行,所述健康状况相关数据包括测试集、训练集,其特征在于,所述方法利用遗传算法和决策树模型实现,所述方法包括:S1,将所述训练集作为所述决策树模型的输入数据,对所述决策树模型进行训练;

S2,所述决策树模型的超参数种群初始化,所述超参数种群包括若干个超参数;

S3,采用交叉验证方式对所述决策树模型进行评估,判断所述决策树模型是否满足条件,若满足则返回评估结果,若不满足,则进入步骤S4;

S4,采用NSGA2算法中的交叉算子和变异算子对所述决策树模型的父代决策树进行选择;

S5,子代决策树生成;

S6,采用交叉验证方式对所述子代决策树进行评估;

S7,利用所述子代决策树获得的超参数作为预测健康状况的超参数。

其进一步特征在于,

所述健康状况相关数据包括当地人口体检报告数据、体检的检查项目数据;

步骤S2中,所述超参数种群初始化指:在搜索空间中,随机采样获取若干个超参数构成所述超参数种群的初始种群P;此时的个体一般适应度较低,需要在后续的迭代中不断优化;

步骤S3中,采用交叉验证的方式对所述决策树模型进行评估,指基于遗传算法中的演化算法提供的超参数,通过五折交叉验证方式对所述超参数的泛化性能进行预估,并将准确率作为适应度值;

步骤S4中,所述NSGA2算法基于非支配排序和拥挤距离为每个所述超参数分配一个排名(该排名为唯一排名),根据所述排名,选择较优的超参数;

步骤S5中,将所述遗传算法中的SBX算子作为交叉算子,将多项式变异算子作为变异算子,对所述决策树的超参数进行交叉和变异;

所述交叉的概率设置为0.9,所述变异的概率设置为0.5;

步骤S6中,采用交叉验证的方式对所述子代决策树进行评估,指基于遗传算法中的演化算法提供的超参数,通过五折交叉验证方式对所述超参数的泛化性能进行预估,并将准确率作为适应度值;

步骤S7中,将已完成训练的超参数种群输出,利用得到的决策树超参数来预测健康状况的决策树模型超参数。

采用本发明上述方法可以达到如下有益效果:该方法将健康状况相关数据作为基于遗传算法的决策树模型的输入数据,并利用决策树模型中生成的子代决策树获得的超参数作为预测健康状况的超参数,可用于对人口健康状况进行预测。该方法中在遗传算法演化过程中,采用交叉验证方式分别对决策树模型、子代决策树进行评估,在决策树模型的基础上,采用NSGA2算法中的交叉算子和变异算子对决策树模型的父代决策树进行选择,即对超参数种群中的超参数进行优化,最终将子代决策树获得的超参数作为预测健康状况的超参数,从而实现了人口健康状况的准确预测,相比于现有的庞大决策树模型,采用本申请方法获得的决策树模型结构简单,不仅使该决策树模型在模型精确度与模型大小之间取得了平衡,而且在保证性能的同时,缩短了运行时间,提高了预测效率。

附图说明

图1为本发明基于遗传算法和决策树的健康状况预测方法流程图;

图2为本发明优化后的决策树超参数决定的决策树;

图3为将训练集作为决策树模型的输入数据对决策树模型进行训练后,决策树模型输出的训练集结果;

图4为将测试集作为已训练好的决策树模型的输入数据,决策树模型的输出的测试集结果。

具体实施方式

见图1,一种基于遗传算法和决策树的健康状况预测方法,该方法基于健康状况相关数据进行,健康状况相关数据包括当地人口体检报告数据、体检的检查项目数据,其中当地人口体检报告数据包括内科、外科、放射科、检验科、心电图室、彩超室、五官科、口腔科、耳鼻喉科、眼科等科室进行检查获得的数据,检测项目数据包括生化三系、乙肝肝炎表面抗体测定、颅脑常规平扫、胸部平扫、彩超、肾功、肝功、眼科检查、尿常规、心电、C14检查、血脂七项、乙肝五项、血常规、肿瘤全套检查、内外科、五官科、放射科等常见检查数据;

将健康状况相关数据划分为测试集、训练集,其中20%为测试集,其余为训练集,采用训练集和测试集完成优化过程中决策树模型的训练和决策树模型性能的评估。

该方法利用遗传算法和决策树模型实现,具体预测步骤包括:S1,将训练集作为决策树模型的输入数据,对决策树模型进行训练;

S2,超参数种群初始化,超参数种群包括若干个超参数,其中,超参数种群初始化指:在健康状况相关数据构成的搜索空间中,随机采样获取若干个超参数构成超参数种群的初始种群P,此时的个体一般适应度较低,需要在后续的迭代中不断优化;

S3,初始决策树模型的评估,具体评估步骤包括:采用交叉验证方式对决策树模型进行评估,即基于遗传算法中的演化算法提供的超参数(决策树的特征由决策树模型的特征决定,采用演化算法对决策树模型演化,即采用演化算法对决策树模型中的超参数进行演化),通过五折交叉验证方式对超参数的泛化性能进行预估,并将准确率作为适应度值,判断决策树模型是否满足条件,即决策树模型是否达到适应度值,若满足则返回评估结果,若不满足,则进入步骤S4;其中K折交叉验证的计算方式为

S4,采用NSGA2算法中的交叉算子和变异算子对决策树模型的父代决策树进行选择;NSGA2算法基于非支配排序和拥挤距离为每个超参数分配一个排名(该排名为唯一排名),根据排名,选择较优的超参数;其中,拥挤距离的计算步骤为:(1)将每个点的拥挤度i

(2)针对每个目标,对超参数种群进行非支配排序,令边界的两个个体O和I拥挤度无穷,即O

(3)对其他的个体进行拥挤度的计算:拥挤度

S5,子代决策树生成,将遗传算法中的SBX算子作为交叉算子,将PolynomialMutation多项式变异算子作为变异算子,对决策树的超参数进行交叉和变异;本系统中交叉的概率设置为0.9,变异的概率设置为0.5;其中,SBX算子为:x′

x′

其中,x

Polynomial Mutation多项式变异算子为:

v′

其中,

式中,δ

u是一个[0,1]区间内的随机数,η

S6,采用交叉验证方式对子代决策树进行评估;采用交叉验证方式对子代决策树模型进行评估,即基于遗传算法中的演化算法提供的超参数(子代决策树的特征由子代决策树模型的特征决定,采用演化算法对子代决策树模型演化,即采用演化算法对子代决策树模型中的超参数进行演化),通过五折交叉验证方式对超参数的泛化性能进行预估,并将准确率作为适应度值,判断子代决策树模型是否满足条件,即子代决策树模型是否达到适应度值,若满足则返回评估结果,进入步骤S7,若不满足,则进入步骤S4继续迭代,直至达到适应度值;其中K折交叉验证的计算方式为

S7,基于上述步骤S2~S6的演化算法对超参数种群中的超参数优化,得到最佳超参数,将最佳超参数作为预测健康状况的模型的超参数。

步骤S7中,将已完成训练的超参数种群输出,利用得到的最佳超参数来预测健康状况的决策树模型超参数,可以在保证预测居民健康状况模型的可解释性的同时,达到较高的性能,有助于决策者做出决策。

将测试集作为已训练好的决策树模型的输入数据,决策树模型输出测试集结果,将测试集结果与人口健康状况进行对比,预测结果准确率可达到83.35%,表明采用本申请方法建立的决策树模型可实现人口健康状况的准确预测。

采用准确率对上述方法构建的决策树模型的性能进行衡量,使用决策树模型的节点数量作为决策树模型的可解释性的衡量指标,本实例中当节点数量为三个时,决策树的准确率达到了83.35%,此时决策树模型的性能较优,决策树模型具有较好的可解释性。

训练结果由图2、图3、图4显示,图2是优化后的决策树超参数决定的决策树,图2中,X[9]表示是否在医院进行体检,gini表示基尼指数,是将决策树用于分类问题时选择最优特征的指标,samples表示样本数,value表示两类样本的数量,图3为决策树模型输出的训练集结果,图4为决策树模型输出的测试集结果,图中横轴表示准确率,纵轴表示复杂度,根据训练集结果和测试集结果可以看出,在准确率和复杂度之间有很明显的拐点,拐点处准确率很高且复杂度很低,图2为优化后的决策树超参数所确定的决策树模型,即图3和图4中的拐点所确定的决策树模型,由图2、图3、图4可以看出,采用本方法确定的决策树模型准确率可达到80%~85%之间,精确度很高,从图2也可以看出,通过本申请方法获得的决策树模型结构简单,具有很强的可解释性,上述实验结果表明,本申请方法与传统的决策树方法相比,可自动寻找到准确度较高且复杂度较低的拐点,无需操作通过计算机输入参数进行反复调整,上述方法可采用现有的计算机及安装于计算机的Matlab,scilab等软件实现,因此,便于将该方法应用于人口健康指导、公共健康的改善方案中。

以上的仅是本申请的优选实施方式,本发明不限于以上实施例。可以理解,本领域技术人员在不脱离本发明的精神和构思的前提下直接导出或联想到的其他改进和变化,均应认为包含在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号