基于Weka数据挖掘的慢性乙肝症状与实验室指标相关性研究
2016-04-14赵亮
赵亮
摘要:运用关联规则数据挖掘技术,利用Weka数据挖掘平台,对767例慢性乙肝患者的数据进行挖掘分析,再通过课题组编写的过滤分解程序,过滤分解得到864条慢性乙肝症状和实验室指标的关联规则。研究结果表明,基于Weka的关联规则数据挖掘技术,挖掘出的诸如鼻头色微黄明润、舌苔白与舌淡红等和实验室指标关联性很强的慢性乙肝症状,可以为医生临床诊断决策提供新的思路和参考。
关键词:Weka;慢性乙肝;数据挖掘;关联规则
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2016)05-0266-03
Abstract: Our research group filter and decompose to get 864 chronic hepatitis B symptoms and laboratory indexes of association rules by using association rules data mining techniques and Weka data mining platform,and data mining analysis of the 767 cases of chronic hepatitis B patients,and through our team writing filter decomposition program.The results show that it can provide new ideas and reference for the decision of doctors clinical diagnosis by the data mining to get such the yellowish-bright moist nose,white fur and pink tongue as symptoms of chronic hepatitis B strong associated with laboratory indexes based on the association rules of Weka data mining techniques.
Key words: Weka; Chronic hepatitis B; Data mining; Association rules
慢性乙型肝炎是目前危害人类健康最严重的传染病之一,是一种发病率高、病程长、难治愈、易反复的常见病[1]。近年来,在慢性乙肝的治疗方面,中西医均有不断深入的研究,新的治疗方法不断涌现,但目前还未见慢性乙肝症状与实验室指标相关性的研究。
本文以767例临床病例数据为研究对象,将收集到的慢性乙肝症状和实验室指标,利用Weka数据挖掘平台,采用基于关联规则等数据挖掘方法,进行慢性乙肝症状和实验室指标相关性研究,最终得到慢性乙肝症状和诸如HBV-DNA、谷丙转氨等重要实验室指标的相关性分析结果,从而指导医生的临床诊断决策。
1 关联规则挖掘
1.1 关联规则挖掘简介
关联规则挖掘是指从事务数据库,关系数据库和其他信息存储中的大量数据的项集之间发现有趣的、频繁出现的模式、关联和相关性[2],也就是给定一个交易数据集T,找出其中所有Support≥Min_support、Confidence≥Min_confidence的关联规则,其中Support为支持度,Min_support为最小支持度,Confidence为置信度,Min_confidence为最小置信度。
1.2 关联规则挖掘算法
关联规则挖掘算法有很多种,也是学者研究的热点领域之一。关联规则常用的算法为Apriori算法、FP-Growth算法和Partition算法等。其中Apriori算法是关联规则挖掘算法中最经典的算法。
2 Weka数据挖掘平台
Weka的全名是怀卡托智能分析环境(Waikato Environment for Knowledge Analysis),是一个基于Java的开源的数据挖掘平台,集合了大量能承担数据挖掘任务的机器学习算法,包括对数据进行预处理,分类,回归、聚类、关联规则,以及在新的交互式界面上的可视化[2]。
3 慢性乙肝症状与实验室指标相关性研究过程
3.1 数据选择
本项目数据来源为国家科技重大专项的《病毒性肝炎中医证候生物学技术平台研究》中证候生物学技术平台的数据。证候生物学技术平台的数据来自于四川大学华西医院、成都中医药大学附属医院、成都市传染病医院、乐山市中医院、沪州医学院附属医院、沪州医学院附属中医院、德阳市人民医院和绵阳市中医院等8家医院的病例采集,共767例临床病例。
利用证候生物学技术平台将数据导出为Excel文件数据格式,共8个Excel文件。
3.2 数据预处理
1) 文件合并
原始数据共8个Excel文件,共767行数据,每个Excel文件工作表中有349列数据。本项目的目标是要挖掘出慢性乙肝症状和实验室指标相关性规则,所以只需保留慢性乙肝症状和实验室指标数据,而其他数据列可以舍去。最终将8个Excel文件合并为1个Excel文件,其工作表只需保留舌色、脉象、胁下痛、HBV-DNA和谷丙转氨等共767行、97列数据。
2) 实验室指标分类
在Excel文件的工作表的实验室指标,共有HBV-DNA、谷丙转氨酶、谷草转氨酶、总胆红素、直接胆红素和间接胆红素等6项,每项指标的数据都为病人实验室指标的实际数值。若要进行数据挖掘,则必须要对各项实验室指标数据进行分类,分类方式如表1:
表1中结论的“正常”表示该实验室指标为正常范围值,“不正常”表示该实验室指标超出正常范围值,“预后好”表示病程短、肝细胞实质损害轻和预后较好的患者实验室指标,“预后不好”表示早期肝硬化及肝硬化患者的实验室指标。
3) 同一症状不同列的情况处理
在Excel文件的工作表的各项症状中,存在这样的一种情况,例如:脉象共有三列数据,表示一个人同时可有三种脉象,但在录入数据的时候,同一种脉象并没有在同一列中。比如患者甲存在弦脉,其数据存放于脉象A列中,而患者乙也存在弦脉,其数据却存放于脉象B列中。这就造成了同一症状的数据放在不同的列中,如果直接进行数据挖掘,则会造成挖掘的规则不准确,所以必须要解决这种同一症状不同列的问题。
解决问题的方法如下,先统计工作表中脉象的种类数量,共15种脉象。然后在3列脉象之后再增加12列脉象,同一种类脉象数据就可以放在同一脉象列中了。其他症状不同列的问题也按此方法处理,该问题得到解决。新的Excel文件的工作表的数据列增加到147列。
经过以上3个步骤,基本完成了数据预处理,就可以进行数据挖掘。
3.3 数据挖掘
采用Weka3.7.11对数据进行挖掘,挖掘步骤如下:
1) 将Excel文件转换成Weka数据格式。
Weka数据挖掘平台的数据存储格式是ARFF文件。Weka能够支持CSV格式的数据,但对ARFF格式的支持是最好的,所以需要将CSV格式转为ARFF格式。首先在Excel中将预处理得到的Excel文件另存为CSV格式文件,然后使用Weka提供的“ARFF Viewer”模块打开CSV文件,再将文件另存为ARFF格式文件即可。
2) 使用Weka进行关联分析
打开Weka数据挖掘平台,在Weka GUI Chooser中单击Explorer,调出Weka Explorer工具进行数据挖掘。在Weka Explorer中打开数据文件,然后在Weka Explorer的Associate选项卡中进行Apriori数据挖掘分析,设置Apriori数据挖掘分析参数如图1所示,其中最小支持度lowerBoundMinSupport为0.2,最小置信度minMetric为0.5,挖掘出的最多规则数量numRules为20000。参数设置好后开始挖掘,结果如图2所示,共挖掘出符合条件的规则12155条。
3) 对挖掘得到的关联规则过滤和分解
本项目是要分析出慢性乙肝症状和实验室指标的关联规则。而在这12155条规则中,有很多是症状与症状、实验室指标与实验室指标和实验室指标与症状的关联规则,需要过滤这些不符合项目要求的关联规则,最后将关联规则分解为符合要求的数据另存为Excel文件。
首先将这12155条规则导出到MySql的数据库中,然后使用“Php+MySql+Apache”开发环境编写过滤分解程序,再应用该程序对规则进行过滤和分解,最后得到符合要求的Excel文件,打开Excel文件后如图3所示,共864条规则。
4 结果分析
1)本项目涉及患者症状共247种,患者症状出现的频次15108次,其中频率在前10位的症状如表2所示。从表2可以看出,绝大部分患者语音是正常的,苔色中苔白人数最多,脉象中弦脉人数做多,苔质中苔薄人数最多,舌色中淡红人数最多,舌形中舌荣润人数最多,大部分患者会有乏力感,但不影响日常工作。
5 结论
本项目数据挖掘结果表明,若患者鼻头色为微黄明润,或者苔色为苔白,或者舌色为淡红等,则其实验室指标可能不正常。而医学文献资料中常见的乙肝症状,主要为乏力、食欲不振、皮肤发黄和小便发黄等,并无鼻头色微黄明润、舌苔白和舌淡红等症状。这些新的和实验室指标关联性很强的慢性乙肝症状,或许能为医生临床诊断决策提供新的思路和参考。
参考文献:
[1] 王政.慢性乙型肝炎中医证候规律研究[J].河南中医,2011,31(8):870.
[2] 胡绿慧,任玉兰.基于Weka关联规则挖掘的针灸腧穴规律研究[J].电脑知识与技术,2014,10(7):1361-1362.