成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

5分鐘掌握Python關聯規則分析

開發 后端
關聯規則分析也被稱為購物籃分析,用于分析數據集各項之間的關聯關系。

 1. 關聯規則

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

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

關聯規則分析也被稱為購物籃分析,用于分析數據集各項之間的關聯關系。

1.1 基本概念

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

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

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

1.2 關聯規則Apriori算法

關聯規則方法的步驟如下:

  •  發現頻繁項集
  •  找出關聯規則

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

下面是一個案例圖解:

  •  圖中有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實戰關聯規則

關聯規則目前在scikit-learn中并沒有實現。這里介紹另一個python庫mlxtend。

2.1 安裝

  1. pip install mlxtend 

2.2 簡單的例子

  •  來看下數據集: 
  1. import pandas as pd  
  2.  item_list = [['牛奶','面包'],  
  3.      ['面包','尿布','啤酒','土豆'],  
  4.      ['牛奶','尿布','啤酒','可樂'],  
  5.      ['面包','牛奶','尿布','啤酒'],  
  6.      ['面包','牛奶','尿布','可樂']]  
  7.  item_df = pd.DataFrame(item_list) 
  •  數據格式處理,傳入模型的數據需要滿足bool值的格式 
  1. from mlxtend.preprocessing import TransactionEncode  
  2.  te = TransactionEncoder()  
  3.  df_tf = te.fit_transform(item_list)  
  4.  df = pd.DataFrame(df_tf,columns=te.columns_)     

  • 計算頻繁項集

 

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

  •  計算關聯規則   
  1. from mlxtend.frequent_patterns import association_rules  
  2.     # metric可以有很多的度量選項,返回的表列名都可以作為參數  
  3.     association_rule = association_rules(frequent_itemsets,metric='confidence',min_threshold=0.9)  
  4.     #關聯規則可以提升度排序  
  5.     association_rule.sort_values(by='lift',ascending=False,inplace=True)   
  6.     association_rule  
  7.     # 規則是:antecedents->consequents  

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

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

3. 總結

本分介紹關聯規則的基本概念和經典算法Apriori,以及python的實現庫mlxtend使用。

總結如下:

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

 

責任編輯:龐桂玉 來源: Python中文社區 (ID:python-china)
相關推薦

2018-05-06 16:26:03

關聯規則數據分析關聯規則推薦

2020-12-17 10:00:16

Python協程線程

2021-01-29 11:25:57

Python爬山算法函數優化

2020-12-07 11:23:32

Scrapy爬蟲Python

2021-03-23 15:35:36

Adam優化語言

2017-01-10 09:07:53

tcpdumpGET請求

2020-10-27 10:43:24

Redis字符串數據庫

2020-11-24 11:50:52

Python文件代碼

2020-12-01 12:44:44

PythonHook鉤子函數

2021-06-07 09:51:22

原型模式序列化

2009-11-17 14:50:50

Oracle調優

2018-01-30 05:04:06

2021-04-19 23:29:44

MakefilemacOSLinux

2012-06-28 10:26:51

Silverlight

2025-01-24 08:38:47

2020-09-11 09:35:18

前端JavaScript策略模式

2021-04-27 10:16:51

優化機器學習人工智能

2009-11-05 10:55:22

Visual Stud

2021-01-11 09:33:37

Maven數目項目

2022-05-30 07:51:13

數據庫MySQLQPS
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 精品久久久久久久久久久久久久久久久 | 久久乐国产精品 | 午夜精品一区二区三区免费视频 | av播播| 成人黄色三级毛片 | 亚洲人成在线播放 | 精品一区二区视频 | 成人在线中文字幕 | 亚洲一区二区精品视频 | 日本又色又爽又黄又高潮 | 99免费在线观看 | 欧美久久精品一级黑人c片 91免费在线视频 | 亚洲日本视频 | 久久亚洲天堂 | 欧美日韩一卡 | 免费在线看黄视频 | 午夜欧美a级理论片915影院 | 成人二区 | 精品伊人久久 | 久久久久久亚洲精品 | 成人在线不卡 | 亚洲激情第一页 | 精品久久久久久久久久久 | 日韩色综合 | 激情av免费看 | 久久婷婷av | 国产精品日日夜夜 | 精品国产欧美一区二区三区成人 | 日韩一区二区福利视频 | 欧美精品综合 | 男女视频在线免费观看 | 亚洲黄色av | 喷潮网站 | 一区二区三区免费 | 男插女下体视频 | 久久久久久国产免费视网址 | 欧美精品a∨在线观看不卡 国产精品久久国产精品 | 国产视频亚洲视频 | 日本不卡一区二区三区 | 一区二区三区免费观看 | 在线免费观看视频你懂的 |