1.频繁项集
1.1理解基本概念
项集的出现频率:包含项集的事务数。也称作频率、支持度计数、计数。
只要得到A,B和A交B的支持度计数,就可以导出对应的关联规则A=>B和B=>A,并检查它们是否是强规则。如此,挖掘关联规则的问题就可以归结为挖掘频繁项集。
一般地,关联规则的挖掘可以看做两步的过程:
1)找出所有的频繁项集:满足最小支持度min_sup;
2)由频繁项集产生强关联规则:同时满足min_sup和最小置信度min_conf;
通常,上述A交B写作A并B,可作如下两种理解:
1)若写作A并B,则其并非概率论中的随机事件,A并B仅看做A中项集和B中项集的并集,P(A并B)即包含A中项集同时包含B中项集的事务数(所占比例)。
2)若写作A交B,则可与概率中随机事件相似理解,A为事件:全集中含有A中项集的事务,B:全集中含有B中项集的事务,则A交B:全集中含有A且含有B的事务。
闭频繁项集:若不存在项集X的真超项集Y使得Y与X在数据集S中有相同的支持度计数,则称X在S中是闭的。若X在S中是闭的和频繁的,则项集X是数据集S中的闭频繁项集。
极大频繁项集(极大项集):若X是频繁的,且不存在超项集Y也是频繁的。
注意:闭的未必是频繁的,但极大项集必定是频繁的。
1.2频繁项集挖掘方法(有效的、可伸缩的)
最简单形式的频繁模式:单维(一个谓词)、单层(涉及唯一抽象层)、布尔(所处理的值类型)频繁项集(所挖掘的模式类型)。
主要步骤:
-连接步:可连接的是指仅最后一个元素不同
-剪枝步:采用Apriori性质和散列树
Apriori性质:项集X是频繁的<=>X的所有非空子集是频繁的<=>X的所有1项集是频繁的。
APriori性质属于反单调性(若一个集合不能通过测试,则它的所有超集也都不能通过相同的测试)
-数据集全扫描计数
伪代码:
代码实现:
例子: