1. 引言
糖尿病等各种慢性病的患病率现阶段逐年提高,单一的医疗卫生服务体系难以有效满足人民群众的健康需求。将治病和防病结合起来,重点关注早期居民的糖尿病问题,有利于尽快治疗,高效治疗,最大程度地减少居民慢性病影响健康问题。近些年来,我国糖尿病患病人数高速增长,糖尿病防治成为多地开展数字化医疗防控的重点。国内外许多专家关于如何有效及时预防和及时治疗糖尿病展开了研究,主要考虑聚焦于如何根据去医院检查人员在相关的各项指标情况下融合数字化背景以及人工智能有效地发现潜在的糖尿病患者,从而更好地及时进行相关治疗,减少糖尿病对于人群的影响。而发现潜在的糖尿病患者的关键的一个方面是对糖尿病患者的遗传风险的预测。通过这一方面的考虑,我们可以通过对于进行各项检查的人群进行糖尿病的分析和预测,将未确认糖尿病但指标不正常有糖尿病趋势的人群进行潜在的糖尿病居民的划分,分为潜在糖尿病人群和非糖尿病人群。
目前在大数据技术和人工智能技术飞速发展下,越来越多的机器学习方法被运用到人群的糖尿病预测和分类研究中。在糖尿病分类预测研究中,刘巧红提出了基于xgboost算法的糖尿病分类预测模型及应用,胡月提出了基于stacking集成学习的糖尿病风险预测研究,凌雄娟提出了基于机器学习算法如xgboost和逻辑回归算法的糖尿病预测,吴纵凌使用基于卷积神经网络对糖尿病进行了预测,薛博元通过改进catboost算法对糖尿病回归和分类预测进行模型研究。
此次论文研究以糖尿病遗传风险预测数据集(天池精准医疗大赛)为研究对象,以根据病人的基本情况指标、乙肝指标、血常规指标、肝功能指标、肾功能指标等构建出病人潜在糖尿病遗传风险预测的评价特征。根据评价特征构建了gcc-knn模型(gridsearch cv and chebyshev distance, k-nearest neighbor),使用了knn算法作为基础,网格搜索及交叉验证方法寻找参数的最优值,确定k值的最优值。根据各种不同的距离公式进行各项评价指标对比,决定了此篇论文中使用的距离公式确定为切比雪夫距离。构建好gcc-knn模型后对糖尿病遗传风险预测进行相应的分类预测,从而将糖尿病病人遗传风险分类分为潜在糖尿病人群和非糖尿病人群。各项评价指标表明该模型在糖尿病遗传风险预测方面具有较好效果,有效为潜在糖尿病人群提供预警,辅助医生进行早期干预及诊断,从而降低糖尿病发病风险。
2. 相关技术基础
2.1. knn算法
knn算法主要用于机器学习方面,是属于比较基础的算法。它可以用于分类、还可以用于预测。它是通过根据不同的距离来进行特征值的分类。knn方法如下:对于每一个输入的向量,就是空间的每一个点,输出值为其对应的预测标签。knn不需要普通的学习过程,它在训练数据完成后,对其进行相应的划分,划分后的标签作为最终的预测结果。后面输入无标签数据,无标签数据的特征与之前的测试集数据的特征进行相似度测试,再获取测试集中特征最接近的数据的标签。knn中有一个k值参数,即选择训练集中k个特征,k一般来说是小于等于20。
2.2. gridsearchcv算法(网格搜索和交叉验证算法)
网格搜索属于一种遍历方法,从而寻找使用的模型的最合适的参数。交叉验证将论文中要用到的数据集进行划分,如分为n份,在这n份中选择其中的一份用作测试,剩下的n − 1份用来训练,因为我们使用的模型中包含了一些超参数,这些超参数对于算法的结果影响很大,因此我们要组成不同的参数,从而找到最合适的组合参数来构建好相应的模型。它的原理是只需要将若干参数传递给网格搜索对象,它自动帮我们完成不同超参数的组合、模型训练、模型评估,最终返回一组最优的超参数。交叉验证解决模型的数据输入问题(数据集划分)得到更可靠的模型,网格搜索解决超参数的组合,构成一个模型参数调优的凯发娱乐官网的解决方案。
2.3. 多种距离公式
2.3.1. 欧几里得距离(euclidean distance)
和
欧几里得距离为公式(1)所示。
(1)
2.3.2. 曼哈顿距离(manhattan distance)
点
和
曼哈顿距离为公式(2)所示。
(2)
2.3.3. 切比雪夫距离(chebyshev distance)
点
和
切比雪夫距离为公式(3)所示。
(3)
2.3.4. 汉明距离(hamming distance)
采用两个字符串s1和s2,这两个字符串长度相同,s1和s2的距离:将其中一个变为另外一个所需要的最小字符替换次数。
3. 数据特征及分析
3.1. 数据集
此次论文的研究数据集以糖尿病遗传风险预测数据集(天池精准医疗大赛)为研究对象。我们使用的这个数据集有5642份数据,每一个病人存在不同的41个特征,特征主要包含了病人的各种基本身体情况,比如基本情况指标、肝功能指标、生化指标、乙肝五项指标、血常规指标以及血糖目标变量等主要的指标。我们对这份数据集进行了一定的预处理,然后根据需求进行了各种不同的算法的试验来进行比较和对比。详细展示了数据集病人信息的特征变量类别说明。
table 1. dataset patient information
表1. 数据集病人信息
特征类型 |
特征名称 |
基本情况指标 |
id、性别、年龄 |
肝功能指标 |
天门冬氨酸氨基转换酶、碱性磷酸酶、r-谷氨酰基转换酶、丙氨酸氨基转换酶、
总蛋白、球蛋白、白蛋白、白球比例 |
生化指标 |
甘油三酯、高密度脂蛋白胆固醇、低密度脂蛋白胆固醇、总胆固醇、肌酐、尿酸、尿素 |
乙肝五项指标 |
乙肝表面抗原、乙肝表面抗体、乙肝e抗原、乙肝e抗体、乙肝核心抗体 |
血常规指标 |
白细胞计数、红细胞计数、血红蛋白、红细胞平均血红蛋白量、红细胞压积、红细胞体积分布宽度、红细胞平均体积、血小板体积分布宽度、红细胞平均血红蛋白浓度、血小板计数、血小板平均体积、血小板比积、嗜酸细胞%、淋巴细胞%、中性粒细胞%、单核细胞%、嗜碱细胞% |
3.2. 数据平衡性分析
本数据集中男女性别比例基本一致,所以不存在性别对数据平衡性的影响()。
figure 1. sex type
图1. 性别类型
4. 面向病人糖尿病遗传分类预测模型——gcc-knn模型
4.1. 模型框架
针对病人特征指标信息较多,且需要保证病人糖尿病遗传的预测准确率的情况下。本章节结合基于切比雪夫距离和网格搜索和交叉验证算法的gcc-knn算法,用于进行潜在病人糖尿病遗传分类预测()。
4.2. 基于网格搜索和交叉验证算法对最优参数k值的确定
使用了相应的优化算法对此次论文中的k值参数进行参数的最优值的寻找,根据目的需要,设置了k值参数选择的范围是1~20之间的整数,经过gridsearchcv对k参数寻找后,本篇文章中选择的k值参数最合适值确定为18。
figure 2. gcc-knn algorithm model diagram
图2. gcc-knn算法模型图
4.3. 基于多种距离公式确定最优距离公式
使用了各种不一样的距离放在knn算法中,运行后再通过检验的标准来进行选择。此篇文章中需求是为了对糖尿病人群遗传风险进行预测和评估,在对准确率、精准率、召回率,f1值等进行计算的过程中,着重对准确率这项指标进行了选择。使用欧几里得距离、曼哈顿距离、汉明距离、切比雪夫距离这四个不同的距离进行了糖尿病人群遗传风险的评估,得出的准确性判断结果中,切比雪夫距离最适合本篇文章的需要。
5. 面向病人糖尿病遗传分类预测模型——gcc-knn模型
5.1. 实验对象和具体设计
我们的实验对象是糖尿病遗传风险预测数据集(天池精准医疗大赛),选用70%用作我们的训练,选用30%用作我们的测试。以knn (欧几里得距离)、c-knn (切比雪夫距离)、m-knn (曼哈顿距离)、h-knn (汉明距离)、g-knn (网格搜索及交叉验证与欧几里得距离)、gm-knn (网格搜索及交叉验证与曼哈顿距离)、gh-knn (网格搜索及交叉验证与汉明距离)、gcc-knn (网格搜索及交叉验证与切比雪夫距离)用在了糖尿病遗传人群分类预测中去,具体步骤如下采用,对accuracy (准确率)和precision (精准率)、recall (召回率)、f1-score (f1值)排序来综合考量,以及主要考量潜在糖尿病人群遗传风险评估的准确率。
5.2. 实验结果分析
table 2. knn algorithm and accuracy
表2. knn算法及准确率
算法 |
准确率 |
精准率 |
召回率 |
f1分值 |
基于欧几里得距离的knn算法 |
0.832 |
0.343 |
0.067 |
0.112 |
基于切比雪夫距离的knn算法 |
0.833 |
0.333 |
0.056 |
0.096 |
基于曼哈顿距离的knn算法 |
0.834 |
0.333 |
0.073 |
0.119 |
基于汉明距离的knn算法 |
0.829 |
0.316 |
0.067 |
0.111 |
基于网格搜索算法和欧氏距离的knn算法 |
0.841 |
0.400 |
0.011 |
0.022 |
基于网格搜索算法和切比雪夫距离的knn算法 |
0.845 |
0.800 |
0.022 |
0.044 |
基于网格搜索算法和曼哈顿距离的knn算法 |
0.844 |
1.000 |
0.017 |
0.033 |
基于网格搜索算法和汉明距离的knn算法 |
0.843 |
1.000 |
0.011 |
0.022 |
figure 3. knn algorithm comparison
图3. knn算法对比
从的数据比较可以得到,gcc-knn算法与其他算法的比较中,各方面效果更佳,在此文章中最需要的准确率效果比较中,gcc-knn也是效果更好的。从可以明显的看出,gcc-knn与knn比较,准确率高出1.3%、gcc-knn与m-knn比较,准确率高出1.2%、gcc-knn与c-knn比较,准确率高出0.9%、gcc-knn与h-knn比较,准确率高出1.6%、gcc-knn与g-knn比较,准确率高出0.4%、gcc-knn与gm-knn比较,准确率高出0.1%,gcc-knn与gh-knn比较,准确率高出0.2%。
6. 结论
糖尿病分类预测方法可以对人群中潜在糖尿病人群遗传进行分类预防,本篇文章首先查看了糖尿病病人性别数量的情况,病人的性别比例是很平衡的,不用进行优化。基本情况指标、肝功能指标、生化指标、乙肝五项指标、血常规指标都与糖尿病认证信息相关,根据对于糖尿病人群遗传分类预测的需要,提出了gcc-knn算法,该论文算法需要确定恰当参数的过程中,运用了gridsearchcv方法找到了最适合的参数,该论文中基础的距离性能非最高的问题下,选择对于提高糖尿病人群遗传概率测算更针对性的距离公式,即chebyshev distance改进。我们通过使用不同的评价方法进行评价之后,数据显示现在的糖尿病人群中遗传几率偏高,从糖尿病人群的遗传入手,从而减少糖尿病人群的比例和发病率是很重要的。其测试的效果表明gcc-knn算法能够在糖尿病人群的遗传分类预测领域具体使用中效果更合适,展现了与以前医院、诊所等对于糖尿病人群遗传测试不一样的,机器学习与医学实践分析相结合的新的思路方法。