1. 程式人生 > >詳解python實現FP-TREE進行關聯規則挖掘(帶有FP樹顯示功能)附原始碼下載(1)

詳解python實現FP-TREE進行關聯規則挖掘(帶有FP樹顯示功能)附原始碼下載(1)

程式使用PYTHON3.2實現,要生成每一步樹的圖片,請安裝一個繪相簿PIL(Python Image Library)

開啟原始碼後可以在sample.py找到樣本如下:

items=('chips','eggs','bread','milk','beer','popcorn','butter')
sample=[
    ['milk','eggs','bread','chips'],
    ['eggs','popcorn','chips','beer'],
    ['eggs','bread','chips'],
    ['milk','eggs','bread','popcorn','chips','beer'],
    ['milk','bread','beer'],
    ['eggs','bread','beer'],
    ['milk','bread','chips'],
    ['milk','eggs','bread','butter','chips'],
    ['milk','eggs','butter','chips']
]

這就本文用來挖掘的樣本案例,該樣本的FP樹如下圖所示
對支援度最小為3的關聯規則進行挖掘,以 beer 項的挖掘過程為例,請看下面每一步的FP樹圖: beer 的條件模式基:
beer和bread 的條件模式基:

beer和eggs 的條件模式基:

最後的程式對樣本的挖掘結果如下(右邊數字是頻集的支援度): ('chips', 'eggs') 6
('milk', 'chips') 5
('milk', 'bread') 5
('chips', 'bread') 5
('bread', 'eggs') 5
('milk', 'eggs', 'chips') 4
('milk', 'eggs') 4
('chips', 'eggs', 'bread') 4
('milk', 'chips', 'bread') 4
('milk', 'eggs', 'chips', 'bread') 3
('beer', 'bread') 3
('beer', 'eggs') 3
('milk', 'eggs', 'bread') 3

在以後的部落格中,我會詳細把原始碼解讀給大家,敬請期待!