在个性化推荐中,除了应用比较广的协同过滤,还有关联规则。作为数据挖掘中一个独立的课题,关联规则用于从大量数据中挖掘出有价值的数据项之间的相
关关系,比如购买啤酒的顾客有多大的概率购买尿布?这就购物篮中比较著名的”啤酒与尿布“的故事;介绍两个关联规则中常用的算法:Apriori和
Eclat,这两个算法在arules中均有涉及;
Apriori算法是应用比较广泛的频繁项集的算法,特别是挖掘布尔关联规则(0-1);算法主要分为两步:第一步通过迭代,检索出事务交易数据中的所有频繁项集,即支持度不低于用户设定的阈值的项集;
第二步利用频繁项集构造出满足用户最小信任度的规则。其中,挖掘或识别出所有频繁项集是该算法的核心,占整个计算量的大部分。
Eclat主要思想是倒排,常规的交易数据是事务ID-事务数据,Eclat用事务中的每一项作为ID,事务ID作为值,对交易数据进行了变换;
arules package
从上图可见:关联规则的核心是生成itemMatrix,然后由apriori算法生成规则或者由eclat算法生成频繁项集;
介绍一下arules中常用的函数:
一个arules的例子:
itemFrequencyPlot:
简单介绍一下关联规则的可视化包:
chart.1:Two-key plot
chart.2:Grouped matrix for 232 rules
chart.3:Graph plot
参考资料:
[3] 维基百科:关联规则