我使用 mlxtend.frequent_patterns fpgrowth 库在 python 中使用了 FP-Growth 算法。我遵循了他们页面中提到的代码,并且生成了我认为是递归的规则。我已经使用这些规则形成了一个数据框。现在我正在尝试使用循环计算支撑和提升,但这需要很多时间,我发现这效率低下。
我使用的代码如下:
records = []
for i in range(0, 13748):
records.append([str(df.values[i,j]) for j in range(0, 12)])
patterns = pyfpgrowth. find_frequent_patterns(records, 10)
rules = pyfpgrowth. generate_association_rules(patterns,0.8)
def support_count(rhs):
count=0
rhs=set(rhs)
for j in data_item['Items']:
j=set(j)
if(rhs.issubset(j)):
count=count+1
return count
rhs_support=[]
for i in df_r['Consequent']:
a=support_count(i)
rhs_support.append(a/len(data_item))
有没有其他更简单的方法来使用 FPGrowth 计算支撑和提升?