資料探勘關聯規則挖掘FPtree的思想

2021-10-10 05:55:00 字數 2459 閱讀 8479

fptree是針對apriori關聯規則挖掘演算法的改進,他的優點在於只需要掃瞄一遍資料庫,建好了fptree之後,基於樹做關聯規則挖掘就可以了,顯然大大減少了資料庫的掃瞄次數。

在掃瞄左邊一條一條資料的時候,我們完成項頭表,即記錄了頻繁1項集,不但如此,還記錄這些頻繁1項集誰最頻繁,也就是次數,比如a出現了8次。

接下來我們將左邊每一條資料進行一定的處理,這個處理包括兩部分:

把非頻繁1項集刪去,因為頻繁k項集中一定不會出現這個項,留著對我們關聯規則挖掘也沒有用。比如a,b,c,e,f,o變成a,b,c,e,f。

完成了1之後,我們把那個交易記錄排一下序,由於c出現8次比b多,所以a,b,c,e,f變成a,c,e,b,f。這一步非常非常關鍵,後面即可知道

根據排序後的交易記錄建樹。

a,c,g,這裡大家觀察一下,節點被經歷了多少次是要計數的,下圖可以發現,a,c都變成了被經歷了2次。

前面一直都是合情合理,卻不知道為什麼要這樣的資料結構,這全都是因為這裡的需要。下面我們基於上面生成的fptree進行關聯規則挖掘。

我們先從上面的f節點看起,對應唯一一條路徑。這其實給我們的直觀理解就是:a,c,e,b,f在所有交易記錄**現了2次。由於我們的最小支援度是2,所以這就是頻繁5項集了。不過,具體做法是,我們定義f的條件模式基為:,不寫自身節點f,所以才叫基。

我們知道是頻繁5項集,根據apriori演算法,所有子集都是頻繁項集,比如頻繁2項集有:,,,。其實顯然我們知道還有,但是我們在此處不寫,因為這裡如果挖掘了,等到我們下次處理節點e的時候,會重複,到時候又要去重。總之,這裡的頻繁k項集都要帶著f,再比如頻繁3項集有:。但是不可以。

f挖掘完了,我們開始挖掘d節點。d節點比f節點複雜一些,因為它有兩個葉子節點,因此首先得到的fp子樹如下圖左。仿照前面,直觀理解,我們可以得到:,。合併一下。這裡為什麼去除e,g,想必你很容易理解。通過,我們很容易得到d的頻繁2項集為,。遞迴合併二項集,得到頻繁三項集為。d對應的最大的頻繁項集為頻繁3項集。

同樣的方法可以得到b的條件模式基如下圖右邊,遞迴挖掘到b的最大頻繁項集為頻繁4項集。

挖掘g的頻繁項集。這裡稍微注意一下,可以好好理解一下。挖掘到的g的條件模式基如下圖右邊,遞迴挖掘到g的最大頻繁項集為頻繁4項集。並且這個出現4次。

e的條件模式基如下圖右邊,遞迴挖掘到e的最大頻繁項集為頻繁3項集。

c的條件模式基如下圖右邊,遞迴挖掘到c的最大頻繁項集為頻繁2項集。

至於a,由於它的條件模式基為空,因此可以不用去挖掘了。其實前面的很多頻繁項集都包括了a,所以不用向下挖掘,是重複的

至此我們得到了所有的頻繁項集。乙個問題,我們注意到:我們是按項頭表逆序來依次挖掘的,因為這些一般在葉子節點。比如f,d。。。的順序依次挖掘。可否反著來的,或者亂序來呢?大家可以試一試,反著來應該是可以的,但是處理步驟更複雜。

這裡我們對fp tree演算法流程做乙個歸納。fp tree演算法包括三步:

1)掃瞄資料,得到所有頻繁一項集的的計數。然後刪除支援度低於閾值的項,將1項頻繁集放入項頭表,並按照支援度降序排列。

2)掃瞄資料,將讀到的原始資料剔除非頻繁1項集,並按照支援度降序排列。

3)讀入排序後的資料集,插入fp樹,插入時按照排序後的順序,插入fp樹中,排序靠前的節點是祖先節點,而靠後的是子孫節點。如果有共用的祖先,則對應的公用祖先節點計數加1。插入後,如果有新節點出現,則項頭表對應的節點會通過節點鍊錶鏈結上新節點。直到所有的資料都插入到fp樹後,fp樹的建立完成。

4)從項頭表的底部項依次向上找到項頭表項對應的條件模式基。從條件模式基遞迴挖掘得到項頭表項項的頻繁項集。

資料探勘 關聯規則挖掘

關聯規則 association rule 是資料中所蘊含的一類重要規律。關聯規則挖掘的目標是在資料專案中找出所有的併發關係 cooccurrence relationships 這種關係也稱為關聯 association 關聯規則挖掘的經典應用是購物籃 market basket 關聯規則挖掘並沒...

關聯規則挖掘

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