机器学习中的apriori算法

机器学习中的apriori算法,apriori,Apriori,apriori算法 def aprioriGen(Lk, k): #creates Ck retList = [] lenLk = len(Lk) for i in range(lenLk): for j in range(i+1, lenLk): L1 = list(Lk[i])[:k-2]; L2 = list(Lk[j])[:k-2] L1.sort(); L2.sort()

apriori算法

def aprioriGen(Lk, k): #creates Ck
    retList = []
    lenLk = len(Lk)
    for i in range(lenLk):
        for j in range(i+1, lenLk): 
            L1 = list(Lk[i])[:k-2]; L2 = list(Lk[j])[:k-2]
            L1.sort(); L2.sort()
            if L1==L2: #if first k-2 elements are equal
                retList.append(Lk[i] | Lk[j]) #set union
    return retList

l3 = [frozenset([0, 1, 2]), frozenset([0, 1, 3]), frozenset([1, 2, 4])] 
l4 = aprioriGen(l3, 4) 
print l4 
结果是:
[frozenset([0,1,2,3]),


算法正确吗?为什么
[frozenset([0,1,2,4])]
不包括?

可能重复@Abhijeet谢谢,我理解先验,但我不理解原因:如果L1==L2:#如果第一个k-2元素相等