Apriori演算法和FP growth演算法

2021-10-01 09:22:39 字數 1142 閱讀 4127

經典的關聯規則挖掘演算法包括apriori演算法和fp-growth演算法。

apriori演算法多次掃瞄交易資料庫,每次利用候選頻繁集產生頻繁集;而fp-growth則利用樹形結構,無需產生候選頻繁集而是直接得到頻繁集,大大減少掃瞄交易資料庫的次數,從而提高了演算法的效率。但是apriori的演算法擴充套件性較好,可以用於平行計算等領域。

使用apriori演算法進行關聯分析。fp-growth演算法來高效發現頻繁項集。

* apriori演算法

* 根據支援度進行頻繁項集的挖掘,根據置信度進行規則的產生

* 演算法原理:根據候選一項集資料庫第一次掃瞄去掉低於最小值支援度計數的項得到頻繁一項集,在根據候選2項集再次掃瞄資料庫得到頻繁2項集,在根據候選3項集得到頻繁3項集,依次類推。

* 演算法步驟:

* 首先,拿到資料集進行資料庫掃瞄得到候選1項集,在通過設定乙個最小支援度技術得到頻繁1項集

* 再次掃瞄資料庫根據候選2項集得到頻繁2項集,依次類推

* 得到頻繁項集,根據置信度來計算規則的產生

* 設定乙個置信度閾值,如果小於置信度閾值,直接篩選掉,否則選擇作為關聯規則

* 演算法特點:

* 產生-測試:產生是候選項集,測試的是頻繁項集

* apriorii演算法如果得到是頻繁k項集會進行k次掃瞄資料庫

* 工作中:

* 進行關聯挖掘

* fp-growth演算法

* 根據支援度進行頻繁項集的挖掘,根據置信度進行規則的產生

* 演算法原理:首先掃瞄一次資料庫,篩選掉不符合最小支援度計數的1項集,根據支援度進行排序,得到新的經過排序後的資料,再進行構建fp樹,在根據字尾節點尋找字首路徑從而得到頻繁項集

* 演算法步驟:

* 首先掃瞄一次資料庫,篩選掉不符合條件的最小支援度計數的1項集,得到頻繁1項集

* 再次根據支援度計數進行對資料集進行排序,得到排序後的結果,再次進行fp樹的構建

* 根據字尾節點尋找字首路徑中是頻繁項集的集合

* 演算法特點:

* 只需要掃瞄兩次資料庫

* 如果樹的分支節點非常多的時候樹的複雜度很高

* 工作中:

* 進行關聯挖掘

* 在spark中的fpgrowth演算法中直接使用api介面進行大資料量的關聯挖掘推薦

頻繁項集挖掘之apriori和fp growth

apriori和fp growth是頻繁項集 frequent itemset mining 挖掘中的兩個經典演算法,主要的區別在於乙個是廣度優先的方式,另乙個是深度優先的方式,後一種是基於前一種效率較低的背景下提出來的,雖然都是十幾年前的,但是理解這兩個演算法對資料探勘和學習演算法都有很大好處。在...

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

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

Apriori演算法小結

1 apriori演算法是一種挖掘關聯規則的頻繁項集演算法,其核心思想是通過候選集生成挖掘頻繁項集。2 步驟 3 概念 對於a b 支援度 support p a b 既有a又有b 的概率 置信度 p b a p ab p a 在a 發生的事件中同時發生 b的概率 例如購物籃分析 牛奶 麵包例子 支...