一种基于Apriori改进算法的关联规则算法_3

文档序号:9929997阅读:来源:国知局
%,处方规模为20000的处方样本可W得到{甘草,巧等,白 巧,柴胡},{甘草,巧等,白巧,教炒白术},{甘草,巧等,陈皮,教炒白术},{甘草,巧等,陈皮, 法半夏},{甘草,黄琴,生地黄,柴胡}等35个药品关联规则。根据关联规则对仓库的仓位进 行调整,将销量好、支持度高的药品仓位设置在离出口较近的位置方便出库;将同一规则内 的药品设置在相邻的仓位,取药时可更加快速,节省时间。同时,在口店某药品库存不足时, 在配送过程中可W将具有关联规则的药品一同配送,节省配送的人力、物力资源。
[0073] 4、算法在售药管理系统中应用
[0074] 仓储管理采用了关联规则数据挖掘算法,运用了改进的Apriori算法对各口店W 及仓库的药品信息进行分析,得到药品间的关联规则,对口店W及仓库的仓位配置提出了 优化的指导,同时在配送组合方面也有一定的指导意义。
[0075] 关联规则生成使用的开发软件为C++Builder,C++Builder软件中控件丰富且函数 都已封装好,因此程序书写简洁方便。数据仓储管理系统会对=个口店W及总仓库进行关 联规则的分析,此处W总仓库的25000处方数据为例展示。附图2为处方表数据库。
[0076] HIS数据库中HWB表中包含很多字段,包括处方ID、患者姓名、药品清单、时间等信 息,进行关联规则数据挖掘时不需要所有的属性,只对药品清单中药品进行分析,因此先 对数据进行预处理。由于数据库中药品清单使用的药品号是5个数字字符的字符串,无论是 在排序还是扫描数据时都消耗太多的时间,增加了算法的时间复杂度与空间复杂度,所W 先对数据进行预处理。首先将全部数据写入内存,扫描一次数据库,计算所有药品的支持 度,并对药品按支持度由高到低进行编号,编号从1开始写入文档,如附图3,附图4所示。
[0077] 附图3中第一列为排序后的药品新编号,第二列为药品原来的ID,第S列为药品的 支持度,即该药品在25000处方中出现的次数。根据附图3的编号,将处方中的药品原ID替换 成新编号,并将每个处方根据新编号进行排序,生成附图4中的处方数据,图中每一行为一 个处方,每个处方按药品编号从小到大排列。对数据预处理后按照改进的Apriori算法进行 数据挖掘,支持度设置为1.8%。首先产生频繁2-项集,频繁2-项集共539项,运行时间为 962 Ims,再产生频繁3-项集,共231项,运行时间为970ms,最后产生频繁4-项集,共33项,运 行时间44ms,最后得到关联规则。运行总时间为10635ms,处理25000个处方数据运行时间在 IOs左右,计算速度快,效率高。得到各口店的药品关联规则,可W对口店药品摆放起到指导 作用,将相关度高的药品摆放在相邻或相近的位置,将支持度高的药品摆放在方便存取的 位置,有助于药师快速取药,节省了取药的时间。
[0078] 根据产生的药品关联规则对库房仓位进行配置,将支持度高、相关度高的药品放 置在出库方便的位置,便于快速的配送出库,同时在补货配送过程中将相关度高的药品一 起送往药房口店,节省配送次数。利用关联规则进行仓储管理可W节省人力、物力,缩短取 药、配送的时间,提高工作效率,为企业提供了有效的决策支持。
[0079] 配仓指导界面如附图5,图中截取的是口店2的配仓指导内容。
[0080] 根据各个口店的处方数据分析后得到了不同的关联规则,n店管理员根据提供的 关联规则可W对仓位进行调整,将相关度高的药品放在相邻的位置,方便取药。例如口店1 可W将甘草、黄琴、生地黄、牡丹皮、赤巧放在相近位置,而口店2则可W将甘草、巧等、白巧、 牡丹皮放在相近位置。根据关联规则与药师的个人习惯相结合,合理的配置仓位可W更加 快速的取药、配药,提高工作效率。对于仓库,可W将相关度高、使用频率高的药品相邻摆 放,并设置在距离仓库出口较近的仓位,方便出库,同时在配送补货的过程中可W将相关度 高的药品一同配送,减少配送次数。
【主权项】
1. 一种基于Apr iori改进算法的关联规则算法,其特征在于:先对事务数据库D进行预 处理,将数据记录简化后全部读到内存,在频繁项集连接、剪枝生成候选集的过程中,对生 成候选集的过程进行改进,直接生成候选项集,得到候选集后扫描数据库计算支持度,由于 候选集与事务数据库D均已排序,在每个事务T即每条记录中分别搜索候选集时,一旦搜索 到大于候选项的值时,即可停止该事务的搜索。2. 根据权利要求1所述的基于Apriori改进算法的关联规则算法,其特征在于: 所述设置项的支持度为数据集之中包含该项集的记录所占的比例; 根据事务数据库中项集的相关性设置最小支持度minSup和预估项数目,设置区间为0~ 100%,先设置minSup为一个估计值,计算事务数据库D的频繁项集,如果频繁项集多于预估 项数目,减小minSup的值,如果频繁项集少于预估项数目,增大minSup的值,重复以上步骤 直至得到最接近预估值的最小支持度minSup。3. 根据权利要求1所述的基于Apr iori改进算法的关联规则算法,其特征在于:具体步 骤如下: (1) 设置k的大小,扫描事务数据库D,对数据进行预处理,将数据记录简化,即去除冗余 数据,将数据全部写入内存,并将事务数据库D中的所有项统计支持度后由高到低排序后进 行编号(1,2,......,n),得到候选1-项集,去除候选1-项集中小于最小支持度minSup的项集 得到频繁1-项集; (2) 去除事务数据库D中小于最小支持度minSup的项,将事务数据库D中的所有项替换 为其所对应的编号,并将每个事务T按照编号从小到大重新排列并生成新的事务数据库D; (3) 根据传统Apriori算法,利用频繁1-项集生成候选2-项集,并计算支持度得到频繁 2_项集; (4 )生成候选m-项集,具体方法为将频繁m-Ι项集中前(m-2 )项相同的项集组合在同一 行中,m大于等于3,行号为前(m-2)项,行集合为每个(m-Ι)项的最后一项,将行集合中的项 从前向后按序进行的组合,η为项数,并根据组合前项与该行行号分别结合,找到对应行 号,若行号只包含1项则不需要结合,判断组合后项是否在该行集合中,若存在,则该项集是 候选m-项集,若不在,直接删除,最终可直接得到候选m-项集; (5) 得到候选m-项集后,扫描新的事务数据库D,计算候选m-项集中每一候选项的支持 度,由于候选m-项集与事务数据库D均已排序,在事务T中分别搜索候选项时,一旦在T中搜 索到大于候选项的值时,表示T中不包含该候选项,即可停止该事务T的搜索;候选m-项集全 部计算完成后,将支持度小于最小支持度minSup的项去除,得到频繁m-项集; (6) 重复步骤(4M5),直至m的值达到设定k的大小,得到k-频繁项集; (7) 列出k-频繁项集的所有项,根据传统Apriori算法生成关联规则; (8) 根据步骤(1)生成的编号,将关联规则映射回原数据项。
【专利摘要】本发明公开了一种基于Apriori改进算法的关联规则算法,先对事务数据库D进行预处理,将数据记录简化后全部读到内存,在频繁项集连接、剪枝生成候选集的过程中,对生成候选集的过程进行改进,直接生成候选项集,得到候选集后扫描数据库计算支持度,由于候选集与事务数据库D均已排序,在每个事务T即每条记录中分别搜索候选集时,一旦搜索到大于候选项的值时,即可停止该事务的搜索。本发明将改进的Apriori算法应用在药房管理系统中,结果显示改进算法性能明显优于传统算法,操作简洁,更加满足实际需求。
【IPC分类】G06Q30/02, G06F17/30
【公开号】CN105719155
【申请号】CN201510583227
【发明人】高曾荣, 何新, 应国力, 王建宇, 周宇浩, 袁侃辉
【申请人】南京理工大学
【公开日】2016年6月29日
【申请日】2015年9月14日
当前第3页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1