基于几类机器学习模型预测肥胖成因的分析比较_第1页
基于几类机器学习模型预测肥胖成因的分析比较_第2页
基于几类机器学习模型预测肥胖成因的分析比较_第3页
基于几类机器学习模型预测肥胖成因的分析比较_第4页
基于几类机器学习模型预测肥胖成因的分析比较_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于几类机器学习模型预测肥胖成因的分析比较目录TOC\o"1-3"\h\u223351引言 摘要:本研究旨在利用几类机器学习模型对个体肥胖成因进行分析预测,并探索其在健康管理和疾病预防中的应用。通过收集个体的健康数据,包括生活方式、遗传信息、身体指标等,进行数据处理和特征工程,建立了XGBoost、随机森林、决策树及GBDT四类预测模型。并使用上述模型预测个体的肥胖成因,并揭示了影响肥胖的关键因素。通过模型分析比较,发现几类模型对肥胖成因预测的准确度等。此外,模型还能够为个体提供个性化的健康管理建议,为公共卫生政策制定提供科学依据。这为深入理解肥胖病因和预防提供了新的视角和方法,对于改善公众健康具有重要意义。关键词:XGBoost模型、随机森林、决策树、GBDT、肥胖成因1引言1.1研究背景肥胖问题已经成为全球范围内的重大公共卫生挑战REF_Ref13073\n\h[1]。随着生活方式的改变、工作环境的变化以及饮食结构的调整,肥胖率在全球范围内呈现出不断上升的趋势。据世界卫生组织(WHO)的数据显示,全球成年人口中超过三分之一(约39%)患有超重和肥胖问题REF_Ref13190\n\h[2]。肥胖不仅与心血管疾病、糖尿病、高血压等慢性疾病密切相关,还增加了许多其他疾病的风险,包括某些癌症、骨关节疾病和精神健康问题。此外,肥胖还对个体的生活质量和寿命造成了负面影响,导致了巨大的医疗费用和经济负担。面对肥胖问题,预防和管理变得至关重要。然而,由于肥胖的发病机制复杂,受到遗传、环境、生活方式等多种因素的影响,传统的预防和管理方法往往效果有限。因此,基于数据驱动的精准健康管理成为了解决肥胖问题的一种重要途径。在这种背景下,借助机器学习技术对肥胖程度进行分析预测具有重要意义。传统的肥胖程度分析方法往往基于BMI(身体质量指数)等简单指标,这些方法往往无法全面考虑个体的生理、生活方式和遗传等多方面因素的影响。而XGBoost、随机森林、决策树、GBDT四类模型REF_Ref13288\n\h[3]都归属于机器学习算法REF_Ref13530\n\h[4],因其在处理结构化数据和高维特征方面等优势而备受关注。因此,基于几类机器学习模型预测肥胖成因REF_Ref13585\n\h[5]具有重要的研究意义和实际应用价值。通过综合考虑个体的多种特征,利用上述四类模型进行肥胖成因的预测进行对比分析,有助于提高预测的准确性和稳定性,为个性化健康管理和精准医疗提供了新的方法和思路。此外,深入研究肥胖与健康之间的关系,可以为肥胖防治和相关政策制定提供科学依据和数据支持。1.2研究意义1.2.1理论意义首先,这些模型能够有效地捕捉肥胖发生的复杂性和多因素影响。通过分析特征重要性,可以确定对肥胖发生具有关键作用的因素,从而深入理解肥胖的发生机制。其次,这些模型具有不同的优势和适用性。XGBoost模型REF_Ref13687\w\h[6]通过集成多个决策树来拟合复杂的非线性关系,具有较高的预测性能和泛化能力;随机森林模型能够综合考虑多种因素对肥胖的影响,具有较强的鲁棒性和泛化能力;决策树模型简单直观,易于理解和解释,适用于简单场景或需要可解释性较强的情况;GBDT模型在捕获数据复杂关系方面较为强大,但训练速度可能较慢,需要更多的调参工作。通过比较分析,可以选择最适合实际应用的模型,为肥胖成因的预测和干预提供更有效的手段。最后,利用这些模型进行肥胖成因的预测和分析,可以为肥胖防控工作提供科学决策支持。根据模型的预测结果,可以及时发现和干预患者,减少肥胖相关的健康问题和医疗成本,促进公众健康和社会稳定。1.2.2现实意义1、对比这四类模型择优可以帮助医生和健康专家更准确地评估个体的肥胖成因,从而制定更有效的健康管理计划。通过对个体的肥胖状态进行及时监测和干预,可以减少肥胖相关疾病的风险,提高个体的生活质量。2、可以更好的深入了解肥胖问题的流行趋势和影响因素,为制定科学的公共卫生政策提供重要支持。有针对性地实施干预措施可以有效地遏制肥胖率的增长,减少肥胖相关疾病的发病率,从而降低医疗开支并减轻社会负担。3、能够根据个体的特征数据进行个性化的肥胖成因预测,为个体提供量身定制的健康管理建议。这有助于提高个体对健康管理的参与度和满意度,促进健康行为的形成和坚持。4、通过预测肥胖成因,可以及时发现高风险人群,合理分配医疗资源,优先保障高风险人群的健康需求。这有助于提高医疗资源的利用效率,降低医疗服务的成本。因此,基于几类机器学习模型来预测肥胖成因的研究具有重要的现实意义和社会价值,有助于提升健康管理水平、改善公共卫生政策、促进产业发展和推动科学研究。1.3国内外研究现状国内研究现状:目前,国内研究针对基于XGBoost模型、随机森林模型、决策树模型和GBDT预测肥胖成因展开了初步探索。部分研究倾向于应用这些机器学习模型于国内肥胖数据,以探究其预测效果和适用性。虽然这些研究还处于起步阶段,但初步结果显示XGBoost模型在肥胖成因预测中表现出良好的性能和可行性。随机森林模型也受到关注,其在处理多因素影响和非线性关系方面显示出一定的优势。决策树模型因其简单直观的特点,在一些国内研究中得到应用,但尚未深入探索其在肥胖成因预测中的优势。GBDT模型的应用也逐渐受到关注,但仍需进一步的国内研究来验证其在肥胖预测中的效果和适用性。因此,国内对于这些机器学习模型在预测肥胖成因方面的研究还需要进一步加强和深化。国外研究现状:国外的研究已经广泛探索了基于XGBoost模型、随机森林模型、决策树模型和GBDT预测肥胖成因的分析比较。这些研究主要集中在利用大规模健康数据库进行模型验证和性能比较方面,发现XGBoost模型在预测肥胖风险方面表现出较高的准确性和泛化能力。随机森林模型因其处理多维特征和非线性关系的能力而受到关注,适用于复杂的肥胖成因分析。决策树模型由于其简单直观的特点,被广泛用于解释特征之间的关系,为肥胖成因的理解提供了可解释性。而GBDT模型在捕捉数据复杂关系和处理大规模数据集方面具有显著优势。这些研究结果表明,这些机器学习模型在预测肥胖成因方面具有潜力,为未来肥胖预防和干预提供了有益的指导和理论支持。综上所述,国内外学者们对基于这几类机器学习模型的肥胖成因分析预测比较REF_Ref13755\n\h[7]都表现出浓厚的兴趣,并在该领域取得了一定的研究进展。随着技术的不断进步和研究的深入开展,相信基于这几类机器学习模型的肥胖成因预测将会在未来发挥更加重要的作用。1.4研究内容和方法1.4.1研究内容首先,研究需要收集个体的相关数据,包括身高、体重、年龄、性别、饮食习惯REF_Ref13755\n\hREF_Ref13814\n\h[8]等特征数据。接着对数据进行预处理,包括处理缺失值、识别和处理异常值,并进行数据标准化或归一化等操作,以确保模型的稳定性和准确性。然后,在构建这四种机器学习模型之前,需要对特征进行选择和工程处理,以提高模型的预测能力和泛化性能。通过特征选择方法,筛选出与肥胖程度相关性较高的特征;同时,进行特征工程,如特征组合、特征转换等,提取出与肥胖程度相关的有效特征,并将其转换为模型可以处理的形式。然后,使用这四类机器学习算法建立肥胖程度预测模型。在模型建立过程中,需要将数据集划分为训练集和测试集,并对模型进行训练和调优,以提高模型的性能和泛化能力。完成模型训练后,对其进行评估和验证。通常采用交叉验证或留出验证等方法来评估模型的泛化能力和预测性能,以确保模型在未知数据上的准确性和稳定性。最后对模型的预测结果进行解释和实际应用。可以分析模型对于肥胖程度预测的重要特征,探索个体肥胖的影响因素,并根据预测结果制定个性化的健康管理方案,帮助个体改善健康状况。1.4.2研究方法对结构化的肥胖相关数据进行预处理、特征工程和模型训练。在预处理阶段进行数据清洗、缺失值处理和特征标准化等步骤,以确保数据质量和一致性。接着,特征工程通过选择、组合和转换特征,提高模型的性能和泛化能力。然后,将数据集划分为训练集和测试集,并使用交叉验证等技术来评估模型的性能。最后,比较不同模型在预测肥胖成因方面的效果,通过评估指标如准确率、召回率和F1值等来进行客观的比较和分析,以寻找最佳的预测模型。2几类机器学习模型2.1XGBoost模型XGBoost是一种机器学习算法,它利用梯度提升决策树(GradientBoostingDecisionTree)的原理。通过组合多个弱分类器(通常是决策树),构建出一个强大的分类器,能够有效地处理复杂数据的分类任务。XGBoost采用加法模型进行训练,即通过将多个基分类器(决策树)的预测结果进行加权求和,以获得最终的分类结果。在训练过程中,XGBoost使用梯度提升策略,不断地拟合残差,逐步优化模型。每次迭代中,XGBoost都会构建一个新的决策树,用来拟合当前的残差。在构建决策树时,XGBoost采用了CART(ClassificationandRegressionTrees)算法,通过贪心策略选择最佳的划分特征和划分点。同时,XGBoost引入了正则化项和剪枝策略,以防止模型过拟合。通过不断地迭代、拟合残差,并结合加法模型和梯度提升策略,以及引入正则化和剪枝,来训练出一个强大而泛化能力强的集成模型,用于解决各种分类和回归问题。2.2随机森林模型随机森林模型是一种集成学习方法,用于解决分类和回归问题。它由多个决策树组成,每个决策树都是独立训练的,且通过随机选择样本和特征进行训练。在分类问题中,随机森林通过投票或取平均值的方式汇总每棵树的结果,最终确定样本的类别;在回归问题中,随机森林则通过取平均值的方式汇总每棵树的结果,来预测目标变量的值。随机森林具有良好的泛化能力,对于高维数据和大量训练样本表现出色,同时也能有效处理特征之间的相关性和非线性关系。由于其鲁棒性和易于实现的特点,随机森林在实际应用中被广泛使用,尤其在医学诊断、金融风险评估和客户行为预测等领域取得了显著成果。2.3决策树模型决策树模型是一种基于树状结构的机器学习模型,用于解决分类和回归问题。在决策树中,每个内部节点表示一个特征属性的测试,每个分支代表测试结果的一个可能性,而每个叶节点表示最终的类别标签或数值。决策树的构建过程主要包括特征选择、树的生成和修剪等步骤。特征选择阶段根据某个准则(如信息增益、基尼指数)选择最优的特征进行数据划分。树的生成阶段递归地将数据集划分为子集,直到数据集中的样本属于同一类别或达到停止条件。修剪阶段用于防止过拟合,通过剪枝策略去除一些不必要的节点或分支。决策树模型易于理解和解释,适用于处理离散型和连续型特征的数据,也能自动处理特征之间的关联关系。2.4GBDT模型GBDT(GradientBoostingDecisionTrees)模型是一种集成学习方法,通过串行训练多个决策树来完成回归或分类任务。在GBDT中,每个决策树都是基于前一个树的残差来进行训练的,以逐步改进模型的预测性能。具体地,GBDT通过梯度提升算法,根据损失函数的负梯度方向逐步优化模型,使得每棵新树拟合前面树的残差。最终,所有树的预测结果累加起来,得到最终的模型预测结果。GBDT模型通常采用回归树来构建,但也可以用于分类问题,通过改变损失函数来适应不同的任务。GBDT模型在处理非线性关系、高维数据和缺失值等方面表现出色,因此在各种实际应用中都取得了良好的效果,例如搜索排名、推荐系统和风险评估等领域。3数据处理3.1数据来源数据来源于UCL机器学习知识库,数据集包含2111条记录,每条记录有17个属性。这些记录标有肥胖等级,分为体重不足、正常、超重一级、超重二级、肥胖一级、肥胖二级和肥胖三级七个分类。3.2数据说明数据共17个属性,如表1所示:表SEQ表\*ARABIC1属性含义及取值说明表属性含义取值Age年龄取整数Gender性别Female、MaleHeight身高取小数点后两位(m)Weight体重取整数(kg)CALC饮酒No,Sometimes,Frequently,AlwaysFAVC经常吃高热量的食物Yes、NoFCVC食用蔬菜的频率No(0)、Sometimes(1)、Frequently(2)、Always(3)NCP正餐次数1-2、3、>3SCC消耗监测Yes、NoSMOKE抽烟Yes、NoCH2O每日饮水量1(alittle),2(1-2L),3(>2L)FAF运动频率0(No),1(1-2天),2(2-4天),3(4-5天)TUE使用设备时间0(0-2h),1(3-5h)、2(>5h)CAEC两餐内食用食物No,Sometimes,Frequently,AlwaysMTRANS使用的交通工具Automobile,Motorbike,Bike,Public,Transportation,WalkingNobeyesdad肥胖等级BasedontheWHOClassificationFamily_history_with_overweight家庭肥胖史Yes、No3.3数据预处理对数据进行预处理,发现数据未出现缺失值,不需处理,但包含重复值,在去除重复值后剩余2087条数据。分别以Age、Gender、CALC、FAVC、FCVC、NCP、SCC、SMOKE、CH2O、FAF、TUE、CAEC、Family_history_with_overweight为特征,根据给定的标签N0beyesdad,计算出每个个体的体重指数REF_Ref13964\n\h[9]后,并根据世界卫生组织(WHO)所提供的表2,确定其肥胖水平。对所得数据进行肥胖程度分类(计算方法如下)。Massbodyindex=表SEQ表\*ARABIC2体重指数分类表标准等级MBI<18.5体重不足18.5≤MBI≤24.9正常25.0≤MBI≤29.9超重30.0≤MBI≤34.9肥胖一级35.0≤MBI≤39.9肥胖二级MBI≥40肥胖三级3.4可视化分析对各肥胖程度人数进行可视化分析(图1),发现不同肥胖程度的人数相差不大。图1各肥胖程度人数汇总图按照'NObeyesdad'和'Gender'两个列进行分组,并使用'Gender'列的计数方法count()统计每个分组的数量,然后将结果保存在变量sex_group中,绘制不同类别下性别的数量分布柱状图。分析不同性别在肥胖肥胖等级中的分布情况(图2),发现在体重不足的人中,女性体重不足的人数远高于男性;在体重正常、超重、肥胖一级中,男女人数比例几乎一致;在肥胖二级中,男性人数远高于女性;在肥胖三级中,女性人数远高于男性。图2不同肥胖程度男女占比图按照'NObeyesdad'和'family_history_with_overweight'两个列进行分组,并使用'family_history_with_overweight'列的计数方法count()统计每个分组的数量,然后将结果保存在变量family_group中,绘制不同类别下家族肥胖史与超重的数量分布柱状图。分析家家族肥胖史与超重在肥胖等级中的分布情况(图3),可以看出超重一、二级和肥胖一、二、三级的人几乎都有家族肥胖史,说明家族肥胖史具有遗传性,可被遗传给后代。图3家族肥胖史对肥胖的影响图4模型构建4.1建立模型4.1.1建立XGBoost模型首先选取数据集中的特征,看哪些特征适合用于模型训练。然后,选择一些初始的模型参数。减少参数对模型的性能和泛化能力的影响。接下来,构建的第一个树模型。根据数据和初始参数建立一个简单的树模型,作为模型的起点,然后计算每个样本的损失函数的梯度和二阶导数,来调整模型。计算出了梯度和二阶导数后,对新的树模型进行拟合。使用梯度提升算法来减少当前模型的残差,以改善模型的性能。每次迭代后,添加一个新的树模型,以减少残差,并逐步优化模型。同时在每次迭代之后,更新模型参数,包括树的权重和叶子节点的输出值。这些参数的更新将有助于优化模型,使其更好地拟合数据。在整个训练过程中,应用正则化处理,以防止模型过度拟合,并增强其泛化能力。模型训练完成后,我们将数据输入已训练好的模型中,即可获得所需的结果。4.1.2建立随机森林模型对数据进行清洗、处理缺失值和异常值,并将数据划分为特征(自变量)和目标变量(肥胖成因)。通过特征选择方法选择对肥胖成因有影响的重要特征。将数据集划分为训练集和测试集。使用Python中的机器学习库(scikit-learn)来建立随机森林模型,通过训练集拟合模型。使用测试集评估模型的性能,常用指标包括准确率、精确率、召回率、F1值等。根据评估结果进行模型调优,调整模型参数、增加训练数据、进行特征工程等方法来优化模型性能。使用优化后的模型对新的数据进行预测,从而预测肥胖成因。4.1.3建立决策树模型使用Python中的机器学习库(scikit-learn)来建立决策树模型,并通过训练集拟合模型。随后,使用测试集评估模型的性能,根据评估结果进行模型调优。最后使用优化后的模型对新的数据进行预测,从而预测肥胖成因。4.1.4建立GBDT模型使用Python中的机器学习库(scikit-learn)来建立GBDT模型,通过训练集拟合模型。使用测试集评估模型的性能,根据评估结果进行模型调优,调整模型参数(树的数量、树的深度等)来优化模型性能。使用优化后的模型对新的数据进行预测,从而预测肥胖成因。4.2模型对比使用XGBoost模型、随机森林模型、决策树模型及GBDT(梯度提升树)这四类模型进行预测,可得出如图所示结果,XGBoost模型准确率为0.9665,随机森林模型准确率为0.9665,决策树模型准确率为0.9641,GBDT模型准确率为0.9545。XGBoost模型和随机森林模型在准确度上表现相近,对肥胖程度分析预测有较高的可行性(图4)。图4准确度及混淆矩阵对比图对上述模型模型预测进行进一步分析,得到下表(表3)所示的模型结果评估图,由表可以看出XGBoost模型的的准确率与随机森林的各项指标都相接近,可以达到较好的预测效果,而决策树及GBDT模型准确率略低于上述两个模型,预测效果有所欠缺。从召回率、精确率及F1来看XGBoost模型、随机森林、决策树模型相接近。所以对此肥胖分析预测我们优先选取XGBoost模型和随机森林模型来进行预测,预计达到较好的效果,结合这两种模型进行肥胖分析预测可以更全面地挖掘数据之间的关联关系,提高预测的准确性和稳定性,为肥胖防控工作提供更有力的支持。表SEQ表\*ARABIC3模型评估结果对比图准确率召回率精确率F1XGBoost0.9660.9660.9650.965随机森林0.9660.9660.9650.965决策树0.9650.9660.9650.965GBDT0.9540.9540.9520.953图5四类模型特征重要性评分图6影响肥胖的因素重要性为进一步判断模型中各个因素对肥胖的影响程度,通过特征重要性分析(图6),发现影响肥胖程度与体重关系最大,其次是身高、饮食习惯REF_Ref13964\n\h[10]、日常使用的交通工具等,但无论使用哪一种模型,抽烟对肥胖的影响度都很低。5总结通过收集大规模健康调查数据并进行数据预处理和特征工程,我们构建了适合以上四种模型训练的数据集。实验结果显示,我们的模型在测试集上取得了较高的准确率,并在交叉验证中表现稳定。通过对多个影响因子进行多分类标签获取得到各个影响因子与肥胖水平之间的权值,得出肥胖家族史与肥胖水平、年龄、是否经常食用高热量的食物呈现出正相关关系,即年龄更大,经常使用高热量食物并且具有家族肥胖史的人群更易肥胖;而是否进行卡路里消耗监测和是否经常活动与肥胖水平呈现出负相关关系,即使用卡路里检测并且经常进行运动有助于人们降低肥胖机率。这为个体健康管理和公共卫生政策制定提供了重要启示REF_Ref14030\n\h[11]。总的来说,基于XGBoost模型和随机森林模型的肥胖成因分析预测具有良好的性能和实用性,为未来的健康管理和疾病预防提供了新的研究方向。因此,根据分析结果,给肥胖人群提出以下建议;定制饮食计划:建议控制摄入高热量、高脂肪、高糖的食物,增加摄入蔬菜、水果、全谷物和健康蛋白质的量。选择低GI(血糖指数)的食物,避免过度进食或饥饿。控制饮食量和进食频率:制定合适的饮食量和进食频率。建议采用小份量、多餐制的饮食方式,避免过量进食和晚餐过量。制定个性化运动计划:根据模型预测的分析结果,制定个体的运动计划。建议挑选适合个人身体状况和兴趣爱好的运动方式REF_Ref14261\n\h[12],比如散步、游泳、瑜伽等,并每周保持适量的运动时间。监测生活习惯和行为:利用技术手段(如智能手环、健康App等)监测个体的生活习惯和行为,如睡眠质量、活动量、饮水量等。根据监测结果调整生活方式,逐步改善健康状况。虽然以上建议可以帮助肥胖人群改善健康状况,但要有效控制肥胖人口数量仍然需要多方面的努力和持续的关注。要有效控制肥胖人口数量,需要采取综合的策略,只有通过社会各界的共同努力,才能有效控制肥胖问题,提高人民健康水平。参考文献\o"López-SuárezA.Burdenofcancerattributabletoobesity,type2diabetesandassociatedriskfactors.Metabolism,2019,92:136-146."López-SuárezA.Burdenofcancerattributabletoobesity,type2diabetesandassociatedriskfactors.Metabolism,2019,92:136-146.\o"BessellE,MarkovicTP,FullerNR,etal.Howtoprovideastructuredclinicalassessmentofapatientwithoverweightorobesity.DiabetesObesMetab,2021,23:36-49."BessellE,MarkovicTP,FullerNR,etal.Howtoprovideastructuredclinicalassessmentofapatientwithoverweightorobesity.DiabetesObesMetab,2021,23:36-49.LiL,SunJ,WangH,etal.1991-2018年中国成年人超重肥胖的时空分布及BMI的相关影响因素分析(英文)[C]//亚洲营养学会联合会,中国营养学会.AbstractBookofthe14thAsianCongressofNutrition--PublicNutrition&Health.[出版者不详],2023:1.DOI:10.26914/kihy.2023.076592.洪晨悦.基于数据挖掘技术的高血压患病因素研究[D].华东师范大学,2022.DOI:10.27149/ki.ghdsu.2021.001563.赵冉冉,邓志杰,杨榕桂,等.基于机器学习算法的超重/肥胖患者减重效果预测模型构建及影响因素分析[J].广西医学,2023,45(16):1969-1976.周洁.基于机器学习的老年人高血压并发症预测研究[D].山东财经大学,2022.DOI:10.27274/ki.gsdjc.2020.000082.董文静,王雅萱,宇克莉.3种肥胖指标对凉山彝族中心性肥胖的预测[J].天津师范大学学报(自然科学版),2017,37(01):76-80.张玲玲,熊家豪,王纪川,李宛洋,杨翊,任国峰.长沙市大学生外卖食品消费现状及其与超重肥胖的关联[J].中华疾病控制杂志,2020,24(09):1027-1031.崔宝月.上海和香港大学生静态行为、体力活动和BMI的比较研究及相关性分析[D].上海师范大学,2019.李亚茹,王婧,赵丽云,等.中国成年人饮酒习惯及影响因素[J].中华流行病学杂志,2018,39(07):898-903.黄晖明,王人卫,李森,缪爱琴,许浩,汤强.体重指数与体脂率指标评价肥胖:基于诊断试验的比较研究[J].中国运动医学杂志,2017,36(03):218-225.张瀚月,绍文娟,孙婷婷,等.预测我国7-18岁城市学生2030年超重肥胖流行趋势的研究[C]//中国体育科学学会.第十三届全国体育科学大会论文摘要集——专题报告(体质与健康分会).[出版者不详],2023:3.DOI:10.26914/kihy.2023.065358.附录部分数据运行代码importpandasaspdimportnumpyasnpimportxgboostasxgbimportmatplotlib.pyplotaspltfromsklearn.model_selectionimporttrain_test_splitimportseabornassnsfromsklearn.linear_modelimportLogisticRegressionfromsklearn.treeimportDecisionTreeClassifierfromsklearn.naive_bayesimportGaussianNBfromsklearn.ensembleimportRandomForestClassifierfromsklearn.metricsimportconfusion_matrix,accuracy_scoreimportwarningswarnings.filterwarnings('ignore')plt.rcParams['font.sans-serif']=['SimHei']#显示中文标签plt.rcParams['axes.unicode_minus']=False#导入数据data=pd.read_csv('ObesityDataSet_raw_and_data_sinthetic.csv')data.head()print(data)#查看数据大小data.shape#查看数据集的基本信息print(())#查看数据集的统计摘要print(data.describe())#查看数据类型data.dtypes#查看非数值型数据描述data.describe(include=np.object)#查看缺失值data.isnull().sum()#查看重复值any(data.duplicated())#删除重复行data.drop_duplicates(inplace=True)data.shape#各肥胖程度人数进行可视化分析data['NObeyesdad'].value_counts().plot.barh()#不同性别在肥胖的中的占比#sex_group=data.groupby(['NObeyesdad','Gender'])['Gender'].count()sex_groupsex_group.plot(kind='bar')#家族肥胖史对肥胖程度的影响family_group=data.groupby(['NObeyesdad','family_history_with_overweight'])['family_history_with_overweight'].count()family_groupfamily_group.plot.bar()#将NObeyesdad肥胖等级用0-6来表示data.NObeyesdad.replace(to_replace={'Insufficient_Weight':0,'Normal_Weight':1,'Overweight_Level_I':2,'Overweight_Level_II':3,'Obesity_Type_I':4,'Obesity_Type_II':5,'Obesity_Type_III':6},inplace=True)data['NObeyesdad'].value_counts()#将CAEC、CALC的值用1-4表示data.CAEC.replace(to_replace={'no':1,'Sometimes':2,'Frequently':3,'Always':4},inplace=True)data.CALC.replace(to_replace={'no':1,'Sometimes':2,'Frequently':3,'Always':4},inplace=True)#将MTRANS值用1-5表示data.MTRANS.replace(to_replace={'Bike':1,'Motorbike':2,'Walking':3,'Automobile':4,'Public_Transportation':5},inplace=True)#将family_history_with_overweight、FAVC、SMOKE、SCC、Gender的值用0,1表示data['family_history_with_overweight']=data['family_history_with_overweight'].apply(lambdax:0ifx=='no'else1)data['FAVC']=data['FAVC'].apply(lambdax:0ifx=='no'else1)data['SMOKE']=data['SMOKE'].apply(lambdax:0ifx=='no'else1)data['SCC']=data['SCC'].apply(lambdax:0ifx=='no'else1)data['Gender']=data['Gender'].apply(lambdax:0ifx=='Female'else1)#划分训练集和测试集,随机数种子控制每次划分训练集和测试集的模式一致x=data.drop('NObeyesdad',axis=1)y=data['NObeyesdad']x_train,x_test,y_train,y_test=train_test_split(x,y,test_size=0.2,random_state=42)#XGBoost训练模型#数据预处理#将分类特征进行编码le=LabelEncoder()data['Gender']=le.fit_transform(data['Gender'])data['family_history_with_overweight']=le.fit_transform(data['family_history_with_overweight'])data['FAVC']=le.fit_transform(data['FAVC'])data['SMOKE']=le.fit_transform(data['SMOKE'])data['SCC']=le.fit_transform(data['SCC'])data['CALC']=le.fit_transform(data['CALC'])data['MTRANS']=le.fit_transform(data['MTRANS'])data['NObeyesdad']=le.fit_transform(data['NObeyesdad'])#划分特征和标签X=data.drop('NObeyesdad',axis=1)y=data['NObeyesdad']#划分训练集和测试集X_train,X_test,y_train,y_test=train_test_split(X,y,test_size=0.2,random_state=42)#训练XGBoost模型model=xgb.XGBClassifier()model.fit(X_train,y_train)#使用测试集进行预测y_pred=model.predict(X_test)#评估模型性能accuracy=accuracy_score(y_test,y_pred)print("模型准确率:",accuracy)#打印混淆矩阵conf_matrix=confusion_matrix(y_test,y_pred)print("混淆矩阵:")print(conf_matrix)#打印特征重要性评分feat_labels=x_train.columns[0:]importances=rfc.feature_importances_indices=np.argsort(importances)[::-1]forf,jinzip(range(x_train.shape[1]-1),indices):print(f+1,feat_labels[j],importances[j])#随机森林训练模型rfc=RandomForestClassifier(n_estimators=1000)rfc.fit(x_train,y_train)y_pred=rfc.predict(x_test)print('模型准确率',accuracy_score(y_test,y_pred))#打印混淆矩阵conf_matrix=confusion_matrix(y_test,y_pred)print("混淆矩阵:")print(conf_matrix)#决策树训练模型rfc=RandomForestClassifier(n_estimators=1000)rfc.fit(x_train,y_train)y_pred=rfc.predict(x_test)print('模型准确率',accuracy_score(y_test,y_pred))print(confusion_matr

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论