提到數據挖掘,我們的第一個反應是之前的啤酒和尿布的故事聽說過,這個故事是一個典型的數據挖掘關聯規則。籃分析的傳統線性回歸之間的主要差別的差別,對於離散數據的相關性分析;
常見的關聯規則:
關聯規則:牛奶=>卵子【支撐=2%,置信度=60%】
支持度:分析中的所有事務的2%同一時候購買了牛奶和雞蛋,需設定域值,來限定規則的產生。
置信度:購買了牛奶的筒子有60%也購買了雞蛋,需設定域值,來限定規則的產生。
最小支持度閾值和最小置信度閾值:由挖掘者或領域專家設定。
與關聯分析相關的專業術語包含:
項集:項(商品)的集合
k-項集:k個項組成的項集
頻繁項集:滿足最小支持度的項集。頻繁k-項集一般記為Lk
強關聯規則:滿足最小支持度閾值和最小置信度閾值的規則
接下來以兩步法為例。揭秘下關聯分析的做法:
例如以下有9個購物籃(T100-T900):兩步法先找出全部的頻繁項集;第二步再由頻繁項集產生強關聯規則。

算法步驟:
Step1:掃描D,對每一個候選項計數,生成候選1-項集C1。並算出每項的關聯度計數(即該項出現的頻數); Step2:定義最小支持度閥值為2(即剔除頻數低於2的項),記剩余的項集為L1。 Step3:由L1 兩兩配對生成新的2-項集C2。 Step4:掃描D。對C2里每一個項計數,定義最小支持度閥值為2(即剔除頻數低於2的項),記剩余的項集為2-項集L2; Step5:由L2 兩兩配對生成新的3-項集C3。 ……如此循環,直至出現最大的n-項集結束。
以上述樣例為例,圖解步驟例如以下:
如圖為例,我們計算頻繁項集{I1,I2,I5}。能夠發現I1^I2=>I5,因為{I1,I2,I5}出現了2次。{I1,I2}出現了4次,故置信度為2/4=50%
類似能夠算出:

利用R進行購物籃分析,R中關聯分析函數為arules,我們採用內置的Groceries的數據集(例如以下)。
Inspect(Groceries)
詳細的R語言實現例如以下:
library(arules) data(Groceries) frequentsets=eclat(Groceries,parameter=list(support=0.05,maxlen=10)) inspect(sort(frequentsets,by="support")[1:10]) #依據支持度對求得的頻繁項集排序
結果例如以下:可見全部的關聯規則的排名:
接下來以閥值挑選我們的須要的關聯項:
rules=apriori(Groceries,parameter=list(support=0.01,confidence=0.5)) inspect(rules)
由此可見購物籃就完畢,當中lift是相關度指標,lift=1表示L和R獨立,lift越大表明L和R在同一購物籃絕非偶爾現象,更加支持我們的購物籃決策。
版權聲明:本文博主原創文章,博客,未經同意不得轉載。
