python 實現(xiàn)關(guān)聯(lián)規(guī)則算法Apriori的示例
首先導入包含apriori算法的mlxtend庫,
pip install mlxtend
調(diào)用apriori進行關(guān)聯(lián)規(guī)則分析,具體代碼如下,其中數(shù)據(jù)集選取本博客 “機器學習算法——關(guān)聯(lián)規(guī)則” 中的例子,可進行參考,設置最小支持度(min_support)為0.4,最小置信度(min_threshold)為0.1,
最小提升度(lift)為1.0,對數(shù)據(jù)集進行關(guān)聯(lián)規(guī)則分析,
from mlxtend.preprocessing import TransactionEncoderfrom mlxtend.frequent_patterns import apriorifrom mlxtend.frequent_patterns import association_rulesimport pandas as pddf_arr = [[’蘋果’,’香蕉’,’鴨梨’], [’橘子’,’葡萄’,’蘋果’,’哈密瓜’,’火龍果’], [’香蕉’,’哈密瓜’,’火龍果’,’葡萄’], [’橘子’,’橡膠’], [’哈密瓜’,’鴨梨’,’葡萄’] ]#轉(zhuǎn)換為算法可接受模型(布爾值)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)#求關(guān)聯(lián)規(guī)則,設置最小置信度為0.15rules = association_rules(frequent_itemsets,metric = ’confidence’,min_threshold = 0.15)#設置最小提升度rules = rules.drop(rules[rules.lift <1.0].index)#設置標題索引并打印結(jié)果rules.rename(columns = {’antecedents’:’from’,’consequents’:’to’,’support’:’sup’,’confidence’:’conf’},inplace = True)rules = rules[[’from’,’to’,’sup’,’conf’,’lift’]]print(rules)#rules為Dataframe格式,可根據(jù)自身需求存入文件
輸出結(jié)果如下:
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 實現(xiàn)關(guān)聯(lián)規(guī)則算法Apriori的示例的詳細內(nèi)容,更多關(guān)于python 實現(xiàn)關(guān)聯(lián)規(guī)則算法Apriori的資料請關(guān)注好吧啦網(wǎng)其它相關(guān)文章!
相關(guān)文章:
1. docker容器調(diào)用yum報錯的解決辦法2. Java使用Tesseract-Ocr識別數(shù)字3. vue實現(xiàn)web在線聊天功能4. JAMon(Java Application Monitor)備忘記5. Springboot 全局日期格式化處理的實現(xiàn)6. 完美解決vue 中多個echarts圖表自適應的問題7. SpringBoot+TestNG單元測試的實現(xiàn)8. Django使用HTTP協(xié)議向服務器傳參方式小結(jié)9. HTML基本語法和語義寫法規(guī)則與實例10. 使用Node.js實現(xiàn)Clean Architecture方法示例詳解
