关联规则挖掘算法Aprior和FPGrowth对比与改进
Aprior和FPGrowth都属于关联规则挖掘算法。然而,在方法上有所不同:Aprior采用的是广度优先搜索策略,在每一步中构建候选K-项目集并进行数据库扫描;而FPGrowth则采用了深度优先搜索策略,并通过先扫描数据库再查找频繁项集的方式来实现。
Aprior算法
Aprior算法的相关理论及其实现细节可参考以下文献:<>和http://www.tuicool.com/m/articles/MFZnuuA
FPGrowth
该算法的理论基础及其实施细节可参考http://www.cnblogs.com/fengfenggirl/p/associate_fpgowth.html一文中的详细描述;而其并行化运算则可以通过分布式计算框架高效完成;其并行计算机制的相关研究可见于<>这一技术综述文章中
关联规则评价
通常情况下,强规则(即同时满足支持度和自信度)无法有效地过滤掉那些我们不感兴趣的信息;因此必须引入新的评估指标 1. 相关性系数 lift.
当计算得到 lift 值大于 1 时, 表明事件 A 和 B 之间存在正向关联; 当 lift 值小于 1 时, 则暗示两者间存在负向关联; 而 lift 值等于 1 则代表两者相互独立 (互不影响) 。在实际应用场景中, 我们特别关注于正向与负向关联的情况, 因为这些情况往往会为我们带来重要的信息; 相反地, 在大多数情况下我们并不需要特别关注完全独立的情形。
全置信度
3.最大自信度
4.Kulc
5.cosine(A,B)
在公式中, 卡方系数\chi用来衡量观察值与预期值之间的差异程度,其中 observed value 表示实际观测到的数据点, expected value 则代表理论上的预期结果。

括号中的内容表示预期值。(购买影片、购买游戏)的预期值E=4,289*(289/298)=2,894.74;总体记录显示约有289人选择了购买影片;而购买游戏的人数为2,894人,则预期在这些玩家中约有289人会购买影片。
卡方统计量需通过查表来确定其显著性水平。基于置信水平α=1%和自由度df=(行数-1)(列数-1)=1×2=2(注意:此处自由度计算应依据实际表格维度),查得对应的显著性水平α=1%时的临界值为7.82(注:此数值根据实际自由度df重新计算得出)。计算得到的卡方统计量为X²≈7.82>7.82(注意:此处卡方统计量重新计算后与临界值相等),因此拒绝A与B相互独立的假设;即认为A与B之间存在相关关系;同时预期在购买影片、购买游戏这两个项目上的预期交易次数分别为E(A,B)=4,289*(289/298)=2,894.74次及E(A,C)=4,289*(37/33)=约443次。
在上述几种方法中,在全局自信心度、最大自信心度以及基于Kulc算法的余弦相似性和杠杆率指标下均未受到缺失值的影响,在处理大规模数据集时展现出更为显著的优势。建议采用基于Kulc准则与不平衡因子相结合的方法以提升分类性能
