as火柴人

导航

挖掘频繁项集

一,Apriori算法

Apriori算法的基本思路:

        产生L1候选集,剪枝(去掉L1里面不符合最小支持度的),连枝产生L2候选集,剪枝(去掉候选集不在数据集里的和不满足最小支持度的),产生L3。。。直到不能再产生新的候选集(具体判定就是连枝的时候,k-2项集不存在,这时不能生成k项集)

算法中需要注意的细节

        为了在统计L1候选集的频次的时候,能把L1作为字典的健,要把L1进行frozenset。用map()函数,把list里面的每一个元素都转换成set,转换之后会有重复的set(set的不重复性指的是set内部)。

        if a.issubset(b):如果a是b里面的子集则返回为真

        数据集要预处理转换成set形式,这样才能保证数据集的安全性

       对于两个游标的(一般用于集合内的排列组合):

for i in range(len):
    for j in range(i+1,len)

     前k-2项是list[:k-2],冒号别忘了

 

        

     

posted on 2018-11-20 21:17  as火柴人  阅读(155)  评论(0)    收藏  举报