全面解析電商數據挖掘之關聯算法

所謂關聯,反映的是一個事件和其他事件之間依賴或關聯的知識。當我們查找英文文獻的時候,可以發現有兩個英文詞都能形容關聯的含義。第一個是相關性relevance,第二個是關聯性association,兩者都可以用來描述事件之間的關聯程度。其中前者主要用在互聯網的內容和文檔上,比如搜索引擎算法中文檔之間的關聯性,我們採用的詞是relevance;而後者往往用在實際的事物之上,比如電子商務網站上的商品之間的關聯度我們是用association來表示的,而關聯規則是用association rules來表示的。


全面解析電商數據挖掘之關聯算法


如果兩項或多項屬性之間存在關聯,那麼其中一項的屬性值就可以依據其他屬性值進行預測。簡單地來說,關聯規則可以用這樣的方式來表示:A→B,其中A被稱為前提或者左部(LHS),而B被稱為結果或者右部(RHS)。如果我們要描述關於尿布和啤酒的關聯規則(買尿布的人也會買啤酒),那麼我們可以這樣表示:買尿布→買啤酒。

關聯算法的兩個概念

在關聯算法中很重要的一個概念是支持度(Support),也就是數據集中包含某幾個特定項的概率。比如在1000次的商品交易中同時出現了啤酒和尿布的次數是50次,那麼此關聯的支持度為5%。和關聯算法很相關的另一個概念是置信度(Confidence),也就是在數據集中已經出現A時,B發生的概率,置信度的計算公式是:A與B同時出現的概率/A出現的概率。

數據關聯是數據庫中存在的一類重要的可被發現的知識。若兩個或多個變量的取值之間存在某種規律性,就稱為關聯。關聯可分為簡單關聯、時序關聯、因果關聯等。關聯分析的目的是找出數據庫中隱藏的關聯網。有時並不知道數據庫中數據的關聯函數,或者即使知道也是不確定的,因此關聯分析生成的規則帶有置信度。

關聯規則挖掘發現大量數據中項集之間有趣的關聯或相關聯繫。它在數據挖掘中是一個重要的課題,最近幾年被業界所廣泛研究。

關聯規則挖掘的一個典型例子是購物籃分析。關聯規則研究有助於發現交易數據庫中不同商品(項)之間的聯繫,找出顧客購買行為模式,如購買了某一商品對購買其他商品的影響。分析結果可以應用於商品貨架佈局、貨存安排以及根據購買模式對用戶進行分類。

規則的發現過程可分為如下兩步:

第一步是迭代識別所有的頻繁項目集(Frequent Itemsets),要求頻繁項目集的支持度不低於用戶設定的最低值;

第二步是從頻繁項目集中構造置信度不低於用戶設定的最低值的規則,產生關聯規則。識別或發現所有頻繁項目集是關聯規則發現算法的核心,也是計算量最大的部分。

支持度和置信度兩個閾值是描述關聯規則的兩個最重要的概念。一項目組出現的頻率稱為支持度,反映關聯規則在數據庫中的重要性。而置信度衡量關聯規則的可信程度。如果某條規則同時滿足最小支持度(min-support)和最小置信度(min-confidence),則稱它為強關聯規則。

關聯規則數據挖掘階段

第一階段必須從原始資料集合中,找出所有高頻項目組(LargeItemsets)。高頻的意思是指某一項目組出現的頻率相對於所有記錄而言,必須達到某一水平。以一個包含A與B兩個項目的2-itemset為例,我們可以求得包含{A,B}項目組的支持度,若支持度大於等於所設定的最小支持度(MinimumSupport)門檻值時,則{A,B}稱為高頻項目組。一個滿足最小支持度的k-itemset,則稱為高頻k-項目組(Frequentk-itemset),一般表示為Large k或Frequent k。算法並從Large k的項目組中再試圖產生長度超過k的項目集Largek+1,直到無法再找到更長的高頻項目組為止。

關聯規則挖掘的第二階段是要產生關聯規則。從高頻項目組產生關聯規則,是利用前一步驟的高頻k-項目組來產生規則,在最小可信度(MinimumConfidence)的條件門檻下,若一規則所求得的可信度滿足最小可信度,則稱此規則為關聯規則。

例如:經由高頻k-項目組{A,B}所產生的規則,若其可信度大於等於最小可信度,則稱{A,B}為關聯規則。

就“啤酒+尿布”這個案例而言,使用關聯規則挖掘技術,對交易資料庫中的記錄進行資料挖掘,首先必須要設定最小支持度與最小可信度兩個門檻值,在此假設最小支持度min-support=5%且最小可信度min-confidence=65%。因此符合需求的關聯規則將必須同時滿足以上兩個條件。若經過挖掘所找到的關聯規則

{尿布,啤酒}滿足下列條件,將可接受{尿布,啤酒} 的關聯規則。用公式可以描述為:

Support(尿布,啤酒)≥5% and Confidence(尿布,啤酒)≥65%。

其中,Support(尿布,啤酒)≥5%於此應用範例中的意義為:在所有的交易記錄資料中,至少有5%的交易呈現尿布與啤酒這兩項商品被同時購買的交易行為。Confidence(尿布,啤酒)≥65%於此應用範例中的意義為:在所有包含尿布的交易記錄資料中,至少有65%的交易會同時購買啤酒。

