關聯分析中FPGrowth演算法原理及實戰

2021-10-09 16:40:10 字數 809 閱讀 4059

apriori存在以下不足,每次計算項集都會產生大量的候選項集,使計算資源和儲存空間產生浪費。而樹模型是一種很好的儲存資料的方式,故fpgrowth演算法由此而生。fpgrowth演算法是優化版的apriori演算法。

某家水果店的訂單清單如下:

購物單號

購買的水果

1蘋果、香蕉、梨

2蘋果、香蕉、梨、芒果

3香蕉、梨、芒果、水蜜桃

4蘋果、芒果

5蘋果、芒果、水蜜桃、橘子

fpgrowth演算法原理:

step1:

掃瞄一遍資料集,計算k=1的項集支援度,按從大到小進行排序,提出不滿足最小支援度的項集。(假設min_support = 0.5)

得到如下水果n

蘋果4芒果4

香蕉3梨3

step2:

將原始表每條交易記錄也按從大到小產生的順序排序。

得到如下

購物單號

購買的水果

1蘋果、香蕉、梨

2蘋果、芒果、香蕉、梨

3香蕉、芒果、梨

4蘋果、芒果

5蘋果、芒果

step3:

將交易記錄結果記錄到fp樹上。

step4:從下往上,從梨到蘋果,進行查詢,(假設min_support = 0.5)。

如下:梨的頻繁項集:

香蕉的頻繁項集:

芒果的頻繁項集:、

蘋果的頻繁項集:

總借頻繁項集為:、、、、

關聯規則挖掘演算法 FP Growth

它仍可能產生大量的候選集。例如,如果10的4次方個頻繁1項集,則apriori演算法需要產生多達10的7次方個候選2項集。它可能需要重複地掃瞄資料庫,通過模式匹配檢查乙個很大的候選集合。檢查資料庫中每個事務來確定候選集支援度的開銷很大。fp growth可以消除上述apriori演算法的兩中開銷。f...

關聯分析演算法

關聯分析演算法 關聯分析演算法的應用非常廣泛,它可以在大規模資料集中找出一組有關聯的資料。例如 商品分析中,我們可以分析出哪些商品之間有購買的關聯,也就是買了其中乙個商品之後,顧客就很有可能買另外乙個商品。頻繁項集是指那些經常出現在一起的物品集合,那麼如何評價這裡的頻繁程度呢?我們用支援度和可信度 ...

Apriori演算法和FP growth演算法比較

關聯分析可以用於回答 哪些商品經常被同時購買?之類的問題 關聯分析是在大規模資料集中尋找有趣關係的任務,這些關係可以有兩種形式 頻繁項集 是經常出現在一塊兒的物品的集合 關聯規則 按時兩種物品之間可能存在很強的關係。支援度是針對項集來說的,因此可以定義乙個最小支援度,而只保留滿足最小值尺度的項集。可...