全文链接:http://tecdat.cn/?p=32316
我们常说的中药挖掘,一般是用药挖掘,还有穴位的挖掘,主要是想找出一些用药的规律(点击文末“阅读原文”获取完整代码数据)。
在中医挖掘中,数据的来源比较广泛,有的是通过临床收集用药处方,比如,一个著名老中医针对某一疾病的用药情况;有的是通过古籍,古代流传下来的药方;还有一种情况是在论文数据框里查找专门治疗某一疾病的文献,从中找到处方,用来分析。
Apriori算法是一种最有影响的挖掘关联规则频繁项集的算法。其核心是基于两阶段频集思想的递推算法。该关联规则在分类上属于单维、单层、布尔关联规则,Apriori 算法采用了逐层搜索的迭代的方法,算法简单明了,没有复杂的理论推导,也易于实现。
由于Apriori算法的特性,十分适合中药处方、膏方、方剂的挖掘,甚至于穴位的挖掘。
本文帮助客户得出不同处方的药物组合和频率,挖掘出药方内在的规律。
中药处方数据
读取数据
a_df3=read.xlsx("挖掘用.xlsx",startRow=0, colNames = F)
转换数据结构
a_list=list(0) for(i in 1:nrow(a_df3)){ ##删除事务中的重复项目 a_list[[i]]= unique(strsplit(a_df3[i,],",")[[1]])
将数据转换成事务类型
trans2 <- as(a_list, "tran
查看每个商品的出现频率
可以看到每个物品出现的频率,从而判断哪些物品的支持度较高。
关联规则挖掘
药对挖掘
at(dat1,parameter=list(support=0.3,minlen=2,maxle
得到频繁规则挖掘
inspect(frequent
查看求得的频繁项集
spect(sort(frequentsets,by="suppo
根据支持度对求得的频繁项集排序并查看(等价于inspect(sort(frequentsets)[1:10])。
建立模型
apriori(dat1,parame
设置支持度为0.01,置信度为0.3
summary(rules)#查看规则
查看部分规则
查看置信度 支持度和提升度
可视化
绘制不同规则图形来表示支持度,置信度和提升度。
通过该图可以看到规则前项和规则后项分别有哪些物品 以及每个物品的支持度大小,支持度越大则圆圈越大。
点击标题查阅往期内容
R语言APRIORI关联规则、K-MEANS均值聚类分析中药专利复方治疗用药规律网络可视化
01
02
03
04
ules, method = NULL, measure = "support", shading = "lift", int
从该图可以看到支持度和置信度的关系,置信度越高提升度也越高。
从该图可以看到支持度和置信度的关系,提升度越高置信度也越高。
ules, method="matrix3D", measure="lift
从上图可以看到不同物品之间的关联关系,图中的点越大说明该物品的支持度越高,颜色越深说明该物品的提升度越高。
plot(rules, method="doubledecker" )
R语言Apriori算法关联规则对中药用药复方配伍规律药方挖掘可视化(下):https://developer.aliyun.com/article/1496507