資料探勘 關聯規則挖掘

2021-06-13 14:40:48 字數 2382 閱讀 4031

關聯規則(association rule)是資料中所蘊含的一類重要規律。關聯規則挖掘的目標是在資料專案中找出所有的併發關係(cooccurrence relationships),這種關係也稱為關聯(association)。關聯規則挖掘的經典應用是購物籃(market basket), 關聯規則挖掘並沒有考慮客戶購買商品時的順序。

在介紹關聯規則挖掘演算法前,我們先了解一些相關的概念。

關聯規則的基本概念

關聯規則挖掘問題通常可以表述為:i=是乙個專案(item)集合,t= 是乙個事務(transaction)集合,其中每個事務ti是乙個專案集合, 並且滿足ti屬於i。

乙個關聯規則是乙個如下形式蘊含的關係x—> y, 其中x是i的真子集,y也是i的真子集,並且x∩y=ф, x 或 y是乙個專案的集合, 稱作項集(itemset),並且x為前件,y為後件。

如果項集x是事務t的子集,x在t中的支援計數(表示為x.count)是t中包含x的事務數目。

支援度(support):定義為 supp(x) = x.count / count(d) = p(x)

置信度:一條規則x—> y的置信度指的是「既包含了x又包含了y的事務數量佔所有包含了x的事務的百分比」,可以看作是條件概率p(y|x)

置信度定義為定義為 conf(x->y) = supp(x ∪ y) / supp(x) = p(y|x)。

候選集(candidate itemset):通過向下合併得出的項集。定義為c[k]。

頻繁集(frequent itemset):支援度大於等於特定的最小支援度(minimum support/minsup)的項集。表示為l[k]。注意,頻繁集的子集一定是頻繁集。

提公升比率(提公升度lift):lift(x -> y) = lift(y -> x) = conf(x -> y)/supp(y) = conf(y -> x)/supp(x) = p(x and y)/(p(x)p(y))

支援度表示乙個事物發生的概率, 而置信度表示兩個事物的關聯強度。

關聯規則挖掘的目標:給定乙個事務集t,關聯規則挖掘是指"找出t中所有滿足支援度和置信度分別高於乙個使用者指定的最小支援度(minsup)和最小置信度(minconf)的關聯規則"

apriori演算法(演繹演算法)

關聯規則挖掘演算法的設計可以分解為兩個子問題:

1.生成所有頻繁專案集:即

找到所有支援度大於最小支援度的項集(itemset)。

2.從頻繁專案集中生成所有可信關聯規則:

即從步驟1中選出置信度大於最小置信度的項。

apriori演算法中假定項集i中的專案都採用了字典排序,這個很重要,因此在實現apriori演算法的時候,對專案的編碼很重要。

frequent-itemset-gen(t)

c[1]<--init-pass(t); //對事務集t進行第一輪搜尋,生成1-候選集

f[1]<-- //從1-候選集中選出1-頻繁集

for(k=2; f[k-1]<>null; k++)

}f[k]<--

}return f<-- uf[k]

candidate-gen(f[k-1])

c[k] <---null; //初始化k-候選項集

for all f1, f2 屬於f[k-1]

with f1=

f2=and ik-1 < i`k-1 //找出所有的「只有最後一項不同的k-1頻繁專案對」

; //根據字典序合併兩個k-1項,組成k候選項

c[k].add(c);

for each (k-1)-subset s of c //將c中取人以k-1個項,形成k-1子項

}}return c[k]

genrules(f)

for (屬於f的每個k-頻繁專案 f[k], k>=2)

-);ap-genrules(f[k], h[1] );

}

ap-genrules(f[k], h[m])

if (k > m + 1 && h[m]<> null)

else

}ap-enrules(f[k], h[m+1]);

}

關聯規則挖掘

關聯規則反映事物之間的相互依存性和關聯性。如果事物之間存在一定的關聯,那麼我們就可以通過乙個事物去 另乙個事物。我們要挖掘大量資料中人們感興趣的,有價值的資訊,包括概念,規則,規律等。關聯規則 發現資料中的規律 超市中什麼產品會 起購買?組合推薦 顧客在買了 臺pc之後下 步會購買?搭配推薦 哪種d...

關聯規則挖掘

直接用例項來解釋概念更清楚一些,加入資料庫中存在10條交易記錄 transaction 具體如下表所示 交易id tid 購買商品 items b bread c cream m milk t tea t01b c m t t02b c m t03c m t04m t t05b c m t06b t...

關聯規則挖掘

1.基本概念 關聯規則挖掘是指尋找給定資料集中項之間的有趣關聯或相關聯絡。可以幫助許多決策的制定,如分類設計 交叉購物和賤賣分析。典型的例子就是購物籃分析。2.關聯規則的步驟 1 找出所有的頻繁項集 這些項集出現的頻繁性至少和預定義的最小支援數一樣 2 由頻繁項集產生強關聯規則 這些規則必須滿足最小...