因此,今後若有某消費者出現購買尿布的行為,我們將可推薦該消費者同時購買啤酒。這個商品推薦的行為則是根據{尿布,啤酒}關聯規則而定,因為就過去的交易記錄而言,支持了“大部分購買尿布的交易,會同時購買啤酒”的消費行為。

從上面的介紹還可以看出,關聯規則挖掘通常比較適用於記錄中的指標取離散值的情況。

在此我向大家推薦一個大數據開發交流圈:658558542 裡面整理了一大份學習資料,全都是些乾貨,包括大數據技術入門,大數據離線處理、數據實時處理、Hadoop 、Spark、Flink、推薦系統算法以及源碼解析等,送給每一位大數據小夥伴,讓自學更輕鬆。這裡不止是小白聚集地,還有大牛在線解答!歡迎初學和進階中的小夥伴一起進群學習交流,共同進步!

如果原始數據庫中的指標值是取連續的數據,則在關聯規則挖掘之前應該進行適當的數據離散化(實際上就是將某個區間的值對應於某個值),數據的離散化是數據挖掘前的重要環節,離散化的過程是否合理將直接影響關聯規則的挖掘結果。

這一期則以數據實例來看最著名的Apriori關聯算法的演算過程。從一家公司的銷售記錄中我們找到以下8條消費記錄,並以3作為最小支持度,也就是說出現頻率在3次以下的記錄是被我們所忽略的。


全面解析電商數據挖掘之關聯算法


所有滿足最小支持度3的1項頻集如下,其中的支持度是指該產品在整個數據集中出現的次數。比如牛奶出現了5次,而冰淇淋出現了3次。


全面解析電商數據挖掘之關聯算法


遞歸執行,所有滿足最小支持度3的2項頻集如下,這其中出現最多的頻集是{牛奶,麵包}和{麵包,果醬},各自出現了4次。


全面解析電商數據挖掘之關聯算法


再次遞歸執行,所有滿足最小支持度3的3項頻集只剩下一條:


全面解析電商數據挖掘之關聯算法


那麼{牛奶,果醬,麵包}就是我們要的滿足最小支持度3的3項頻集,也就是說牛奶、果醬和麵包這三個商品是最經常被一起購買的。

概念層次的數據挖掘

在研究挖掘關聯規則的過程中,許多學者發現在實際應用中,對於很多應用來說,由於數據分佈的分散性,數比較少,所以很難在數據最細節的層次上發現一些強關聯規則。要想在原始的概念層次上發現強的(strong)和有意義的(interesting)關聯規則是比較困難的,因為好多項集往往沒有足夠的支持數。

當我們引入概念層次後,就可以在較高的層次上進行挖掘。雖然較高層次上得出的規則可能是更普通的信息,但是對於一個用戶來說是普通的信息,對於另一個用戶卻未必如此。所以數據挖掘應該提供這樣一種在多個層次上進行挖掘的功能。


全面解析電商數據挖掘之關聯算法


概念層次在要挖掘的數據庫中經常是存在的,比如在一個超市中會存在這樣的概念層次:蒙牛牌牛奶是牛奶,伊利牌牛奶是牛奶,王子牌餅乾是餅乾,康師傅牌餅乾是餅乾等。

如果我們只是在數據基本層發掘關係,{蒙牛牌牛奶,王子牌餅乾},{蒙牛牌牛奶,康師傅牌餅乾},{伊利牌牛奶,王子牌餅乾},{伊利牌牛奶,康師傅牌餅乾}都不符合最小支持度。不過如果我們上升一個層級,會發現{牛奶,餅乾}的關聯規則是有一定支持度的。

我們稱高層次的項是低層次項的父親層次(parent),這種概念層次關係通常用一個DAG(directed acyclic graph,有向無環圖)來表示。所謂有向無環圖是指,任意一條邊有方向,且不存在環路的圖。這樣我們就可以在較高的概念層次上發現關聯規則。

支持度的設置策略

根據規則中涉及的層次和多層關聯的規則,我們可以把關聯規則分為同層關聯規則和層間關聯規則。多層關聯規則的挖掘基本上可以沿用“支持度—置信度”的框架。不過,在支持度設置的問題上有一些要考慮的東西。

同層關聯規則可以採用兩種支持度策略:

統一的最小支持度。對於不同的層次,都使用同一個最小支持度。這樣對於用戶和算法實現來說都比較容易,但是弊端也是顯而易見的。

遞減的最小支持度。每個層次都有不同的最小支持度,較低層次的最小支持度相對較小。同時還可以利用上層挖掘得到的信息進行一些過濾的工作。層間關聯規則考慮最小支持度的時候,應該根據較低層次的最小支持度來定。

以上我們討論的基本上都是同一個字段的值之間的關係,比如用戶購買的物品。換句話說就是在單維或者叫維內的關聯規則,這些規則很多都是在交易數據庫中挖掘的。但是對於實際應用來說,多維的關聯規則可能是更加有價值的。

同時,在挖掘維間關聯規則和混合維關聯規則的時候,還要考慮不同的字段種類,是分類型數據還是數值型數據等等。

感謝您的觀看,如有不足之處,歡迎批評指正。

對大數據感興趣的同學可以關注我,並在後臺私信發送關鍵字:“大數據”即可獲取免費的大數據學習資料。

知識體系已整理好(筆記,PPT,學習視頻),歡迎大家來領取!


分享到:


相關文章: