Apriori关联规则算法的 C语言实现
2011-09-22宁燕子杨存志
李 楠,宁燕子,杨存志
(辽宁师范大学 a.计算机与信息技术学院;b.档案馆 ;c.教务处,辽宁 大连 116029)
Apriori关联规则算法的 C语言实现
李 楠a,宁燕子b,杨存志c
(辽宁师范大学 a.计算机与信息技术学院;b.档案馆 ;c.教务处,辽宁 大连 116029)
在分析 Apriori算法的基础上,介绍了该算法的 C语言实现,包括频繁集的发现和关联规则的生成,为进一步研究关联规则提供了基础。
数据挖掘;关联规则;Apriori算法;C语言
数据挖掘 (Data Mining,DM)是指从大量的、不完全的、有噪声的、模糊的、随机的实际数据中,提取隐含在其中的、人们不知道的、但又是潜在有用的信息和知识的过程[1],是数据库知识发现(Know ledge Discovery in Database,KDD)过程中对数据真正应用算法抽取知识的一个步骤,是 KDD过程中的重要环节[2]。数据挖掘的方法主要包括:分类、回归分析、聚类、关联分析等。其中,关联规则挖掘是数据挖掘研究的一个重要分支,是众多知识类型中最为典型的一种。
关联规则挖掘最早是由 Agrawal等人于 1993年提出的[3],其形式化的描述如下:设 I={i1,i2,…,im}是 m个不同项的集合,事务 T为 I的子集,不同的事务的集合构成事务集D。关联规则就是形如X→Y的蕴涵式,其中 X⊃ I,Y⊃ I,且 X∩Y=Φ。
关联规则的实用性由支持度衡量,描述了 X和 Y两个项集同时出现的概率,定义为:Suppo rt(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中找到满足最小支持度 m in-support和最小可信度 m in-confidence的关联规则。该问题一般分为两步骤完成:
(1)找出满足最小支持度 m in-support的所有频繁集;
(2)根据找到的频繁集,产生所有可信度大于m in-confidence的规则。……
