戴晓敏 丁勇
摘要:高血压作为一种严重影响人类健康的心脑血管疾病,越来越得到人们的重视,如何利用数据挖掘技术从大量的病例中发现潜在的发病机理成为生物信息学研究的热点。本文首先采用数据清理、变换等预处理技术对医院提供的大量生化检验数据进行处理,提取GLU、TC、TG等影响高血压的主要生理体征属性;然后,针对C4.5算法在体征属性选择方面存在的偏离问题,引入属性权重的概念,对C4.5算法进行改进;最后,基于改进的C4.5算法构建决策树,并从中提取用于诊断的分类规则。实验证明,构建的决策树模型符合医学认识,准确率较高,为辅助医生诊断和治疗高血压疾病提供了有力的科学依据。
关键词:高血压;决策树;分类;C4.5;GLU;TC;TG
中图分类号:R319 文献标识码:A DOI:10.3969/j.issn.1006-1959.2019.01.001
文章編号:1006-1959(2019)01-0001-03
Application of Classification Algorithm in Diagnosis of Hypertension
DAI Xiao-min1,DING Yong2
(1.Department of Cardiology,Zhoupu Hospital,Pudong New Area,Shanghai 200120,China;
2.Taizhou Institute of Science and Technology,Nanjing University of Science and Technology, Taizhou 225300,Jiangsu,China)
Abstract:As a cardiovascular and cerebrovascular disease that seriously affects human health, hypertension has been paid more and more attention. How to use data mining technology to discover potential pathogenesis from a large number of cases has become a hot spot in bioinformatics research. In this paper, the data processing, transformation and other pre-processing techniques are used to process the large amount of biochemical test data provided by the hospital, and the main physiological signs of hypertension, such as GLU, TC and TG, are extracted. Then, for the deviation problem of C4.5 algorithm in the selection of the attribute of the sign, the concept of attribute weight is introduced to improve the C4.5 algorithm. Finally, the decision tree is constructed based on the improved C4.5 algorithm and extracted for diagnosis classification rules.The experiment proves that the constructed decision tree model is in line with medical knowledge and has high accuracy, which provides a powerful scientific basis for assisting doctors in the diagnosis and treatment of hypertension.
Key words:Hypertension;Decision tree;Classification;C4.5;GLU;TC;TG
高血压(hypertension)是一种常见的心血管疾病,会导致冠心病、糖尿病、脑卒中等并发症的发生,严重威胁到人们的身体健康。除了常规药物治疗方法,近年来使用关联分析[1]、聚类分析[2]、分类分析[3]、回归分析[4]、序列分析[5]等数据挖掘技术辅助疾病诊疗已成为生物信息学研究的热点。数据挖掘技术是数据库知识发现(KDD)中的关键步骤,通常指从大量无序的数据中挖掘隐藏于其中的规律,因此可以利用数据挖掘技术从大量的高血压电子病历中提取有价值的数据,并从中挖掘导致高血压疾病的发病机理和生理特征,以便于医生更科学、准确地诊断和预测高血压等心脑血管疾病[6-9]。
有不少学者提出将数据挖掘相关技术应用到高血压等心脑血管疾病研究中。甘昕艳等[10]以某社区医院电子病历作为数据源,在数据的采集、清理、筛选的基础上,利用不同的数据挖掘算法,建立不同的挖掘模型,并通过IBM SPSS Modeler挖掘平台进行对比分析,为医务人员提供了适合各种病种的诊疗模型。王维樵[11]基于实验信息系统(LIS)与医院信息系统(HIS)提供的生化检验数据,采用SPSS统计软件和数据挖掘技术,提取10项有价值的指标建立人工神经网络诊断模型,对心脑血管疾病发生率进行有效评估。马宗帅[12]提出将深度学习算法应用到心脑血管疾病预测中,在对生理数据集进行归一化处理的基础上,基于受限玻尔兹曼机网络和BP神经网络,构建基于DBN的心脑血管疾病预测模型,并通过大量实验验证模型的识别率。王专等[13]提出将人工智能、大数据技术应用到高血压的治疗效果分析中,搭建了基于Hadoop分布式计算平台以及Hbase分布式数据库的大数据疾病分析系统,能够对提供的海量高血压案例数据进行大规模分类建模与计算,实现高血压疗效的科学分析以及用药推荐等功能[14,15]。
1改进的C4.5算法
1.1算法思想 C4.5算法是一种分类决策树算法,算法的基本思想是找出具有最大信息增益率(Gain Ratio)的属性作为决策树的分裂节点,再根据不同属性值建立树的分支,对每个分支重复建立树的下一层节点和分支,直到分支的属性值属于同一类[3]。C4.5算法使用信息增益率来选择属性,GainRatio越大,区分样本的能力就越强,克服了用信息增益选择属性时存在的偏向问题。但是有些因素,如患者是否服药、患者性别等对高血压的诊断具有很大的影响。因此,引入属性权重?棕的概念,对C4.5算法进行改进。
1.2算法描述
算法:Hypertension _Decision_Tree
输入:训练数据集样本,属性集
输出:高血压分类决策树
(1)创建一个节点Node
(2)如果数据集中的元组属于同一类
(3)返回Node作为叶子节点,并以该类为标记
(4)如果属性集为空
(5)返回Node作为叶子节点,标记为样本集的普通类
(6)选择属性集中具有最高信息增益率的属性作为分裂属性
(7)使用分裂属性标记节点Node
(8)对分裂属性的每个属性值X
(9)由节点Node产生一条满足分裂属性值=X的分枝
(10)设Di是D中满足分裂属性值=X的数据集合
(11)如果Di为空
(12)添加一个树叶节点,标记为样本集的普通类
(13)否则
(14)添加一个由Hypertension _Decision_Tree(Di,分裂属性)返回的节点
2高血压分类诊断模型
采用上海周浦医院心血管内科提供的2015年1月~2017年6月收集的9856份电子病历,从处方和检验报告中其提取部分有价值的属性,包括患者性别(Gender)、患者年龄(Age)、收缩压(Systolic Blood Pressure)、舒张压(Diastolic Blood Presssure)、随机血糖(GLU)、总胆固醇(Total Cholesterol,TC)、甘油三酯(Triglyceride,TG)、高密度脂蛋白(High Density Lipoprotein,HDL)、低密度脂蛋白(Low Density Lipoprotein,LDL)、服药(Medicine)等。高血压分类诊断模型主要包括数据清洗、利用C4.5算法构造决策树、提取分类规则等主要步骤,见图1。
2.1数据预处理
2.1.1数据离散化 对患者年龄进行离散化处理,年龄>60岁设置为High(H),在30~50岁之间设置为Middle(M),<30岁设置为Low(L)。
2.1.2数据缺省值 对于没有记录值的属性,用数据缺省值进行填充,如性别用“男”表示,TG用正常值1.7 mmol/L表示。
2.1.3数据统一化 將TC、TG、HDL等属性的单位统一转换成mmol/L。
2.1.4数据归类 将样本的高血压值归类,通常将收缩压>140 mmHg或舒张压>90 mmHg定义为高血压。
2.2构造决策树 以表1提供的部分训练集数据,给出构造决策树的步骤。
步骤1:计算类别信息熵。高血压属性(Hypertension)有两个不同值(yes,no),值为yes的元组有3个,值为no的元组有7个,因此期望信息为:
步骤5:构造决策树。通过计算,属性是否服药(HasDOSE)的信息增益率最高,因此被作为第一个分裂节点,并根据不同的属性值(Yes,No)将样本分成2个子集,对每一颗子决策树,递归调用上面的构造方法。根据9856条样本数据最终生成的决策树见图2。
2.3提取高血压判别规则 规则表示属性之间的关系,通常用IF-THEN的形式来表示。IF部分为规则的前件,Then部分为规则的后件。基于高血压分类决策树,提取以下“正例”规则:
IF Has_Dose=No Then is_hypertension =Yes
IF Has_Does=Yes And HDL>1.45 And GLU≤4.5 Then is_hypertension =Yes
IF Has_Does=Yes And HDL>1.45 And GLU≥4.5 And TG>2.37 Then is_hypertension =Yes
如果没有服药,则患高血压的概率为75%。
如果服药,且高密度脂蛋白>1.45,且随机血糖≤4.5,则患高血压的概率为100%。
如果服药,且高密度脂蛋白>1.45,且随机血糖≥4.5,且甘油三酯>2.37,则患高血压的概率为66.7%。
3总结
本文基于上海周浦医院心血管内科提供的电子病历和生化检验数据,采用改进的C4.5分类算法,建立高血压分类诊断模型,该模型包括数据预处理、决策树构建、分类规则提取等功能。实验证明,基于改进后的模型提取高血压分类规则更加准确,更符合医学认识,为辅助医生诊疗高血压疾病提供了有价值的知识库和科学依据。
参考文献:
[1]杨余垒.改进的关联规则算法在慢性病数据挖掘中的研究[D].浙江理工大学,2017.
[2]宋欣霞.基于并行化聚类的中医治疗高血压用药规律分析[D].山东中医药大学,2017.
[3]林玲玲.基于C4.5算法的高血压分类规则提取的研究[D].太原理工大学,2012.
[4]王宁.基于二项Logistic回归建模的在线高血压病情分类系统的研究与开发[D].内蒙古大学,2017.
[5]张晓宇.序列模式挖掘算法在高血压药物推荐中的研究[D].太原理工大学,2017.
[6]黎彩芬,唐瑞璠,卢远新,等.病案信息数据挖掘在老年高血压病临床护理中的应用[J].深圳中西医结合杂志,2016,26(12):132-133.
[7]朱丽娟,李运伦,聂文婷,等.基于数据挖掘的高血压病方剂用药规律分析[J].中国中医药现代远程教育,2016,14(10):48-51.
[8]吕长霞.基于数据挖掘的从肝论治高血压组方用药规律研究[D].北京中医药大学,2016.
[9]赵静,崔德芝,鞠建庆.基于数据挖掘的名老中医治疗高血压用药规律分析[J].国医论坛,2015,30(05):61-63.
[10]甘昕艳,潘家英,梁京章.数据挖掘技术在高血压病种上的应用研究[J].电脑知识与技术,2015,11(05):1-4,6.
[11]王维樵.基于Hadoop平台的高血压治疗效果分析系统的设计与开发[D].东南大学,2017.
[12]马宗帅.基于深度学习的心脑血管疾病预测方法研究[D].西安建筑科技大学,2015.
[13]王专,王开正,程松,等.心脑血管疾病生化检验数据挖掘和报告解读[J].中国医学工程,2011,19(10):86-88.
[14]卢沛良.基于高原高血压下的生物大数据可视化研究[D].青海师范大学,2017.
[15]车晋强.基于Spark平台的高血压药物推荐及疗效预测研究[D].太原理工大学,2016.