继上一篇 Data Mining 1 中的3个算法,这次是搞定Apriori
算法,感觉这个算法在写过的几个DataMine中算最恶心的。
一开始自己看频繁挖掘的时候没太明白就开始写代码,闹得最后又重写了一遍,不过也对Apriori有了更清楚的认识。
Apriori,主体分两步走:
a. 根据 原始数据 得到1 -
k项集,再根据support(支持度)得到频繁1项集,频繁2项集,频繁3项集......
一直到频繁k项集,这一步是运算量最大的,也是hadoop集群的瓶颈。
b. 根据 置信度 confidence ,得到所有强规则。
因为 b
步骤太简单,为了省事,我没写在算法里,算法里只求出了所有频繁集。而这一步骤也分为两步:
a.
迭代得到K项集,具体迭代方法就是将上一次迭代的结果k-1项集和1项集进行组合,从而得到K项集。
b.
根据支持度,得到频繁K项集,不断迭代a,b步骤,直到K为最大为止。
应用实例:
一个骚年去赌博 玩牌
一次抽出几张牌 放回
到底抽了神马牌
且看表格在下面
No.
card
1
2
3
4
5
6
待续......