色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術文章
文章詳情頁

詳解Python 關聯(lián)規(guī)則分析

瀏覽:21日期:2022-06-24 14:41:31
1. 關聯(lián)規(guī)則

大家可能聽說過用于宣傳數(shù)據(jù)挖掘的一個案例:啤酒和尿布;據(jù)說是沃爾瑪超市在分析顧客的購買記錄時,發(fā)現(xiàn)許多客戶購買啤酒的同時也會購買嬰兒尿布,于是超市調整了啤酒和尿布的貨架擺放,讓這兩個品類擺放在一起;結果這兩個品類的銷量都有明顯的增長;分析原因是很多剛生小孩的男士在購買的啤酒時,會順手帶一些嬰幼兒用品。

不論這個案例是否是真實的,案例中分析顧客購買記錄的方式就是關聯(lián)規(guī)則分析法Association Rules。

關聯(lián)規(guī)則分析也被稱為購物籃分析,用于分析數(shù)據(jù)集各項之間的關聯(lián)關系。

1.1 基本概念 項集:item的集合,如集合{牛奶、麥片、糖}是一個3項集,可以認為是購買記錄里物品的集合。 頻繁項集:顧名思義就是頻繁出現(xiàn)的item項的集合。如何定義頻繁呢?用比例來判定,關聯(lián)規(guī)則中采用支持度和置信度兩個概念來計算比例值 支持度:共同出現(xiàn)的項在整體項中的比例。以購買記錄為例子,購買記錄100條,如果商品A和B同時出現(xiàn)50條購買記錄(即同時購買A和B的記錄有50),那邊A和B這個2項集的支持度為50%

詳解Python 關聯(lián)規(guī)則分析

置信度:購買A后再購買B的條件概率,根據(jù)貝葉斯公式,可如下表示:

詳解Python 關聯(lián)規(guī)則分析

提升度:為了判斷產生規(guī)則的實際價值,即使用規(guī)則后商品出現(xiàn)的次數(shù)是否高于商品單獨出現(xiàn)的評率,提升度和衡量購買X對購買Y的概率的提升作用。如下公式可見,如果X和Y相互獨立那么提升度為1,提升度越大,說明X->Y的關聯(lián)性越強

詳解Python 關聯(lián)規(guī)則分析

1.2 關聯(lián)規(guī)則Apriori算法

關聯(lián)規(guī)則方法的步驟如下:

發(fā)現(xiàn)頻繁項集 找出關聯(lián)規(guī)則

Apriori算法是經典的關聯(lián)規(guī)則算法。Apriori算法的目標是找到最大的K項頻繁集。Apriori算法從尋找1項集開始,通過最小支持度閾值進行剪枝,依次尋找2項集,3項集直到沒有更過項集為止。

下面是一個案例圖解:

詳解Python 關聯(lián)規(guī)則分析

圖中有4個記錄,記錄項有1,2,3,4,5若干 首先先找出1項集對應的支持度(C1),可以看出4的支持度低于最小支持閾值,先剪掉(L1)。 從1項集生成2項集,并計算支持度(C2),可以看出(1,5)(1,2)支持度低于最小支持閾值,先剪掉(L2) 從2項集生成3項集,(1,2,3)(1,2,5)(2,3,5)只有(2,3,5)滿足要求 沒有更多的項集了,就定制迭代 2. mlxtend實戰(zhàn)關聯(lián)規(guī)則

關聯(lián)規(guī)則目前在scikit-learn中并沒有實現(xiàn)。這里介紹另一個python庫mlxtend。

2.1 安裝

pip install mlxtend2.2 簡單的例子

來看下數(shù)據(jù)集:

import pandas as pditem_list = [[’牛奶’,’面包’], [’面包’,’尿布’,’啤酒’,’土豆’], [’牛奶’,’尿布’,’啤酒’,’可樂’], [’面包’,’牛奶’,’尿布’,’啤酒’], [’面包’,’牛奶’,’尿布’,’可樂’]]item_df = pd.DataFrame(item_list)

數(shù)據(jù)格式處理,傳入模型的數(shù)據(jù)需要滿足bool值的格式

