机器学习中的apriori算法
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()
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元素相等