Apriori关联规则算法的C语言实现
第13卷 第1期2011年1月
大连民族学院学报JournalofDalianNationalitiesUniversity
Vo.l13,No.1January2011
文章编号:1009-315X(2011)01-0052-04
Apriori关联规则算法的C语言实现
李 楠,宁燕子,杨存志
a
b
c
(辽宁师范大学a.计算机与信息技术学院;b.档案馆;c.教务处,辽宁大连116029)
摘 要:在分析Apriori算法的基础上,介绍了该算法的C语言实现,包括频繁集的发现和关联规则的生成,为进一步研究关联规则提供了基础。关键词:数据挖掘;关联规则;Apriori算法;C语言中图分类号:TP312 文献标志码:A
ResearchandImplementationofAprioriRulesAlgorithmBasedonC
LINan,NINGYan-zi,YANGCun-zhi
a
b
c
(a.CollegeofComputerandInformationTechnology;b.Archives;
c.AcademicAffairsDivisionLiaoningNormalUniversity,DalianLiaoning116029,China)
Abstract:Associationruleisaneffectivewayforknowledgediscoveryindatamining,whereinalgorithms.TheAprioriisaclassicalalgorithm.BasedontheanalysisofthealgorithmAprior,iweintroducedthealgorithm srealizationofdiscoveryoffrequentitemsetsandgenerationofas sociationrulesbyusingC,andatlastitperformsavalidationtodiscoverthefrequentitemsetsfromthetraditionalmarketbaske,tandalsotherulessatisfyingwiththeminimumsupportandconfidence.Whichprovideasolidfoundationforfurtherresearchofassociationrules.Keywords:datamining;associationrules;Apriorialgorithm;Clanuage 数据挖掘(DataMining,DM)是指从大量的、不完全的、有噪声的、模糊的、随机的实际数据中,提取隐含在其中的、人们不知道的、但又是潜在有
[1]
用的信息和知识的过程,是数据库知识发现(KnowledgeDiscoveryinDatabase,KDD)过程中对数据真正应用算法抽取知识的一个步骤,是KDD过程中的重要环节。数据挖掘的方法主要包括:分类、回归分析、聚类、关联分析等。其中,关联规则挖掘是数据挖掘研究的一个重要分支,是众多知识类型中最为典型的一种。
关联规则挖掘最早是由Agrawal等人于1993年提出的
[3]
[2]
关联规则的实用性由支持度衡量,描述了X和Y两个项集同时出现的概率,定义为:Support(X!Y)=|{T:X#Y T,T D}|/|D|。关联规则的准确性由可信度衡量,描述了出现X的事务集D同时也出现Y的概率,定义为:Confidence(X!Y)=|{T:X#Y T,T D}|/|{T:X T,T D}|。
关联规则挖掘就是在事务集D中找到满足最小支持度min-support和最小可信度min-confi dence的关联规则。该问题一般分为两步骤完成:
(1)找出满足最小支持度min-support的所有频繁集;
(2)根据找到的频繁集,产生所有可信度大于min-confidence的规则。其中,步骤(1)是制约Apriori算法运行效率的关键所在,因为需要多次
,其形式化的描述如下:设I={i1,i2,
,im}是m个不同项的集合,事务T为I的子集,不同的事务的集合构成事务集D。关联规则就是形如X!Y的蕴涵式,其中X I,Y I,且X Y= 。
收稿日期:2010-09-07;最后修回日期:2010-09-17
基金项目:国家自然科学基金项目(20873055)。
(),,,