資料集:屬性之間有依賴性的資料集
方法:針對每個可能出現在規則右邊的表示式執行乙個分治的規則歸納過程。
特點:能夠**任何屬性而不僅僅是類,同時也能**屬性的組合。
想法:根據原始資料產生達到指定最小覆蓋量(或者支援度)的項集,然後從每乙個項集中找出能夠達到最小準確率(或者置信度)的規則。
樣本資料:
以天氣資料為例,如下:
outlook
(attribute)
temperature
(attribute)
humidity
(attribute)
windy
(attribute)
play
(category)
sunny
hothigh
false no
sunny
hothigh
true no
overcast
hothigh
false
yesrainy
mild
high
false
yesrainy
cool
normal
false
yesrainy
cool
normal
true no
overcast
cool
normal
true
yessunny
mild
high
false no
sunny
cool
normal
false
yesrainy
mild
normal
false
yessunny
mild
normal
true
yesovercast
mild
high
true
yesovercast
hotnormal
false
yesrainy
mild
high
true no
演算法實現:
下面介紹乙個實現的演算法,如下:
(1) 建立項集。
a.建立1項集。統計每個屬性值在資料集上出現的次數,將合格(大於最小覆蓋量)的1項集儲存在雜湊表中。
b.建立2項集。將1項集中的單個項進行配對,然後在遍歷一次資料集,統計每個2項集的覆蓋量,最終將合格
(大於最小覆蓋量)的2項集儲存在雜湊表中。在進行單個項的配對時,沒有必要建立乙個包含兩個相同屬性的2項集。
c.依次建立後續的n項集。
產生的資料如下:編號
1項集 數量
2項集
數量 3項集
數量 4
項集 數量
1outlook=sunny
5outlook=sunny
temperature=mild
2outlook=sunny
temperature=mild
humidity=high
2outlook=sunny
temperature=mild
humidity=high
play=no2…
…………
…………
38 humidity=normal
windy=false
4humidity=normal
windy=false
play=yes4
…………………
……47
windy=false
play=no2
(2) 項集轉化成規則。有些項集產生多個規則,而另一些項集根本不產生任何規則。
例如,我們以編號38的3項集為例子
,humidity=normal,
windy=false,
play=yes,這個3項集將產生7個潛在的規則,如下:
潛在規則
準確率
if humidity=normal then windy=false and play=yes
4/7if windy=false then humidity=normal and play=yes
4/8if play=yes then
humidity
=normal and
windy=false
4/9
if humidity=normal
and
windy=false then
play=yes
4/4
if humidity=normal
and play=yesthen
windy=false
4/6
if windy=falseand play=yesthen
humidity=normal
4/7
if - then humidity=normal and
windy=false and
play=yes
4/14
其中,準確率=三個條件都滿足時的例項數目(即覆蓋量)/條件滿足時的例項數量*100%。最後乙個規則不存在條件,它的分母是資料集中例項的總數。
(3) 生成最終規則集。
根據每乙個項集生成的潛在規則,選擇能夠達到最小準確率的規則,形成最終的規則集。
總結:建立關聯規則所需要的計算量取決於指定的最小覆蓋量,準確率的影響比較小。很多情況下,我們需要在滿足指定的最小準確率下,獲得一定數量的覆蓋量最大的規則。處理方法是指定乙個較高的覆蓋量,然後逐漸降低,對於每乙個覆蓋量,重複執行整個尋找規則的演算法,直到達到所要求的規則數量為止。
關聯規則挖掘 基本概念
本文主要來自 資料倉儲和資料探勘 一書,這本書講的和維基百科裡的非常相似,懷疑是從某本外文書籍裡翻譯過來的。關聯規則挖掘 association rule mining 是資料探勘中最活躍的研究方法之一,可以用來發現事情之間的聯絡,最早是為了發現超市交易資料庫中不同的商品之間的關係。這裡有一則沃爾瑪...
關聯規則的基本思想
2.原理 在學習關聯規則之前,首先要知道一大堆的定義。num雞蛋 牛奶啤酒 尿布飲料t10 1100 t2110 01t30 1010 每一行是購買記錄,每一列是對應物品。每一列看作乙個項,每一行看作乙個事務。乙個事務有幾個項,事務的寬度就是多少。t1的寬度是2,t2的寬度是3 t3的寬度是2。數學...
關聯規則方法之apriori演算法
apriori algorithm是關聯規則裡一項基本演算法,是由rakesh agrawal和ramakrishnan srikant兩位博士在1994年提出的關聯規則挖掘演算法。關聯規則的目的就是在乙個資料集中找出項與項之間的關係,也被稱為購物藍分析 market basket analysis...