python 实现关联规则算法Apriori的示例

时间:2021-05-22

首先导入包含apriori算法的mlxtend库,

pip install mlxtend

调用apriori进行关联规则分析,具体代码如下,其中数据集选取本博客 “机器学习算法——关联规则” 中的例子,可进行参考,设置最小支持度(min_support)为0.4,最小置信度(min_threshold)为0.1,

最小提升度(lift)为1.0,对数据集进行关联规则分析,

from mlxtend.preprocessing import TransactionEncoderfrom mlxtend.frequent_patterns import apriorifrom mlxtend.frequent_patterns import association_rulesimport pandas as pddf_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.15rules = 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格式,可根据自身需求存入文件

输出结果如下:

from to sup conf lift0 (哈密瓜) (火龙果) 0.4 0.666667 1.6666671 (火龙果) (哈密瓜) 0.4 1.000000 1.6666672 (哈密瓜) (葡萄) 0.6 1.000000 1.6666673 (葡萄) (哈密瓜) 0.6 1.000000 1.6666674 (葡萄) (火龙果) 0.4 0.666667 1.6666675 (火龙果) (葡萄) 0.4 1.000000 1.6666676 (哈密瓜, 葡萄) (火龙果) 0.4 0.666667 1.6666677 (哈密瓜, 火龙果) (葡萄) 0.4 1.000000 1.6666678 (葡萄, 火龙果) (哈密瓜) 0.4 1.000000 1.6666679 (哈密瓜) (葡萄, 火龙果) 0.4 0.666667 1.66666710 (葡萄) (哈密瓜, 火龙果) 0.4 0.666667 1.66666711 (火龙果) (哈密瓜, 葡萄) 0.4 1.000000 1.666667Process finished with exit code 0

以上就是python 实现关联规则算法Apriori的示例的详细内容,更多关于python 实现关联规则算法Apriori的资料请关注其它相关文章!

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章