京公网安备 11010802034615号
经营许可证编号:京B2-20210330
数据挖掘技术在中医处方经验研究中的应用
传统的中医药科学在长期的医疗实践中积累了海量的处方数据,数据挖掘是目前最有效的数据分析手段之一,利用数据挖掘技术从这些海量数据中发现蕴含其中的中医药知识,是一项极有价值的研究工作。本文主要采用数据挖掘中的Apriori关联规则算法,对中医处方数据进行挖掘和总结:首先对采集的中医药数据进行数字特征化处理;然后对中医处方中药物的频繁项集和药物之间的关联关系进行研究,并获得了普通处方分析较难获得的用药规律及经验信息。研究成果对中医临床工作具有重要的指导意义。
信息技术正在经历着一次新的变革,互联网、大数据等各种技术正在潜移默化的改变着人们的生活,数字化和数据化更是深深地影响着各行各业的每一个细节。很多信息早已开始储存于各种类型的数据库或者其他载体里,人们也已经开始从众多数据中,找出有益的规律。人们的关注点已经由数据间的因果关系渐渐转变为可以帮助我们捕获现在和预测未来的相关关系[1],即挖掘事物之间的关联性。中医在长期的医疗实践中积累了海量的处方数据,如何有效的分析这些数据并发现规律以指导临床应用,成为中医药现代化研究中亟待解决的问题。数据挖掘作为一种有效的数据分析手段,已经在中医药领域中得到广泛应用。
1 数据挖掘技术
1.1 数据挖掘概述
数据挖掘是从大量数据中挖掘有趣模式和知识的过程。从广义上说,数据挖掘是对数据库知识发现(Knowledge Discovery in Databases,KDD)的一个过程。作为一种通用技术,数据挖掘可以用于任何类型的数据,只要数据对目标应用是有意义的,数据源可以包括数据库、数据仓库、web、其他信息存储库或动态的流入系统的数据[2]。
1.2 中医药数据挖掘的意义
中医药领域的处方中通常包含大量的药物及其剂量组成,伴随着医院信息化建设的大力推进,这些药方多以数据库形式被保存,运用数据挖掘技术对中药数据进行科学分析,从而发现其中的配伍特点和规律成为很有现实意义的一项工作。
中医药数据挖掘的目的是通过对中医处方中的中药数据建立合适的模型,从而寻找药物之间的频繁模式和关联规则,可以实现中医用药经验的有效总结和传承。
1.3 关联规则算法
数据挖掘有很多模式,常见有关联规则[3]、聚类算法[4]、分类算法[5]等。关联规则挖掘最初仅限于事务数据库的布尔型关联规则,近年来广泛应用于关系数据库[6]。关联规则反映一个事物与其他事物之间的相互依存性和关联性。如果两个或者多个事物之间存在一定的关联关系,那么其中一个事物就能够通过其他事物预测到。
关联规则就是支持度和信任度分别满足用户给定阈值的规则。Apriori[7]是关联规则模型中的经典算法。本文主要使用基于频繁项集的Apriori算法进行数据建模,用以发现中药配伍中的规律性。发现关联规则需要经历如下两个步骤:
步骤一:通过迭代,检索出事务数据库中的所有频繁项集,即支持度不低于用户设定的阈值的项集;
步骤二:利用频繁项集构造出满足用户最小信任度的规则。
2 数据特征化和预处理
2.1 实验数据集
本文实验数据来自河北中医学院附属医院肾内科陈志强教授于2014年5月至2015年7月诊治的早中期慢性肾衰竭患者的病案。采集的病案内容包括患者姓名、性别、年龄、原发病、症状、体征、肾功能指标、中医证候、中药处方等。摘取其中的中药信息,按照《中药大辞典》[8]统一药物名称。
2.2 数据特征化
统计数据集的全部223条中医处方,共出现中药194味,根据专业经验,我们选取频数在10%以上的中药(视为高频药物)进行数据挖掘。由于中药处方中的中药名称以中文形式表示,因此需要将其进行易于数据挖掘算法识别的数据特征化处理,方法如下:
(一) 药物表的特征化方法
根据医务工作者的经验,将治疗该病症的常见中药分为活血化瘀通经类、清热祛湿泄浊类、行气燥湿化痰类、益气健脾温阳类、补益脾肾之阳类、滋养肝肾之阴类等六大类。将高频药物分别归于这六大类中,针对每大类建立相应的数据表。每条数据采用布尔常量的表示形式如图1所示。
其中,第一项表示病人编号,每一条记录表示一位病人的用药信息,编号之后的每一位布尔数据表示某味中药是否在该处方中出现,1表示出现,0表示未出现。
(二) 类别表的特征化方法
为了进一步分析各大类之间的关联性,建立一个数据类别表(同一条处方中出现某一类药物中两味或两味以上,即判定使用了该类别中药)。每条记录表示一位病人用药的类别信息,其中第一项表示病人编号,编号之后的每一位表示该类别药物是否在该处方中使用,1表示使用,0表示未使用。
按照上述方法建成中药药物数据库,其中包括:包含所有药物的处方数据集、统计药物频次的药物计数数据集、由专业医生按照性味、功用划分的六种不同类别的高频药物数据集以及判断处方中是否使用某类药物的类别数据集。
3 中医处方经验的挖掘方法
3.1 对每一类药物中包含的各味中药进行关联规则建模
首先对数据库中的药物进行频数统计,即在处方中出现的次数;然后将数据库中所有同类别的药物按照其在整体处方中出现的频数降序排列。如果药物排列靠前说明其在处方中出现频率较高,为医生的常用中药,具有较高的参考价值。同时,参考专业医生的经验,本文将支持度和置信度的阈值均设置为10%,将其视为指导临床应用意义较大。对各类药物数据采用Apriori算法建模,生成每一类别中药间的关联规则。
3.2 对六类药物之间进行关联性规则建模
逐条分析223条中药处方中所包含的药物类别(同一条处方中出现某一类药物两味或两味以上,即认定含有该类别中药),统计223条中药处方中每一类别药物的应用频数,将其在数据库中由高到低依次排列。根据专业医生的经验,设置支持度和置信度的阈值均为10%,将其视为指导临床应用意义较大。对类别数据采用Apriori算法建模,生成六类中药其类别之间的关联规则。
4 关联性分析
4.1 同类别中药的关联分析
将关联规则按照支持度降序排序,体现出常用药对以及多味中药同时出现的规律。以第一大类药物为例,通过对关联规则的统计分析发现:在此类中药处方中,三味中药同时出现的概率高达65%;四味中药中药同时出现的概率大约在31%左右;五味中药同时出现的概率减少到14%左右;六味中药同时出现的概率骤减到1%;而七味及以上中药同时出现的概率则为0。第一类药物的部分关联规则如表1。
对同一类药物,本文采用定向网络关系图表示药对之间的关系。连接两位中药之间的连线越粗,表明这个药对出现在处方中的频数越高;越细就表明这个药对出现在处方中的频率越低。图2所示为输出第一类药物中频数最高的中药与其它各味中药的关联关系的定向网络图。
结论分析:
纵观全部类别的所有频繁项集,发现在各类药物中,往往是同类别药物多味联用,以增强其功效;而在联用时,又会有一定的味数限制,数目通常为三味至五味为多。通过定向网络图可以分析出针对某一种药物与其它中药成对出现的规律:由处方中频数高的药物组成的药对,其之间的关联关系更为密切。
4.2 不同类别药物之间的关联性分析
在223条有效的类别数据记录中,生成的规则总数为154条,为了便于结果分析,将其按照支持度降序排列。通过对关联规则的统计分析得出:前两类药的支持度高达95.5%;前三类药的支持度为89%;前四类药的支持度为70.9%;前五类药的支持度骤减到25.6%;而全部六类药的支持度仅为5.8%。现仅摘取前项含有前两类中药的关联规则见表2。
结论分析:
前四类中药之间的相互关系最为密切,其次是这四类中药分别与第五、六类之间的关系,而第五、六类中药之间关系的密切程度则大大降低。从关联规则的结果可以分析得出前四个类别的药物属于常用和联用的药物。
5 结语
本文通过对中药数据集的特征化处理,采用基于频繁项集的Apriori经典关联规则算法,对中医处方中药物的频繁项集和药物之间的关联关系进行了有益的探索,发现了常用药物组合及配伍特点,获得了普通处方分析较难获得的处方经验信息。实验结果证明:使用关联规则对中药数据库建模,可以挖掘出中医在治疗某种疾病方面的用药特点,为研究临床用药规律提供了有效方法
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
一、问题:为什么 ID 会"断号" 很多刚接触 MySQL 的同学都会有一个困惑:表里的主键 ID 是自增的,删了中间几行数据之后,ID 变 ...
2026-10-22一、问题场景:为什么会重复 JOIN 同一个子查询 在写复杂 SQL 时,经常遇到这种需求:同一张表或同一个聚合子查询,要和主表关联 ...
2026-10-22人力资源专员是HR体系的执行入口。招聘信息发布、简历初筛、面试安排、考勤汇总、入离职手续、劳动合同与档案管理,大多由这个岗 ...
2026-10-22人力资源经理问“必学技巧”,真正要解决的不是知识清单不够长,而是时间有限、业务催得紧,学完却用不上。更有效的路径是:先用 ...
2026-10-22内容营销岗位的核心任务,不是“把文案写得更漂亮”,而是围绕目标受众,用持续的内容供给影响认知、推动转化并沉淀复购。它至少 ...
2026-10-22理财经理培训课程很多,难的是判断“先学什么、后学什么、学完能做什么”。与其按课程名称罗列,不如先看岗位任务:客户分层与维 ...
2026-10-22理财经理的知识结构,可以先用一句话概括:合规与产品知识决定“不出错”,客户经营与资产配置决定“够不够专业”,市场研判与数 ...
2026-10-22经济学背景做数据分析,优势不在工具,而在问题意识:供需如何相互作用、成本与收益如何权衡、变量之间是相关还是因果。真正的缺 ...
2026-10-22需要,但要把“需要”理解准确。经济学本身就在处理数据:GDP、物价、就业、企业营收、问卷调研,都是经济分析的原料。真正的区 ...
2026-10-22经济学分析能力不是单一技能,它至少由三层构成:把现实问题转成可检验假设的理论框架能力、用数据与统计方法验证假设的工具能力 ...
2026-10-22金融分析师的知识提升,先补的不是更多模型,而是让结论可复核的底层能力。按任务顺序,大致是四层:财务与业务理解、指标口径管 ...
2026-10-22金融分析师的“通用技能”,指换到不同机构、不同行业组仍用得上的底层能力,而非某家公司内部系统的操作经验。按任务拆,日常要 ...
2026-10-22先给结论:数据分析证书不是金融分析师的准入条件,招聘方也不会因为一张证书就直接判断你能做分析。要不要考,取决于你当前任务 ...
2026-10-22金融分析师的核心技能,不是“会看K线”或“会讲宏观”,而是能把一家公司、一个行业或一类资产,转化为可核查的数据判断与书面 ...
2026-10-22产品经理的知识提升,不是把需求文档、原型、SQL、数据分析、项目管理都学一遍,而是先对准目标岗位的真实任务,找出自己最缺的 ...
2026-10-22产品专员提升工作知识,最有效的方式不是先囤课程,而是围绕日常交付的四件事来补:需求调研与优先级判断、原型与PRD表达、竞品 ...
2026-10-22产品运营专员提升个人能力,常见误区是先把Excel、SQL、Python列成一张学习清单,然后从第一个工具开始学。更有效的做法是先回答 ...
2026-10-22产品运营的能力提升,最怕从“课程目录”出发:今天学增长模型,明天背SQL语法,学完却说不清自己负责的功能为什么激活率低。更 ...
2026-10-22产品经理的技能和影响力不是两条分开的赛道。技能决定你能不能把问题分析清楚、把方案设计对;影响力决定你的判断能否被团队接受 ...
2026-10-22产品经理要学的数据分析能力,不是“会写SQL”或“会用BI工具”这么简单。更准确地说,是围绕需求评估、功能迭代、指标监控、实 ...
2026-10-22