原文鏈接:http://tecdat.cn/?p=7939
數據科學Apriori算法是一種數據挖掘技術,用於挖掘頻繁項集和相關的關聯規則。本模塊重點介紹什么是關聯規則挖掘和Apriori算法,以及Apriori算法的用法。此外,在小型企業場景中,我們將借助Python編程語言構建一個Apriori模型。
什么是關聯規則挖掘?
如前所述,Apriori算法用於關聯規則挖掘。現在,什么是關聯規則挖掘?關聯規則挖掘是一種用於識別一組項目之間的頻繁模式和關聯的技術。
例如,了解客戶的購買習慣。通過查找顧客放置在其“購物籃”中的不同商品之間的關聯和關聯,可以得出重復的模式.
識別產品/商品之間的關聯的過程稱為關聯規則挖掘。為了實現關聯規則挖掘,已經開發了許多算法。Apriori算法是其中最受歡迎的算法,而且可以說是最有效的算法。讓我們討論什么是Apriori算法。
什么是先驗算法?
Apriori算法假定頻繁項集的任何子集都必須是頻繁的。
假設包含{葡萄酒,薯條,面包}的交易也包含{葡萄酒,面包}。因此,根據Apriori原理,如果{酒,薯條,面包}很頻繁,那么{酒,面包}也必須很頻繁。
Apriori算法如何工作?
Apriori算法中的關鍵概念是,它假定一個頻繁項集的所有子集都是頻繁的。同樣,對於任何不頻繁的項目集,其所有超集也必須不頻繁。
讓我們在一個非常著名的業務場景市場籃分析的幫助下,嘗試並理解Apriori算法的工作原理。
這是一個小時內包含六個事務的數據集。每個事務都是0和1的組合,其中0表示不存在某項,而1表示其存在。
交易編號 | 葡萄酒 | 薯片 | 面包 | 牛奶 |
1 | 1個 | 1個 | 1個 | 1個 |
2 | 1個 | 0 | 1個 | 1個 |
3 | 0 | 0 | 1個 | 1個 |
4 | 0 | 1個 | 0 | 0 |
5 | 1個 | 1個 | 1個 | 1個 |
6 | 1個 | 1個 | 0 | 1個 |
我們可以從這種情況下找到多個規則。例如,在葡萄酒,薯條和面包的交易中,如果購買了葡萄酒和薯條,那么客戶也會購買面包。
{葡萄酒,薯條} => {面包}
現在我們知道了找出有趣規則的方法,讓我們回到示例中。在開始之前,讓我們將支持閾值固定為50%。
步驟1:創建所有交易中出現的所有項目的頻率表
項目 | 頻率 |
葡萄酒 | 4 |
薯片 | 4 |
面包 | 4 |
牛奶 | 5 |
步驟2:根據支持閾值查找重要項目
支持閾值= 3
項目 | 頻率 |
葡萄酒 | 4 |
薯片 | 4 |
面包 | 4 |
牛奶 | 5 |
步驟3:從重要的項目開始,使成對的商品與訂單無關
項目 | 頻率 |
葡萄酒,薯條 | 3 |
葡萄酒,面包 | 3 |
葡萄酒,牛奶 | 4 |
薯條,面包 | 2 |
薯片,牛奶 | 3 |
面包,牛奶 | 4 |
步驟4:根據支持閾值找到重要項目
項目 | 頻率 |
葡萄酒,牛奶 | 4 |
面包,牛奶 | 4 |
第5步:根據第4步中的重要商品,三件一起購買的商品
項目 | 頻率 |
葡萄酒,面包,牛奶 | 3 |
{酒,面包,牛奶}是從給定數據中獲得的唯一重要項目集。但是在實際場景中,我們將有數十個項目可用來構建規則。然后,我們可能必須制作四對/五對項集。
Python中的Apriori算法-市場籃子分析
問題陳述
一家零售商店的經理正在嘗試找出六個商品之間的關聯規則,以找出哪些商品更經常一起購買,以便他可以將這些商品放在一起以增加銷量。
數據集
以下是第一天的交易數據。此數據集包含6個項目和22個交易記錄。
使用Python進行市場購物籃分析
我們將實現Apriori算法,以幫助經理進行市場分析。
步驟1:導入庫
步驟2:載入資料集
步驟3:瀏覽記錄
步驟4:查看
步驟5: 將Pandas DataFrame轉換為列表列表
步驟6:建立Apriori模型
步驟7:打印出規則數量
步驟8:瀏覽規則
第一條規則的支持值為0.5。該數字是通過將包含“牛奶”,“面包”和“黃油”的交易數量除以交易總數而得出的。
該規則的置信度為0.846,這表明在同時包含“牛奶”和“面包”的所有交易中,也有84.6%的交易包含“黃油”。
提升1.241告訴我們,同時購買“牛奶”和“黃油”的顧客購買“黃油”的可能性是“黃油”的默認可能性的1.241倍。