基于决策树的蒙医方剂药物与主治的关系研究❋
2018-10-23张春生
张春生,图 雅,李 艳
(内蒙古民族大学计算机科学与技术学院,内蒙古 通辽 028043)
数据挖掘技术自产生以来得到广泛的研究和应用,特别是随着大数据技术和物联网技术的发展,数据挖掘技术的研究与应用越来越火热。决策树作为数据挖掘技术的重要组成算法,其理论研究一直在进行,算法时空效率不断提高[1-6]。
在中医方剂配伍规律数据挖掘研究方面,目前的研究成多数是应用关联规则和聚类分析或一般性统计分析等方法进行。如朱习军等利用改进的Apriori算法对哮喘病案进行了数据分析[7];周志焕等对郁证古方用药规律进行了关联规则分析[8];谭惠娟等应用数据挖掘方法对针灸治疗慢性疲劳综合征腧穴运用规律进行了研究[9];田茸等对脾虚型泄泻方剂用药规律进行了关联规则分析[10];杨丽平等应用聚类分析方法对3种腰痛方剂进行了相应的研究[11];吴磊等通过双向聚类方法对中医治疗中风病方剂配伍规律进行了相关研究[12]。
应用决策树算法对中医方剂进行数据挖掘方面,目前尚未查到相关资料,只是宋燕应用决策树算法对肺癌 CT 进行建模并进行了相关研究[13];高侠等应用决策树算法对患者就诊趋势进行了分析研究[14];余学杰等应用决策树算法对中医专家辨证规律进行了相应研究[15];杨云等应用ID3决策树算法对突发公共卫生事件风险进行了评估分析[16]。
从以上文献可以看出,决策树算法在数据挖掘中具有很多优越性,是非常好的分类算法,特别是决策树的结果可直接转化为规则,所以决策树算法在数据挖掘中得到了广泛应用。然而在中医方剂数据挖掘中,未查到相应的文献,这是方剂配伍规律数据挖掘研究方面的一种缺憾。
1 数据挖掘的决策树算法
分类是指把数据项映射到一个事先定义好的类中的学习过程,即给定一组输入属性向量及其对应的类,用基于归纳的学习算法得出分类。Quinlan 1986年提出关于决策树的ID3算法,1993年提出关于决策树的C4.5。C4.5是ID3的改进算法,不仅可以处理离散值属性,还能处理连续值属性。C4.5采用信息增益比作为选择测试属性的标准,弥补了ID3的不足,可实现对样本的分类。
本文结合国家自然科学基金项目《蒙医方剂数据挖掘关键技术研究》的研究工作,开发了一套通用的蒙医方剂数据挖掘系统,将C4.5决策树算法应用于蒙医方剂数据挖掘研究中,可探讨药物与功能、药物与主治之间的潜在规则,对蒙医方剂配伍规律的研究提供决策支持。同时针对蒙医方剂决策树挖掘给出了有效的数据预处理方法,该方法可为决策树算法的其他应用提供技术参考。C4.5决策树挖掘算法作为蒙医方剂数据挖掘系统的一部分,具有通用、灵活、使用方便等优点,可广泛应用于方剂配伍规律的研究。
决策树不仅是分类的最好手段,而且挖掘结果所对应的决策树可直接生成关联规则,是方剂配伍规律研究的有效方法。本文将C4.5决策树算法应用于蒙医方剂配伍规律研究中,对蒙医方剂新药的研制开辟了新的途径。
2 C4.5决策树算法简介
决策树算法是解决实际应用中分类问题最有效的方法,决策树定义为:
给定一个数据库D={t1,…,tn},其中ti=
(1)每个内部节点都被标记为一个属性Ai;(2)每个弧都被标记为一个谓词,这个谓词可应用于父节点的属性;(3)每个叶子节点都标记为一个分类。
著名的决策树算法有C4.5算法,C4.5算法用增益标准选择需要的属性,即熵的概念。
设事务集T分为k类,T→{C1,C2,…,Ck},训练样本分成n个子集T→{T1,T2,…,Tn},S是任意的样本集,freq(Ci,S)代表S中属于Ci的样本数量,|S|为集合S中样本数量。
infox(T)为T的熵
Gain(x)=info(T)-infox(T)
Gain(x)为增益准则,可选择Gain(x)最大的属性作分类属性。C4.5算法具有以下优点:可忽略缺失数据问题,提高算法的健壮性;决策树等价于一个关联规则,即从根节点到叶子节点,由根节点、中间路径节点和叶子构成一个完整的关联规则,该关联规则可用于知识发现。本文应用C4.5算法不仅能对蒙医方剂进行分类,还能发现更多的潜在关联规则。
3 数据预处理
根据C4.5决策树算法的需要,每个事务中的属性应等长,也就是用整个方剂类中所有出现的药物作为每个事务的属性,为此作如下处理。
设给定一个事务集T={T1,…,Tn},其中每个事务Ti的属性集为Ri={ri1,…,rik},事务T的属性集R是所有事务属性集的并集:
R=R1∪R2∪…∪Rn
如《传统蒙药与方剂》中治疗“赫依病”的方剂数量有27个[17],每个方剂的药物数量都不相同,也就是Ri不相同,但最终预处理后的数据集属性按R的属性个数配齐,R的属性个数就是所有方剂中药物的集合共有87个,所以最后的原始数据矩阵有87列。
由于每种方剂的质量各不相同,必须进行归一化处理,设某方剂有n种药物,编号为i=1,2,3,…,n,每种药物的质量mi,方剂总质量为m,则m=m1+m2+…+mn,每种药物归一化后的质量为:ki=mi/m,总质量是1。
归一化处理后,每种药物的质量都以小数形式出现,不便于理解和数据挖掘,所以本文将归一化的数据扩大100倍,即归一化后的总质量不是1而是100,这种处理方法不影响数据挖掘效果。
表1 治疗赫依病类方剂与功能及主治的对应关系
决策树分析的原始数据中,每个事务的分类是惟一的,但方剂的实际情况却不同,存在一个方剂对应多个分类的问题。
表2显示,设类别集合为C={C1,…,Cm},方剂集合为T={T1,…,Tn},则存在Ti→{Cj,Cj+1,…,Ck}的现象,数据预处理方法是让这个方剂重复,以对应不同的分类,即Ti→Cj,Ti→Cj+1,…,Ti→Ck,这样处理不会影响数据挖掘结果。
表2显示,方剂主治的规格化比较复杂,原书中各个方剂的主治数量较多,而且存在不同程度的同名异义和异名同义的问题,不便于数据挖掘。本文根据赫依病发病位置经过抽象得到三级主治抽象表,为适应数据挖掘需求,采用既不过于集中也不过于分散的二级抽象内容作为挖掘依据。
4 C4.5决策树程序设计
本文设计的C4.5决策树算法能自动实现蒙医方剂决策树挖掘的数据预处理工作,同时显示预处理矩阵、数据项目、决策树挖掘结果。
用户选择方剂类别后可选择不同的分类目标,也就是在主治和功能上选择其中1项,实现对主治或功能的决策树挖掘。
表2 赫依病方剂主治三级抽象表
图1 决策树挖掘程序界面
5 案例实验
表3显示,本文采用内蒙古民族大学蒙医药学院奥·乌力吉教授和布和巴特尔教授编写的《传统蒙药与方剂》中治疗“赫依病”方剂为例子,讨论决策树分类问题。该类方剂共收录27个方剂,共涉及药物87味[17]。本文以主治作为分类目标对“赫依病”方剂进行分类。
人造香盐、大蒜炭是治疗肌赫依的关键药物,紫草茸是治疗骨赫依的关键要药物,五灵脂是治疗大肠赫依的关键药物,肉桂是治疗胃赫依的关键药物,钱线莲、干姜、安息香、木棉花蕊、白胡椒是治疗脉赫依的主要药物,其中的关键药物是钱线莲;干姜、安息香、土木香、木棉花蕊、草乌是治疗肺赫依的主要药物,其中关键药物是干姜和草乌;干姜、安息香、木棉花蕊、荜茇、草乌是治疗头赫依的主要药物,其中关键药物是荜茇和草乌;适度的草乌是治疗心赫依的关键药物。
7 结束语
决策树不仅是分类的最好手段,而且挖掘结果所对应的决策树可直接生成关联规则,是方剂配伍规律研究的有效方法。本文将C4.5决策树算法应用于蒙医方剂配伍规律研究中,给出了数据预处理方法,并将决策树算法集成在蒙医方剂数据挖掘系统中,作为重要的数据挖掘手段,可挖掘方剂药物组成与主治和功能的关系,实验表明方法有效。
表3 治疗赫依病方剂决策树挖掘结果分析
文中对治疗“赫依病”的27个方剂主治进行决策树分析,得到治疗肌赫依、骨赫依、大肠赫依、胃赫依、脉赫依、肺赫依、头赫依的关键药物组合,同时系统也可对治疗“赫依病”的功能进行决策树分析。值得说明的是,决策树是基于信息熵概念的,这里分析出的关键药物不一定是量大的主要药物,而是对方剂主治起到转折点控制的关键药物。
本文开发的蒙医方剂数据挖掘系统对保护民族医学遗产、对蒙医药研究和发展开辟了新的途径,必将促进蒙医药研发工作,具有一定的社会效益和经济价值。