python 實(shí)現(xiàn)關(guān)聯(lián)規(guī)則算法Apriori的示例
首先導(dǎo)入包含apriori算法的mlxtend庫,
pip install mlxtend
調(diào)用apriori進(jìn)行關(guān)聯(lián)規(guī)則分析,具體代碼如下,其中數(shù)據(jù)集選取本博客 “機(jī)器學(xué)習(xí)算法——關(guān)聯(lián)規(guī)則” 中的例子,可進(jìn)行參考,設(shè)置最小支持度(min_support)為0.4,最小置信度(min_threshold)為0.1,
最小提升度(lift)為1.0,對(duì)數(shù)據(jù)集進(jìn)行關(guān)聯(lián)規(guī)則分析,
from mlxtend.preprocessing import TransactionEncoder
from mlxtend.frequent_patterns import apriori
from mlxtend.frequent_patterns import association_rules
import pandas as pd
df_arr = [['蘋果','香蕉','鴨梨'],
['橘子','葡萄','蘋果','哈密瓜','火龍果'],
['香蕉','哈密瓜','火龍果','葡萄'],
['橘子','橡膠'],
['哈密瓜','鴨梨','葡萄']
]
#轉(zhuǎn)換為算法可接受模型(布爾值)
te = TransactionEncoder()
df_tf = te.fit_transform(df_arr)
df = pd.DataFrame(df_tf,columns=te.columns_)
#設(shè)置支持度求頻繁項(xiàng)集
frequent_itemsets = apriori(df,min_support=0.4,use_colnames= True)
#求關(guān)聯(lián)規(guī)則,設(shè)置最小置信度為0.15
rules = association_rules(frequent_itemsets,metric = 'confidence',min_threshold = 0.15)
#設(shè)置最小提升度
rules = rules.drop(rules[rules.lift <1.0].index)
#設(shè)置標(biāo)題索引并打印結(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 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
以上就是python 實(shí)現(xiàn)關(guān)聯(lián)規(guī)則算法Apriori的示例的詳細(xì)內(nèi)容,更多關(guān)于python 實(shí)現(xiàn)關(guān)聯(lián)規(guī)則算法Apriori的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
pycharm進(jìn)行Git關(guān)聯(lián)和取消方式
這篇文章主要介紹了pycharm進(jìn)行Git關(guān)聯(lián)和取消方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-06-06
Python實(shí)現(xiàn)Web應(yīng)用國際化i18n的示例詳解
這篇文章主要為大家詳細(xì)介紹了如何基于Python的gettext模塊,實(shí)現(xiàn)一個(gè)靈活、可擴(kuò)展的多語言支持系統(tǒng),文中的示例代碼講解詳細(xì),有需要的可以參考下2025-02-02
pytorch如何定義新的自動(dòng)求導(dǎo)函數(shù)
這篇文章主要介紹了pytorch如何定義新的自動(dòng)求導(dǎo)函數(shù)問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。2022-12-12
基于Python實(shí)現(xiàn)帕累托圖的示例詳解
帕累托圖是一種特殊的直方圖, 在項(xiàng)目管理知識(shí)體系中屬于質(zhì)量管理的工具。本文為大家整理了Python實(shí)現(xiàn)帕累托圖的方法,需要的可以參考一下2023-03-03
python?open讀取文件內(nèi)容時(shí)的mode模式解析
這篇文章主要介紹了python?open讀取文件內(nèi)容時(shí)的mode模式解析,Python可以使用open函數(shù)來實(shí)現(xiàn)文件的打開,關(guān)閉,讀寫操作,本文給大家介紹的非常詳細(xì),需要的朋友可以參考下2022-05-05

