python 實現關聯規則算法Apriori的示例
首先導入包含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的資料請關注好吧啦網其它相關文章!
相關文章:
