摘 要
用数据挖掘技术研究了中药方剂配伍的规律。主要工作:分析了关联规则存在的问题,引入双向关联规则的概念;介绍了遗传算法的基本原理,研究了遗传算法在数据挖掘中的应用;将方剂库转换为位图矩阵,大大提高搜索效率;开发了一个基于遗传算法的中药药对药组挖掘系统。论文组织如下:介绍了研究背景和意义;阐述了相关的理论基础;提出了系统的设计方案;详细展示了基于遗传算法的双向关联规则挖掘系统的实现过程,包括位图矩阵的实现,个体的编码方法,适应度函数的设计,规则的提取,选择、交叉、变异等遗传操作的实现等;利用脾胃类方剂库对系统进行了测试,并对测试结果进行了分析。结果证明:该系统能够快速高效地从方剂库中找出具有重要意义的药对药组,对中医药的研究发展有一定意义。
关键词:数据挖掘;置信度;双向关联规则;遗传算法
The Design and Implementation of Chinese Medicine Groups Mining System based on Genetic Algorithm
Abstract
This paper researches the compatibility of chinese medicine prescriptions by data mining techniques. The main contributions include: analyzes the problems in the association rules, and introduces the concept of the bidirectional association rule; presents the foundation principle of genetic algorithm(GA), and studys the application of GA in the data mining; converts chinese medicine prescriptions database to a bitmap matrix, which greatly enhances the efficiency of search; develops a chinese medicine groups mining system based on GA. The paper is organized as follows: Section 1 introduces the background and significance; Section 2 sets forth the basis of the relevant theories; Section 3 proposes the design project of the system; Section 4 detailedly shows the implementation of the system, including the implementation of bitmap matrix, the individual coding method, the design of fitness function, rules of the extraction, genetic operations. Section 5 gives a test of the system on the prescriptions database about spleen and stomach, and analyzes the results. It is proved that this system can find important and significant Chinese Medicine Groups from the prescriptions database, and is meaningful for the research of Chinese medicine.
Key words: Data mining; Confidence; Bidirectional association rule; Genetic algorithm
目 录
1引言
1.1背景
我国作为最大的中药材资源国,有着传统中医药文明的发祥地的地位,但是如今正面临着诸多挑战。我国,在世界的中药市场上却未能占有基本的主导地位。反而日本、韩国等国家成功地利用现代数据挖掘科技把中药行业发展成现代产业,占据了国际市场相当的份额,因此,继承和发展中医药不仅是中医界也是全国其他科研院校和科研机构的重要课题。中药对数据挖掘就是利用药对数据库从大量的中药对中抽取隐含的、未知的、有意义的药物组配模式。中药对数据挖掘将为中医方剂理论研究和中医临床用药研究提供重要模式参考,也为方剂配伍理论研究,尤其是新药对、新药组发现研究提供新方法和现代技术手段。
1.2意义
关联规则是数据挖掘中的重要技术之一,它能反映在事务数据库中数据项之间同时出现的规律,并发现不同数据项之间的联系。关联规则通过量化的数字描述数据项A的出现对数据项B的出现产生的影响。例如在大型商场中牛奶的销售对面包的销售的影响,发现这样的规则不仅可以应用于商品货架设计、货存安排,而且可以根据购买模式对用户进行分类,制定相应商务决策、销售策略。
由于关联规则挖掘具有重要的现实意义,吸引了许多学者的研究,提出了众多的关联规则挖掘算法。目前,所有的关联规则挖掘算法都是基于支持度-置信度框架理论,具有较多的局限性。本文通过分析这些不足之处,引入双向关联规则的概念,实现了基于遗传算法的双向关联规则挖掘算法。
2理论基础
-
- 关联规则及存在的问题
关联规则是形如A=>B的蕴涵式,挖掘关联规则分为两步:第一步是识别所有的频繁项集,即支持度不小于用户指定的最小支持度的项集;第二步是从频繁项集中构造其置信度不低于用户给定最小置信度的规则,即强规则。这种基于支持度-置信度框架理论的关联规则挖掘方法存在如下问题:
(1)不能有效地发现低支持度高置信度的有趣规则
基于支持度-置信度框架理论的关联规则挖掘方法找到的强规则必须同时满足最小支持度阈值和最小置信度阈值,但有时人们感兴趣的规则往往是低支持度高置信度的[8]。例如,超市中两物品A和B,它们的销售量虽然很低,但经常是同时被顾客购买,管理人员希望将这种低支持度高置信度的规则找出来。
(2)不能确定“相互依赖”的规则
关联规则反映A、B同时出现的概率和A出现的条件下B出现的条件概率。这样的规则只能确定A对B的“依赖”,不能同时确定B对A的“依赖”,但很多时候人们感兴趣的是“相互依赖”的规则。例如,中药的药组药对中,药之间必须是“相互依赖”的,如果药物A和B是药对,则必须是A通常与B配伍,同时B也是通常与A配伍。如果只是A通常与B配伍,但B并不常与A配伍,则A和B不是药对,因为B通常是只起辅助药性作用的药,这类药常在各种方剂中出现。用基于支持度-置信度框架理论的关联规则挖掘方法不能找出上述中药药组药对。
(3)找到的强规则并不一定是有趣的,甚至是错误的
假定对分析涉及的家用电脑和VCD播放机的事务感兴趣。在所分析的10000个事务中,6000个事务包含家用电脑,7500个事务包含VCD播放机,4000个事务同时包含家用电脑和VCD播放机。运行传统的关联规则挖掘程序,最小支持度30%,最小置信度60%,将发现下面的关联规则:
buys(X,“computer”)Þ buys(X,“vcd-player”)
[support=40%,confidence=66%]
该规则是强关联规则。可事实上,电脑和VCD播放机是负相关的,买其中之一实际上减少了买另一种的可能性,因为购买VCD播放机的可能性是75%,大于66%。
3需求分析及设计方案
由于事务数据库一般只具有对大量数据的存取、检索功能,对于用户的一般性的使用可以满足,然而,正是由于数据库中存放了大量的数据,不同的数据项,以及多个数据项之间还存在有大量的隐含的、未知的、有意义的数据关系,这些关系对于用户有着及其重要的作用,所以数据挖掘便在此情况下产生了。
遗传算法是数据挖掘技术中的一个重要算法。这是由于它具有快捷、简便、鲁棒性强、适于并行处理以及高效、实用等显著特点,在各类结构对象的优化过程中显示出明显的优势。它的思想源于生物遗传学和适者生存的自然规律,是具有“生存+检测”的迭代过程的搜索算法。遗传算法以一种群体中的所有个体为对象,并利用随机化技术指导对一个被编码的参数空间进行高效搜索。其中,选择、交叉和变异构成了遗传算法的遗传操作;初始种群编码、初始群体个数的设定、适应度函数的设计、遗传操作设计、控制参数设定五个要素组成了遗传算法的核心内容。
与传统的搜索方法相比,遗传算法具有如下特点:
(1)搜索过程不直接作用在变量上,而是在参数集进行了编码的个体。此编码操作,使得遗传算法可直接对结构对象(集合、序列、矩阵、树、图、链和表)进行操作。
(2)搜索过程是从一组解迭代到另一组解,采用同时处理群体中多个个体的方法,降低了陷入局部最优解的可能性,并易于并行化。
(3)采用概率的变迁规则来指导搜索方向,而不采用确定性搜索规则。对搜索空间没有任何特殊要求,只利用适应性信息,不需要导数等其它辅助信息,适应范围更广。
中国自古以来就有着传统中医药文明的发祥地的地位,中药是我国特有的资源,但是中国本土中医学长期以来的发展并不是很大,在国际医学界就更不具有很强的地位。多年的时间过去了,中药方剂的更新和发展并没有很大的变化,很多都还建立在很久以前就有的方剂基础之上,没有出现比较多的较新的方剂,应用遗传算法的数据挖掘系统在此情况下可以发挥着及其重要的作用。通过数据系统能够在药对数据库的大量数据中,找到很多隐含的、未知的、并很有应用价值的药对药组以及很多的有意义的药物组配的规则和模式。中药对数据挖掘还将为中医方剂理论研究和中医临床用药研究提供重要模式参考,也为方剂配伍理论研究,尤其是新药对、新药组发现研究提供新方法和现代技术手段。
在系统进行数据挖掘过程中,为了减少对事务数据库的扫描、提高挖掘效率,本文先把事务数据库转化成位图矩阵,然后再在此位图矩阵上挖掘有趣的强双向关联规则。下面是对位图矩阵模型的描述。
用Ik(k为自然数)表示事务数据库中的一项,I1、I2、…、Ik、…、In表示事务数据库中的所有项。用Tj(i1,i2,…,ik,…,in)表示事务数据库中的一个事务,ik对应Ik,占用1位(bit),当事务Tj含有Ik这项时,Tj的ik位为1,否则为0,所以事务Tj可以用位图i1i2…ik…in来表示。T1、T2、…、Tj、…、Tm表示事务数据库中所有的事务,T1、T2、…、Tj、…、Tm都可以用位图i1i2…ik…in来表示,这样所有这些位图就构成了事务数据库的位图矩阵。
图3 一般模式状态下的双向关联规则挖掘界面
图4 高级设置状态下的双向关联规则挖掘界面
图5 一般模式状态下的双向关联规则挖掘结果显示
如果您在计算机领域有任何疑虑或不确定的地方,请毫不犹豫地与老师交流噢,我们期待着为您提供有针对性的建议和指导。您的问题和讨论对我们来说都非常重要。