论文部分内容阅读
[摘要]论述ID3算法,根据中医脏腑辨证数据的特点,简化经典的ID3算法,描述一个针对中医脏腑辨证数据的数据挖掘过程模型,并在这个模型的指导下,对临床病人的实时诊断症状和证候之间的关系进行分析、预测,在保证正确诊治率的前提下提高运行的效率。
[关键词]数据挖掘 决策树 ID3算法 中医辨证
中图分类号:R4 文献标识码:A 文章编号:1671-7597(2008)1220134-01
一、引言
中医学(TCM)的临床诊断是把人体的生命活动现象作为诊断和治疗的重要依据[2],随着计算机的存贮容量越来越大,相关软件开发方法也越来越丰富、灵活。把大量的历史病例、经时方存入计算机,进行相关知识的挖掘,在中医临床诊断数据中辨识症状与证候之间的复杂关系,建立规则,寻找症状和证候间最本质的联系。
二、数据挖掘基本原理
数据挖掘就是从数据库中抽取隐含的、以前未知的、具有潜在应用价值的信息的过程。它是基于发现的方法,运用模式匹配和其它算法决定数据之间的重要联系。
决策树是数据挖掘中一种常用于预测模型的分类算法,它通过将大量数据有目的分类,从中找到一些有价值的,潜在的信息[4]。决策树的建立就是为了在数据中寻找规则,它过程如下图所示:
它的主要优点是描述简单,分类速度快,特别适合大规模的数据处理。最有影响和最早的决策树方法是由Quinlan提出的著名的基于信息熵的ID3算法。
三、ID3算法在本系统中的应用
(一)数据准备
为进一步的数据分析和约简作准备[1],需要处理连续属性,对不完整的数据进行补充等。我们按诊断需求建立数据库如下:U={u1,u2,…ui…,um}为对象集,ui表示病例;A={a1,a2,…ai…,an}为概念集,ai表示临床症状;V是决策,表示属于哪种病症。建立的数据库如表1所示:
(二)经典ID3分析
每个实体可用多个特征来描述。每个特征限于在一个离散集中取互斥的值。每个实体属于不同的类别,将一些已知的示例放在一起便得到了一个训练集。训练集由一组数据库记录或元组构成,每个元组是一个由特征(又称属性)值组成的特征向量,此外,训练样本还有一个类别标记。一个具体样本的形式可为:(v1,v2,...,vn;c);其中vi表示字段值,c表示类别。ID3算法能得出结点最少的决策树[3]。
ID3方法的工作过程为,首先找出最有判别力的因素,把数据分成多个子集,每个子集有选择最有判别力的因素进行划分,一直进行的所有子集仅包括同一类型的数据为止。最后得到一棵决策树,可以用它来对新的例子进行分类[5]。这时仅需使用一小部分特征,便可进行正确的分类。
经典ID3算法要通过计算每个属性的信息增益。具有最高信息增益的属性选作给定集合S的测试属性。信息增益的计算方法:
设S是s个数据样本的集合。假定类属标号属性具有m 个不同的值,定义m个不同类Ci(I=1,2,……m),设Si是类Ci中的样本数。信息增益:
对数以2为底,其中,Pi是任意样本属于Ci的概率。Pi=|Si|/|S|,对数以2为底,因为信息用二进位编码;Pij=Sij/|Sj|是Sj中的样本属于类Ci的概率[5]。
(三)算法改进及实际应用
经典算法虽然理论清晰,但它的计算比较复杂,在学习和训练数据集的过程中机器内存占用率比较大,比较耗费资源,影响数据学习的效率。而且ID3算法往往偏向于选择取值较多的属性,而在很多情况下属性较多的属性并不总是最优的属性,即按照使熵值最小的原则被ID3算法列为应该首先判断的属性在现实情况中却并不那么重要。
由于医疗数据中各症状属性的属性值都相差无几,各个取值概率也是如此,而且症状属性的属性值很多,用经典的算法计算量就会特别的大,但典型症状和主症的重要程度明显不同,和兼症的重要程度相差更远,鉴于这类数据的特点,将算法进行相应的简化和优化,在数据的预处理时就把历史数据中的症状字段按症状的明显程度排列,算法按症状的重要程度来分裂减少了基于熵的各标准中以对数计算为累加计算的计算量,也避免了重复计算属性的信息增益,从而提高了属性选择的效率。为了能使用户能清楚直观的理解产生的决策规则树,我们设计了m-叉树的画法,这在辅助中医脏腑辨证应用中,收到良好效果。
(四)模型测试
用整个数据集中的2/3的数据作为训练集来建立模型;用剩下的1/3作为测试集,通过创建的模型进行预测,并将预测结果和实际值进行比较,如果准确率达到或超过事先确定的阀值,则可以认定该模型对于数据分类是有效的,能够在实际工作中得到应用,需要重新选定整个数据的2/3作为新的训练集来建立模型,直到分类准确率达到预定的阀值为止。在系统的开发过程中,经过调研,确定的准确率阀值为96%,经过多次的建树、判断,现已经建立了一个满足用户需求,准确率达到阀值的决策树。
(五)规则提取
从根结点到每个叶结点分别为一条规则。比如:IF筋骨痿软或麻木、视物昏花、舌淡、脉迟缓无力、THEN、肝血亏虚。
四、评价与展望
中医脏腑辨证系统采用该决策树模型,对历史诊治数据信息进行分析和对临床病人的实时诊断症状和证候之间的关系进行分析、预测,在保证正确诊治率的前提下提高了运行的效率,为中医脏腑辨证提供一定的决策支持作用。
参考文献:
[1]陈文伟、黄金才,数据仓库与数据挖掘[M].人民邮电出版社,2004.1.
[2]朱文锋,中医诊断学[M].中国中医药出版社,2002.
[3]Ian H.Witten,Eibe Frank.Data Mining:Practical Machine Learning Tools and Techniques, Second Edition[M].Morgan Kaufmann,June 2005.
[4]FANGYong,QIFei-hu.A new decision tree learning algorithm[J].Journal of Harbin Institute of Technology,2005.6.
[5]Jiawei Han Micheline Kamber,范明、孟小峰等译,数据挖掘概念与技术[M].北京:机械工业出版社,2001.
作者简介:
郑丽萍,女,汉族,河南省开封市人,硕士,主要研究方向:数据挖掘。
注:“本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。”
[关键词]数据挖掘 决策树 ID3算法 中医辨证
中图分类号:R4 文献标识码:A 文章编号:1671-7597(2008)1220134-01
一、引言
中医学(TCM)的临床诊断是把人体的生命活动现象作为诊断和治疗的重要依据[2],随着计算机的存贮容量越来越大,相关软件开发方法也越来越丰富、灵活。把大量的历史病例、经时方存入计算机,进行相关知识的挖掘,在中医临床诊断数据中辨识症状与证候之间的复杂关系,建立规则,寻找症状和证候间最本质的联系。
二、数据挖掘基本原理
数据挖掘就是从数据库中抽取隐含的、以前未知的、具有潜在应用价值的信息的过程。它是基于发现的方法,运用模式匹配和其它算法决定数据之间的重要联系。
决策树是数据挖掘中一种常用于预测模型的分类算法,它通过将大量数据有目的分类,从中找到一些有价值的,潜在的信息[4]。决策树的建立就是为了在数据中寻找规则,它过程如下图所示:
它的主要优点是描述简单,分类速度快,特别适合大规模的数据处理。最有影响和最早的决策树方法是由Quinlan提出的著名的基于信息熵的ID3算法。
三、ID3算法在本系统中的应用
(一)数据准备
为进一步的数据分析和约简作准备[1],需要处理连续属性,对不完整的数据进行补充等。我们按诊断需求建立数据库如下:U={u1,u2,…ui…,um}为对象集,ui表示病例;A={a1,a2,…ai…,an}为概念集,ai表示临床症状;V是决策,表示属于哪种病症。建立的数据库如表1所示:
(二)经典ID3分析
每个实体可用多个特征来描述。每个特征限于在一个离散集中取互斥的值。每个实体属于不同的类别,将一些已知的示例放在一起便得到了一个训练集。训练集由一组数据库记录或元组构成,每个元组是一个由特征(又称属性)值组成的特征向量,此外,训练样本还有一个类别标记。一个具体样本的形式可为:(v1,v2,...,vn;c);其中vi表示字段值,c表示类别。ID3算法能得出结点最少的决策树[3]。
ID3方法的工作过程为,首先找出最有判别力的因素,把数据分成多个子集,每个子集有选择最有判别力的因素进行划分,一直进行的所有子集仅包括同一类型的数据为止。最后得到一棵决策树,可以用它来对新的例子进行分类[5]。这时仅需使用一小部分特征,便可进行正确的分类。
经典ID3算法要通过计算每个属性的信息增益。具有最高信息增益的属性选作给定集合S的测试属性。信息增益的计算方法:
设S是s个数据样本的集合。假定类属标号属性具有m 个不同的值,定义m个不同类Ci(I=1,2,……m),设Si是类Ci中的样本数。信息增益:
对数以2为底,其中,Pi是任意样本属于Ci的概率。Pi=|Si|/|S|,对数以2为底,因为信息用二进位编码;Pij=Sij/|Sj|是Sj中的样本属于类Ci的概率[5]。
(三)算法改进及实际应用
经典算法虽然理论清晰,但它的计算比较复杂,在学习和训练数据集的过程中机器内存占用率比较大,比较耗费资源,影响数据学习的效率。而且ID3算法往往偏向于选择取值较多的属性,而在很多情况下属性较多的属性并不总是最优的属性,即按照使熵值最小的原则被ID3算法列为应该首先判断的属性在现实情况中却并不那么重要。
由于医疗数据中各症状属性的属性值都相差无几,各个取值概率也是如此,而且症状属性的属性值很多,用经典的算法计算量就会特别的大,但典型症状和主症的重要程度明显不同,和兼症的重要程度相差更远,鉴于这类数据的特点,将算法进行相应的简化和优化,在数据的预处理时就把历史数据中的症状字段按症状的明显程度排列,算法按症状的重要程度来分裂减少了基于熵的各标准中以对数计算为累加计算的计算量,也避免了重复计算属性的信息增益,从而提高了属性选择的效率。为了能使用户能清楚直观的理解产生的决策规则树,我们设计了m-叉树的画法,这在辅助中医脏腑辨证应用中,收到良好效果。
(四)模型测试
用整个数据集中的2/3的数据作为训练集来建立模型;用剩下的1/3作为测试集,通过创建的模型进行预测,并将预测结果和实际值进行比较,如果准确率达到或超过事先确定的阀值,则可以认定该模型对于数据分类是有效的,能够在实际工作中得到应用,需要重新选定整个数据的2/3作为新的训练集来建立模型,直到分类准确率达到预定的阀值为止。在系统的开发过程中,经过调研,确定的准确率阀值为96%,经过多次的建树、判断,现已经建立了一个满足用户需求,准确率达到阀值的决策树。
(五)规则提取
从根结点到每个叶结点分别为一条规则。比如:IF筋骨痿软或麻木、视物昏花、舌淡、脉迟缓无力、THEN、肝血亏虚。
四、评价与展望
中医脏腑辨证系统采用该决策树模型,对历史诊治数据信息进行分析和对临床病人的实时诊断症状和证候之间的关系进行分析、预测,在保证正确诊治率的前提下提高了运行的效率,为中医脏腑辨证提供一定的决策支持作用。
参考文献:
[1]陈文伟、黄金才,数据仓库与数据挖掘[M].人民邮电出版社,2004.1.
[2]朱文锋,中医诊断学[M].中国中医药出版社,2002.
[3]Ian H.Witten,Eibe Frank.Data Mining:Practical Machine Learning Tools and Techniques, Second Edition[M].Morgan Kaufmann,June 2005.
[4]FANGYong,QIFei-hu.A new decision tree learning algorithm[J].Journal of Harbin Institute of Technology,2005.6.
[5]Jiawei Han Micheline Kamber,范明、孟小峰等译,数据挖掘概念与技术[M].北京:机械工业出版社,2001.
作者简介:
郑丽萍,女,汉族,河南省开封市人,硕士,主要研究方向:数据挖掘。
注:“本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。”