您好,登錄后才能下訂單哦!
python 如何實現關聯規則算法Apriori?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
首先導入包含apriori算法的mlxtend庫,
pip install mlxtend
調用apriori進行關聯規則分析,具體代碼如下,其中數據集選取本博客 “機器學習算法——關聯規則” 中的例子,可進行參考,設置最小支持度(min_support)為0.4,最小置信度(min_threshold)為0.1,
最小提升度(lift)為1.0,對數據集進行關聯規則分析,
from mlxtend.preprocessing import TransactionEncoder from mlxtend.frequent_patterns import apriori from mlxtend.frequent_patterns import association_rules import pandas as pd 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格式,可根據自身需求存入文件
輸出結果如下:
from to sup conf lift 0 (哈密瓜) (火龍果) 0.4 0.666667 1.666667 1 (火龍果) (哈密瓜) 0.4 1.000000 1.666667 2 (哈密瓜) (葡萄) 0.6 1.000000 1.666667 3 (葡萄) (哈密瓜) 0.6 1.000000 1.666667 4 (葡萄) (火龍果) 0.4 0.666667 1.666667 5 (火龍果) (葡萄) 0.4 1.000000 1.666667 6 (哈密瓜, 葡萄) (火龍果) 0.4 0.666667 1.666667 7 (哈密瓜, 火龍果) (葡萄) 0.4 1.000000 1.666667 8 (葡萄, 火龍果) (哈密瓜) 0.4 1.000000 1.666667 9 (哈密瓜) (葡萄, 火龍果) 0.4 0.666667 1.666667 10 (葡萄) (哈密瓜, 火龍果) 0.4 0.666667 1.666667 11 (火龍果) (哈密瓜, 葡萄) 0.4 1.000000 1.666667 Process finished with exit code 0
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。