from mlxtend.preprocessing import TransactionEncodete = TransactionEncoder()df_tf = te.fit_transform(item_list)df = pd.DataFrame(df_tf,columns=te.columns_)

詳解Python 關聯(lián)規(guī)則分析

計算頻繁項集

from mlxtend.frequent_patterns import apriori# use_colnames=True表示使用元素名字,默認的False使用列名代表元素, 設置最小支持度min_supportfrequent_itemsets = apriori(df, min_support=0.05, use_colnames=True)frequent_itemsets.sort_values(by=’support’, ascending=False, inplace=True)# 選擇2頻繁項集print(frequent_itemsets[frequent_itemsets.itemsets.apply(lambda x: len(x)) == 2])

詳解Python 關聯(lián)規(guī)則分析

計算關聯(lián)規(guī)則

from mlxtend.frequent_patterns import association_rules# metric可以有很多的度量選項,返回的表列名都可以作為參數(shù)association_rule = association_rules(frequent_itemsets,metric=’confidence’,min_threshold=0.9)#關聯(lián)規(guī)則可以提升度排序association_rule.sort_values(by=’lift’,ascending=False,inplace=True) association_rule# 規(guī)則是:antecedents->consequents

詳解Python 關聯(lián)規(guī)則分析

選擇出來關聯(lián)規(guī)則之后,根據(jù)提升度排序后,可能最高提升度的規(guī)則是在我們常識范圍內,那這個規(guī)則的價值就不高。所以我們要在產生的規(guī)則中根據(jù)業(yè)務特點進行篩選,像開篇提到(啤酒->尿布)完全不同的品類之間的關聯(lián)。

筆者最近用關聯(lián)規(guī)則分析用戶的體檢報告記錄,也得出了關于各個病癥的有意義的關聯(lián),如并發(fā)癥,不同病癥相互影響等。

3. 總結

本分介紹關聯(lián)規(guī)則的基本概念和經典算法Apriori,以及python的實現(xiàn)庫mlxtend使用。

總結如下:

關聯(lián)規(guī)則用于分析數(shù)據(jù)集各項之間的關聯(lián)關系,想一想啤酒和尿布的故事 三個重要概念:支持度,置信度和提升度 Apriori通過迭代先找1項集,用支持度過濾項集,逐步找出所有k項集 用置信度或提升度來選擇滿足的要求的規(guī)則 mlxtend對數(shù)據(jù)要求轉換成bool值才可用

以上就是詳解Python 關聯(lián)規(guī)則分析的詳細內容,更多關于Python 關聯(lián)規(guī)則分析的資料請關注好吧啦網其它相關文章!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 国产老鸭窝毛片一区二区 | 国产舐足视频在线观看 | 亚洲免费一区 | 日韩在线手机看片免费看 | 久青草国产手机在线观 | 国产成人亚洲合集青青草原精品 | 91aaa免费免费国产在线观看 | 欧美日韩高清性色生活片 | 成人在线免费视频 | 欧美亚洲一区 | 日韩啪 | 欧美国产综合在线 | 女女同性一区二区三区四区 | 怡红院免费全部视频在线 | 国产在线精品一区二区 | 亚洲一区二区三区四区五区 | 国产综合成人亚洲区 | 国产精品亚洲欧美日韩久久 | 2020久久国产最新免费观看 | 99热久久国产精品这 | 美女视频黄色的免费 | 亚洲成a人不卡在线观看 | 久久精品视频久久 | 手机看片国产 | 奇米网狠狠干 | 欧美精品三区 | 91亚洲精品一区二区在线观看 | 成人国产精品免费视频不卡 | 免费中文字幕在线 | 国产成人精品久久二区二区 | 成人网18免费看 | 日韩一级特黄毛片在线看 | 久久国产亚洲欧美日韩精品 | 大香伊蕉国产短视频69 | 免费观看性欧美毛片 | 玖草在线| 在线观看一二三区 | 国产成人av性色在线影院 | 免费看欧美毛片大片免费看 | 亚洲免费视频播放 | 毛片网站大全 |