基于关联规则挖掘药物副作用
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
三门峡职业技术学院学报JOURNAL OF SANMENXIA POLYTECHNIC第19卷第2期
技术与应用
基于关联规则挖掘药物副作用
◎张志山I陈育煌2
(1.惠州卫生职业技术学院教育技术与信息中心;2.惠州卫生职业技术学院药学系,广东惠州516025)
摘要:关联规则挖掘是数据挖掘中的重要应用,经典的Apriori算法存在一些缺点,经过深入研究,提出了一种基于谓词约束、约简事务数据库的频繁链表结构的关联规则挖掘算法,改进算法比Apriori算法减少了存储空间和提高了挖掘效率,也能够挖掘负关联规则。
最后应用改进的Apriori算法将海量的药物副作用进行数据预处理,从中挖掘出有意义的频繁项集和正负关联规则,供医药人员进行科学决策。
关键词:关联规则;Apriori算法;频繁项集;药物副作用
中图分类号:TP301.6文献标识码:B文章编号:1671-9123(2020)02-0144-05
收稿日期:2020-04-08
基金项目:广东省惠州市科技局项目(2015yl22)
作者简介:张志山(1983—),男,广东梅州人,惠州卫生职业技术学院教育技术与信息中心讲师。
从技术上而言,数据挖掘就是从大量的已知的数据中,补齐修正不完整的数据,去除噪音数据,从中寻找那些人们往往需要依赖经验才能体会的潜在知识和信息的过程叫由于新药临床前诸多因素的制约,对于新药的副作用的认识非常局限,必须通过药品的上市后监测(Post Marketing Study,PMS)即IV期临床试验,完成对一种新药的全面评价叫另一方面,药物副作用(ADR)弓I起的病患占据所有医院病患的6%,这俨然成为导致医院死亡的第五大因素冋,可见,药物副作用带来的危害越来越大。
目前,对于上市后的药品安全性评估主要有神经网络、回归分析法、数据离散法、函数依赖法等,这些算法往往需要知道各参数之间的关系,训练时间较长,过程复杂,额外开销大,很难推广。
影响评估数值的因素很多,各种因素之间存在着复杂的非线性联系,采用一般的数学统计方法很难准确预测其含量叫文献固提出的基因表达式编程(gene expression programming,GEP)是进化计算的新成员,具有遗传算法(genetic algorithm,GA)和遗传规戈I](genetic programming, GP)的优点,同时克服了GA和GP的缺点,但是
基于关联规则挖掘药物副作用
GEP算法在进化过程中容易陷入局部最优不能自拔。
文献问则提出了一种基于种群密集度的GEP算法挖掘药物不良反应,对文献冋的方法进行改进,提出了种群密集度和新陈代谢等概念,证明了种群密集度的性质等,为进一步加强ADR监测提供一种有效的技术手段叫文献呗]利用GEP算法建立起对脂肪肝的辅助诊断的新方法。
关联规则挖掘是数据挖掘中的一种重要应用。
它通过对数据集的分析处理,挖掘出数据集中频繁项之间的有趣联系叫关联规则挖掘中尤以Apriori算法最为经典。
该算法结构简单、数据要求低,但Apriori算法也存在一些缺点,如要对数据库多次扫描,内存占用大、候选集项目多,运行效率不高%Apriori算法涉及的主要概念如下:支持度是指项集出现的概率,其公式是Support (A->B)=P(AUB)O置信度是指在总事物集中包含A的同时也包含B的百分比,其公式是Confidence(A->B)=P(AIB)=P(A,B)/P(A)=P(AUB)/P (A)o提升度Lift(A->B)=P(BIA)/P(B)。
当提升度为1时,表示A与B相互独立,即是否有A对于B 的出现无影响。
当提升度满足0<Lift(A->B)<1时,表示A与B存在负相关联系。
当提升度满足Lift(A->B)>l时,表示A与B存在正相关联系。
强规则是指同时满足最小支持度和最小置信度的关联规则网,否则就是弱规则。
可见,关联规则r A=,B不是感兴趣的,证毕。
因为有:
Interest(-iA3-iB)=\-i&一P(-.5)
=1一P(E|-1+P(0)=-|詡)
-“»_F3•0)_P⑻一巩时⑻一-0)
_()l-P(Z)_—F⑷
~1-戸(&
所以,关联规则「A=i B是感兴趣的,证毕。
因为有:
I^resKA=>-<E)=P(^B\A)-F(-^)
=1-F(E|&-1+尸3)二尸3)-尸3|&
=-Int&r&st(卫=»E)c0
所以,B关联规则不是感兴趣的,证毕。
综上所述,这4个关联规则并不会同时作为有效的强关联规则出现,从而避免产生自相矛盾的强规则。
根据关联规则相关性的证明,参考前人的研究,笔者提出了改进Apriori算法的基本思路如下:
(1)选择频繁项集。
关联规则挖掘并不是每次都要挖掘所有的属性关联,对数据库中无须挖掘的属性谓词,算法不予考虑,进行剔除。
(2)基于维数目约束。
通常,一个规则的有用与否最终取决于用户的需要,所以只有用户才能决定关联规则的取舍。
为此,算法中加入了number参数(用户想知道的最大的频繁项集数目)作为维数目约束值,算法根据number值选择扫描到L[2],L[3]……L[number]个链表。
(3)基于事务集的约简。
第一次迭代扫描数
1算法的研究与改进
关联规则相关性的证明:如果关联规则An B是感兴趣的,那么r A=出不是感兴趣的,n An】B是感兴趣的,B不是感兴趣的。
分别证明如下:
Intsrest^A=>£)=\A)-F®
尸(孔3)-P(A)P(B)>0;>0;l-P{A)>0据库DI后,剔除不可能是频繁1-项集的事务,更新数据库为D2,第二次迭代扫描数据库D2后,剔除不可能是2-项集的元素,更新数据库为D3,以此类推,直到数据库Dnumber。
从而达到降低I/O开销,减少数据库和谓词集存储,提高挖掘速度的目的。
(4)基于链表结构。
从第二次扫描数据库D2开始,将对应的事务数据库拆解成用户需要的各类候选2-、3-……K-候选集,并把结果存入对应的链表结构中,直至产生所有的候选谓词集。
最
三门峡职业技术学院学报JOURNAL OF SANMENXIA POLYTECHNIC
后,分别计算各候选集的支持度,满足最小支持
度和最小置信度的即为频繁k项集。
根据上述改进算法思想得到该算法的伪代码如下:
输入:原始数据库D1,最小支持度support,最小置信度confidence,最大频繁项集数量number o
输出:正关联规则positive rule、负关联规则negative rule。
F o r(k=1;k W n;k++)
Li=find frequent item set(Dl)
〃找出候选L”在L k中加入频繁1-项谓词集,在Ck中加入候选1谓词集。
For each transaction t g DI
{
For each t.item not e Lk-1
{删除事务中的项目}〃事务压缩
t=apriori generation(t,k)
}
D2=D1//D2表示第一次事务压缩后的新数据库
For(k=2;k W number;k++)
{
For each事务项t g D2
{
Ct=t.事务项集
Dime set=get Multi Dime(t.属性);//扌叟索频繁谓词集,并计数
For each di g Dime set
For each candidate c e di.Ck
If(c e Ct)
Then c.count++
}
For each candi_k_itemset c g Ct
{
If c.support〉二s upport
{c insert into L k}
再次压缩数据库,D3=D2,D牡D3,依次类推。
Procedure Rule()〃挖掘正负关联规则
{
Positive rule=null;negative rule=null; int what;
For each item t in L
{
For A A B=null and t=AU B
{what=support(AB)/support(A)-support(B)
If(what<0)then
{
If confidence(A^B)>confidence then
{A^n B insert into negative rule}
If confidence(~i A^B)>confidence then
{-|A=>B insert into negative rule}
}
Else if(what>0)then
{
If confidence(A^>B)>confidence then
{A=B insert into positive rule}
If confidence(1A=~|B)>confidence then
{-|A=~|B insert into negative rule}
}
}
}
}
2实验
根据上述算法设计思想,进行系统的分析和设计。
药物副作用挖掘系统的结构如图1所示,具体包括三个模块,从上到下分别是模型可视化分析模块、关联规则算法模块和数据预处理模块。
每个副作用拥有一个UMLS(Unified Medical Language System)—体化医学语言系统的概念编
基于关联规则挖掘药物副作用
输入系统输出可视化
配置的参数的模式规划
1
模型可视分析模块
图型用户界面
1
1
F
I
数据挖掘引擎
k i关联规划算法模块数据挖掘数据库
数据选取」k d L
数据预处理
药物副作用数据数据预处理模块
图1关联规则挖掘系统架构
号CUI,并由含义相同的一种或者多种副作用名称构成冋。
具体如表1所示。
表1UMLS分配
序号副作用名称
1Skin lesion
2Severe systemic lesion
3Digestive system damage
4Circulatory system damage
5Blood system damage
6Reproductive system damage
7Liver and gall damage
8Respiratory system injury
9Nervous system damage
10Visual system damage
11Blood system damage
实验平台:PC为I5-7200U-2.5GHZ,双核,8GB的DDR4内存,256GB固态硬盘,widows7旗舰版64位。
用户操作子系统的WEB服务器采用Apache的tomcat7作为容器管理,数据库釆用微软的SQL Server2008R2存储用户操作数据。
数据挖掘子系统采用Weka3.6作为基础框架做进一步扩展开发。
对Apriori算法和本文改进算法进行模拟,得到如图2所示的执行时间比较。
可见,笔者改进算法在各个支持度下都比Apriori算法执行效率高。
应用笔者改进算法,得到如表2、表3和表4所示的,频繁1-项集、频繁2-项集和频繁3-项
最小支持度
图2执行时间比较
集出现频率最高的5个。
得出结论,药物副作用中,皮肤损伤最为常见,当2个副作用同时出现时,皮肤损伤和视觉系统伤害最为常见。
当3个副作用同时出现时,皮肤损伤、神经系统损害和重度全身性损害最为常见。
实验结果分析,从表5得到部分关联规则,第一项表示,当皮肤损害和视觉系统伤害同时发生时,有62%的可能性会同时导致重度全身性伤害,以及有62%的可能性肝胆不受损。
最后一项表示,当重度全身性伤害和非呼吸系统损害同时发生时,有54%的可能性会使肝胆伤害,以及有54%的可能性神经系统不受伤害。
表2频繁1-项集频率最高的前5个
排名副作用名称出现次数
1Skin lesion84
2Severe systemic lesion79
3Digestive system damage75
4Respiratory system injury74
5Nervous system damage63
表3频繁2-项集频率最高的前5个
排名副作用名称出现次数
1
Skin lesion
Visual system damage32
2Circulatory system damage
Severe systemic lesion
28 3
Visual system damage
Severe systemic lesion23 4
Nervous system damage
Respiratory system injury23 5
Liver and gall damage
Digestive system damage21
三门峡职业技术学院学报JOURNAL OF SANMENXIA POLYTECHNIC
表4频繁3-项集频率最高的前5个
排名副作用名称出现次数
Skin lesion
1Nervous system damage
Severe systemic lesion
Circulatory system damage
18
2Severe systemic lesion
Respiratory system injury
Visual system damage
17
3Severe systemic lesion
Skin lesion
Nervous system damage
15
4Respiratory system injury
Digestive system damage
Liver and gall damage
12
5Digestive system damage Nervous system damage 12
表5部分关联规则
规则前项规则后项
支持
度/%
置信
度/% Skin lesion
Visual system
damage
Severe systemic lesion
-|Liver and gall damage
1862
Severe systemic
lesion
Circulatory system
damage
Respiratory system injury
1770
n Digestive
system
Severe systemic lesion
Skin lesion15
53
Liver and gall
damage
Digestive system
damage
Nervous system damage
2360
Severe systemic
lesion
n Respiratory
system injury
Liver and gall damage
n Nervous system
damage
1354
3结语
笔者对经典关联规则算法进行升级改造,提出了基于维数目约束、事务集约简的关联规则挖掘算法,给出了改进算法的伪代码,并将算法思想,应用于药物副作用挖掘系统。
该算法与经典Apriori算法相比,提高了挖掘速度,减少了存储空间,能够更加有效地挖掘出有研究价值的药物副作用关联规则,为药物研制和使用提供了科学决策依据,具有重要的意义。
参考文献:
[1[REINER,BRUCE.NEW strategies for medical data mining,part2:The customizable productivity pacer[J].Journal of the American college of Radiology Jacr,2011,8(1):33-3&
[2]郑筱萸,廖清江.药学前沿[M].北京:中国医药科技出版社,2002.
[3]Y ang C,Jiang L,Yang H,et al.Detecting signals of adverse drug reactions from health consumer contributed content in social media[C]//Proceedings of ACM SIGKDD Workshop on Health Informatics,2012.
[4]W itten I H,Eibe F.Data mining:practical machine learning tools and techniques[M],2nd ed,[SJ.]:Elsevier Inc,2005.
[5]F erreira C.Gene expression programming:a new adaptive algorithm for solving problems[plex Systems, 2001,13(2):87-129.
回姜明,谈文蓉,崔梦天,等•基于种群密集度的GEP算法挖掘药物不良反应[J].计算机应用研究,2015,32(10): 2943-2946.
[7]赵建刚,王玉,司宏宗,等.基因表达式编程辅助诊断脂肪肝的新模型研究[J].中行疾病控制杂志,2010,29(2): 204-207.
[8]顾辉,杨青,将成功,等.关联规则在成绩分析中的研究及应用[JJ.计算机应用,2015,35(Sl):149-151+198.
[9]刘以安,羊斌.关联规则挖掘中对Apriori算法的一种改进研究[JJ.计算机应用,2007,27(2):417-420.
[10]Y u Guoxian,Rangwala H,Domeniconi C,et al.Protein Function Prediction with Incomplete Annotations[J].IEEE/ ACM Transactions on Computational Biology and Bioinformatics,2014,11(3):579-591.
(责任编辑卞建宁)。