文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
1.中医证型关联规则模型
本次中医证型关联规则建模的流程如图8-3所示。
图8-3 中医证型关联规则模型流程图
由图8-3可知,模型主要由输入、算法处理、输出部分组成。输入部分包括:①建模样本数据的输入;②建模参数的输入。算法处理部分是Apriori关联规则算法。输出部分为关联规则的结果。
模型具体实现步骤为:首先设置建模参数最小支持度、最小置信度,输入建模样本数据。然后采用Apriori关联规则算法对建模的样本数据进行分析,以模型参数设置的最小支持度、最小置信度以及分析目标作为条件,如果所有的规则都不满足条件,则需要重新调整模型参数,否则输出关联规则结果。
目前,如何设置最小支持度与最小置信度,并没有统一的标准。大部分都是根据业务经验设置初始值,然后经过多次调整,获取与业务相符的关联规则结果。本章经过多次调整并结合实际业务分析,选取模型的输入参数为:最小支持度6%、最小置信度75%。其关联规则代码如代码清单8-2所示。
代码清单8-2 Apriori关联规则代码
%% Apriori关联规则算法 #-*- coding: utf-8 -*- from __future__ import print_function import pandas as pd from apriori import * #导入自行编写的高效的Apriori函数 import time #导入时间库用来计算用时 inputfile = '../data/apriori.txt' #输入事务集文件 data = pd.read_csv(inputfile, header=None, dtype = object) start = time.clock() #计时开始 print(u'\n转换原始数据至0-1矩阵...') ct = lambda x : pd.Series(1, index = x[pd.notnull(x)]) #转换0-1矩阵的过渡函数,即将标 签数据转换为1 b = map(ct, data.as_matrix()) #用map方式执行 data = pd.DataFrame(b).fillna(0) #实现矩阵转换,除了1外,其余为空,空值用0填充 end = time.clock() #计时结束 print(u'\n转换完毕,用时:%0.2f秒' %(end-start)) del b #删除中间变量b,节省内存 support = 0.06 #最小支持度 confidence = 0.75 #最小置信度 ms = '---' #连接符,默认'--',用来区分不同元素,如A--B。需要保证原始表格中不含有该字符 start = time.clock() #计时开始 print(u'\n开始搜索关联规则...') find_rule(data, support, confidence, ms) end = time.clock() #计时结束 print(u'\n搜索完成,用时:%0.2f秒' %(end-start))
代码详见:demo/code/apriori_rules.py
运行界面输出类似如下内容。
转换原始数据至0-1矩阵...转换完毕,用时:0.15秒开始搜索关联规则...正在进行第1次搜索...数目:276...正在进行第2次搜索...数目:947...正在进行第3次搜索...数目:41...结果为: support confidence A3---F4---H4 0.078495 0.879518 C3---F4---H4 0.075269 0.875000 B2---F4---H4 0.062366 0.794521 C2---E3---D2 0.092473 0.754386 D2---F3---H4---A2 0.062366 0.753247搜索完成,用时:0.97秒
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论