python 实现关联规则算法Apriori的示例
首先导入包含apriori算法的mlxtend库,
pipinstallmlxtend
调用apriori进行关联规则分析,具体代码如下,其中数据集选取本博客“机器学习算法——关联规则”中的例子,可进行参考,设置最小支持度(min_support)为0.4,最小置信度(min_threshold)为0.1,
最小提升度(lift)为1.0,对数据集进行关联规则分析,
frommlxtend.preprocessingimportTransactionEncoder frommlxtend.frequent_patternsimportapriori frommlxtend.frequent_patternsimportassociation_rules importpandasaspd df_arr=[['苹果','香蕉','鸭梨'], ['橘子','葡萄','苹果','哈密瓜','火龙果'], ['香蕉','哈密瓜','火龙果','葡萄'], ['橘子','橡胶'], ['哈密瓜','鸭梨','葡萄'] ] #转换为算法可接受模型(布尔值) te=TransactionEncoder() df_tf=te.fit_transform(df_arr) df=pd.DataFrame(df_tf,columns=te.columns_) #设置支持度求频繁项集 frequent_itemsets=apriori(df,min_support=0.4,use_colnames=True) #求关联规则,设置最小置信度为0.15 rules=association_rules(frequent_itemsets,metric='confidence',min_threshold=0.15) #设置最小提升度 rules=rules.drop(rules[rules.lift<1.0].index) #设置标题索引并打印结果 rules.rename(columns={'antecedents':'from','consequents':'to','support':'sup','confidence':'conf'},inplace=True) rules=rules[['from','to','sup','conf','lift']] print(rules) #rules为Dataframe格式,可根据自身需求存入文件
输出结果如下:
fromtosupconflift 0(哈密瓜)(火龙果)0.40.6666671.666667 1(火龙果)(哈密瓜)0.41.0000001.666667 2(哈密瓜)(葡萄)0.61.0000001.666667 3(葡萄)(哈密瓜)0.61.0000001.666667 4(葡萄)(火龙果)0.40.6666671.666667 5(火龙果)(葡萄)0.41.0000001.666667 6(哈密瓜,葡萄)(火龙果)0.40.6666671.666667 7(哈密瓜,火龙果)(葡萄)0.41.0000001.666667 8(葡萄,火龙果)(哈密瓜)0.41.0000001.666667 9(哈密瓜)(葡萄,火龙果)0.40.6666671.666667 10(葡萄)(哈密瓜,火龙果)0.40.6666671.666667 11(火龙果)(哈密瓜,葡萄)0.41.0000001.666667 Processfinishedwithexitcode0
以上就是python实现关联规则算法Apriori的示例的详细内容,更多关于python实现关联规则算法Apriori的资料请关注毛票票其它相关文章!