1. 程式人生 > >資料探勘演算法之Apriori和FP-growth

資料探勘演算法之Apriori和FP-growth

1、基本概念

      支援度(support):資料集中包含該項集的記錄所佔比例

  置信度或可信度(confidence:主要是針對莫以具體的關聯規則進行定義的,如:{尿布}->{啤酒}的可信度可以被定義為:支援度{尿布、葡萄酒}/支援度{尿布}

2Apriori演算法

    主要思路就是找到資料集合中的頻繁項集和關聯規則

1)發現頻繁項集

            頻繁項集的確定主要是依靠支援度。我們預設一個最小支援度閾值,用以過濾掉不滿足條件的項集,將滿足最小支援度的項集進行保留;

2)抽取關聯規則

       關聯規則的確定主要是依靠置信度。同樣的設定一個最小置信度閾值,用於刪除掉不滿足條件的項集,保留下來的就是具有一定關聯規則的項集。

3FP-growth演算法

       該演算法是在Apriori演算法的基礎上,只是針對頻繁項集發現算法進行了改進,提高了演算法處理速度,同時該演算法需要對資料集合進行兩次掃描。

    演算法思路:

1)發現頻繁項集

        a、構建FP樹(需要重點理解

         b、從FP樹中挖掘頻繁項集

2)抽取關聯規則

        a、從FP樹中獲得條件模式基(是以所查詢元素項為結尾的路徑集合)

           b、利用條件模式基,構建一個條件FP需要重點理解

        c、迭代重複步驟ab,直到樹包含一個元素項為止

4、演算法示例

  (1)求出各個項集的支援度

   (2)過濾部分項集後的資料集合

  (3)構建FP樹

  (4)條件模式基和條件FP樹

(5)得到相應的頻繁模式

5Apriori演算法和FP-growth演算法特點比較

6、參考文獻

    https://wenku.baidu.com/view/c32bbada27d3240c8547ef1b.html

    http://blog.csdn.net/lizhengnanhua/article/details/9061755

    《機器學習實戰》Peter Harrington著 李銳 李鵬 曲亞東 王斌 譯

有什麼錯誤之處和改進之處請指點!!!