机器学习糖尿病数据分析【字数:9365】
摘 要近年来,糖尿病的发病率年年攀升,糖尿病引发的各种并发症更是给患者带来无尽的痛苦。因此,机器学习糖尿病数据,预测患者今后的发病趋势,对糖尿病的预防治疗有着重要的意义。机器学习糖尿病数据分析,收集患者近五年的医疗记录,汇聚成糖尿病数据集。本数据集包含了768组数据,确定引起糖尿病的八个可能因素怀孕次数,血浆葡萄糖浓度,舒张压,三头肌皮褶厚度,2小时血清胰岛素,体重指数,糖尿病谱系功能,年龄。本数据集拥有一个因变量,患病与否。对糖尿病数据集,进行数据处理,包括完成数据清洗、数据分类、特征缩放等数据预处理。分别使用逻辑回归,朴素贝叶斯和随机森林创建学习模型,进行模型预测,评价机器学习结果。绘制三种算法的准确率折线图比较算法学习效果,在非随机挑选验证集的情况下,,逻辑回归算法的准确率一直高于另外两种算法,且当验证集所占比例为5%时,该算法预测准确率达到92%。在随机挑选验证集的情况下,当验证集所占比例为15%,20%,25%时,逻辑回归算法准确率均高于其他算法,当验证集占5%时,朴素贝叶斯算法相对比较好。
目 录
1 绪论 1
1.1 课题研究背景及意义 1
1.2 课题研究现状及趋势 1
1.3 论文主要内容 2
2 数据预处理 4
2.1 数据集整理 4
2.2 标准库及数据库的导入 4
2.2.1 标准库简介 5
2.2.2 导入标准库 5
2.2.3 导入数据集 5
2.3 训练集、验证集划分 7
2.4 特征缩放 8
2.5 构建混淆矩阵 10
2.6 本章小结 10
3 机器学习分类算法部分 11
3.1 逻辑回归算法 11
3.1.1 Sigmoid函数 11
3.1.2 逻辑回归创建学习模型 11
3.2 朴素贝叶斯算法 12
3.2.1 贝叶斯定理 12
3.2.2 朴素贝叶斯分类器原理简介 13
3.2.3 朴素贝叶斯创建学习模型 14
3.3 随机森林算法 15
3.3.1 决策树 15
*好棒文|www.hbsrm.com +Q: #351916072#
3.3.2 随机森林算法 16
3.3.3 随机森林创建学习模型 17
3.4本章小结 18
4 机器学习效果对比分析 19
4.1 非随机挑选验证集 19
4.2 随机挑选验证集 22
5 总结 26
参考文献 27
致谢 28
附录一 29
附录二 32
1 绪论
课题研究背景及意义
随着科学技术的进步,社会的快速发展,人们的生活水平不断提高,各种方便的生活方式给人们带来了方便和更加舒适的生活享受。其中,变化最大的当属人们的饮食结构和出行方式。人们享受着享受经济发展带来便捷的同时,一些现代文明病也渐渐流行起来,例如:肥胖、高血脂、冠心病、糖尿病等。现代文明病主要起因于生活富裕后,人们营养过剩且运动量减少导致的,所以“现代文明病”又被戏称为“富贵病”。根据卫生部调查,中国有22%的人超重,超过6000多万人因肥胖而就医,这其中就有超过5000万人深受糖尿病的困扰。
糖尿病[1]作为一种慢性疾病,由于缺少根治的方法,治疗周期漫长,给患者及其家庭带来巨大经济负担的同时,也让患者承受极大的痛楚。随着生活水平的提高,肥胖症在青少年间蔓延,这使得糖尿病的发病人群趋于年轻化[2]。在国内糖尿病发病率逐年上升的大前提下,青少年患者在患者群中占据着越来越大的比重,青年患者的存在都将让各自家庭蒙上了极大阴影。
因为糖尿病本身的特性,使得治疗过程漫长而痛苦。糖尿病本身并不可怕,它并不会给病人带来致命威胁,但是它可以引起众多并发症,如眼病、心脑血管病等,并发症严重的更有可能威胁到病人的生命。对糖尿病患者的治疗过程是漫长的,医生仅仅可以控制患者的病情。在对患者治疗的过程中,会产生大量的临床数据,而这些重要的临床数据中或多或少存在着许多有关糖尿病人发病和治疗的规律。
当今对于糖尿病的检测和预防的方法较多,且简单有效,但是对于糖尿病人来说,这些仅仅是起到预防作用,患者也只能通过药物缓解症状。如果可以预测患者未来发病的可能性,那么对于糖尿病患者来说也许是一个福音。对于医护人员而言,如果能够根据一系列的参数预测到患者未来的发病情况,那么就可以抢占治疗先机,提前准备好针对性的预防措施。
课题研究现状及趋势
糖尿病医学上判断是一种慢性病,有着包括糖尿病眼病、糖尿病肾病、糖尿病神经病变、糖尿病心脑肢体大血管病变等并发症[3]。慢性并发症是糖尿病患者长期血糖控制不良的累积结果,是糖尿病患者生活质量下降的主要原因。临床研究表明,如果患者能长期有效地控制血糖,可以预防或延缓并发症的发生。但是,就实际情况而言,目前对于糖尿病患者的发病趋势是难预测的。
对于糖尿病人数据集的分析,采用传统统计学[4]方法,将需要处理的数据转换为结构化的数据。再通过数据分析,从时间和空间维度分析数据的宏观趋势、散度和分布。采用多元回归分析方法,找出影响数据的主要参数,分析数据之间的相关性,及时识别和排除异常数据,进而深入分析数据规律。采用传统的统计学方法,虽然也能做到对数据的分析和预测,但是这种方法效率比较低,且预测效果相对较差。并且,随着数据集规模的扩大,传统统计学就不太适合用于数据挖掘。
采用机器学习分析数据,在学习建模和算法选择时,用户可以根据自身对数据的了解,选择合适的算法,完成建模和算法确定之后,机器学习将会自主寻找数据之间的关系,对数据进行系统的分析,从而突出主要联系,进而分析数据的趋势,更加准确的对数据进行预测。整个机器学习的过程相对于传统统计学方法而言,更加的高效、准确。
机器学习数据分析的开发环境较多,如Matlab、Python等。本课题《机器学习糖尿病数据分析》选择Python来完成数据分析。首先,Python本身一种功能强大的解释性编程语言,简洁清晰的语法和高效的高级数据结构是它的特点,这使它能够简单有效地实现面向对象的编程。而且由于它本身是开源的,具有可移植性。其次,Python本身具有强大的标准库,Python语言的核心只包含常见的类型和函数,如数字、字符串、列表、字典、文件等,这使得Python比其他编程方法更简洁、方便、高效。
本课题主要是数据挖掘和机器学习,相对于其他编程语言而言,选择Python是因为它具有简洁明了和开源的优势。在对提供的大量数据进行处理后,可以较好的实现分析数据之间的联系的普遍性和特殊性,因此选择Python完成本课题。
目 录
1 绪论 1
1.1 课题研究背景及意义 1
1.2 课题研究现状及趋势 1
1.3 论文主要内容 2
2 数据预处理 4
2.1 数据集整理 4
2.2 标准库及数据库的导入 4
2.2.1 标准库简介 5
2.2.2 导入标准库 5
2.2.3 导入数据集 5
2.3 训练集、验证集划分 7
2.4 特征缩放 8
2.5 构建混淆矩阵 10
2.6 本章小结 10
3 机器学习分类算法部分 11
3.1 逻辑回归算法 11
3.1.1 Sigmoid函数 11
3.1.2 逻辑回归创建学习模型 11
3.2 朴素贝叶斯算法 12
3.2.1 贝叶斯定理 12
3.2.2 朴素贝叶斯分类器原理简介 13
3.2.3 朴素贝叶斯创建学习模型 14
3.3 随机森林算法 15
3.3.1 决策树 15
*好棒文|www.hbsrm.com +Q: #351916072#
3.3.2 随机森林算法 16
3.3.3 随机森林创建学习模型 17
3.4本章小结 18
4 机器学习效果对比分析 19
4.1 非随机挑选验证集 19
4.2 随机挑选验证集 22
5 总结 26
参考文献 27
致谢 28
附录一 29
附录二 32
1 绪论
课题研究背景及意义
随着科学技术的进步,社会的快速发展,人们的生活水平不断提高,各种方便的生活方式给人们带来了方便和更加舒适的生活享受。其中,变化最大的当属人们的饮食结构和出行方式。人们享受着享受经济发展带来便捷的同时,一些现代文明病也渐渐流行起来,例如:肥胖、高血脂、冠心病、糖尿病等。现代文明病主要起因于生活富裕后,人们营养过剩且运动量减少导致的,所以“现代文明病”又被戏称为“富贵病”。根据卫生部调查,中国有22%的人超重,超过6000多万人因肥胖而就医,这其中就有超过5000万人深受糖尿病的困扰。
糖尿病[1]作为一种慢性疾病,由于缺少根治的方法,治疗周期漫长,给患者及其家庭带来巨大经济负担的同时,也让患者承受极大的痛楚。随着生活水平的提高,肥胖症在青少年间蔓延,这使得糖尿病的发病人群趋于年轻化[2]。在国内糖尿病发病率逐年上升的大前提下,青少年患者在患者群中占据着越来越大的比重,青年患者的存在都将让各自家庭蒙上了极大阴影。
因为糖尿病本身的特性,使得治疗过程漫长而痛苦。糖尿病本身并不可怕,它并不会给病人带来致命威胁,但是它可以引起众多并发症,如眼病、心脑血管病等,并发症严重的更有可能威胁到病人的生命。对糖尿病患者的治疗过程是漫长的,医生仅仅可以控制患者的病情。在对患者治疗的过程中,会产生大量的临床数据,而这些重要的临床数据中或多或少存在着许多有关糖尿病人发病和治疗的规律。
当今对于糖尿病的检测和预防的方法较多,且简单有效,但是对于糖尿病人来说,这些仅仅是起到预防作用,患者也只能通过药物缓解症状。如果可以预测患者未来发病的可能性,那么对于糖尿病患者来说也许是一个福音。对于医护人员而言,如果能够根据一系列的参数预测到患者未来的发病情况,那么就可以抢占治疗先机,提前准备好针对性的预防措施。
课题研究现状及趋势
糖尿病医学上判断是一种慢性病,有着包括糖尿病眼病、糖尿病肾病、糖尿病神经病变、糖尿病心脑肢体大血管病变等并发症[3]。慢性并发症是糖尿病患者长期血糖控制不良的累积结果,是糖尿病患者生活质量下降的主要原因。临床研究表明,如果患者能长期有效地控制血糖,可以预防或延缓并发症的发生。但是,就实际情况而言,目前对于糖尿病患者的发病趋势是难预测的。
对于糖尿病人数据集的分析,采用传统统计学[4]方法,将需要处理的数据转换为结构化的数据。再通过数据分析,从时间和空间维度分析数据的宏观趋势、散度和分布。采用多元回归分析方法,找出影响数据的主要参数,分析数据之间的相关性,及时识别和排除异常数据,进而深入分析数据规律。采用传统的统计学方法,虽然也能做到对数据的分析和预测,但是这种方法效率比较低,且预测效果相对较差。并且,随着数据集规模的扩大,传统统计学就不太适合用于数据挖掘。
采用机器学习分析数据,在学习建模和算法选择时,用户可以根据自身对数据的了解,选择合适的算法,完成建模和算法确定之后,机器学习将会自主寻找数据之间的关系,对数据进行系统的分析,从而突出主要联系,进而分析数据的趋势,更加准确的对数据进行预测。整个机器学习的过程相对于传统统计学方法而言,更加的高效、准确。
机器学习数据分析的开发环境较多,如Matlab、Python等。本课题《机器学习糖尿病数据分析》选择Python来完成数据分析。首先,Python本身一种功能强大的解释性编程语言,简洁清晰的语法和高效的高级数据结构是它的特点,这使它能够简单有效地实现面向对象的编程。而且由于它本身是开源的,具有可移植性。其次,Python本身具有强大的标准库,Python语言的核心只包含常见的类型和函数,如数字、字符串、列表、字典、文件等,这使得Python比其他编程方法更简洁、方便、高效。
本课题主要是数据挖掘和机器学习,相对于其他编程语言而言,选择Python是因为它具有简洁明了和开源的优势。在对提供的大量数据进行处理后,可以较好的实现分析数据之间的联系的普遍性和特殊性,因此选择Python完成本课题。
版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/dzxx/dzkxyjs/605.html