標籤:機器學習 模式識別 並行計算 關聯規則 頻繁模式樹
Frequent Pattern Tree(頻繁模式樹)是Jiawei Han在文章《Mining Frequent Patterns without Candidate Generation 》中提出的。
————————————————————————————————————————————————————
下面給出一些定義:
設項集(set of items),交易資料庫(transaction database),其中交易(transaction),,是中的元素組成的集合。模式(Pattern)A是中的元素組成的集合,模式A的支援度(support)是指交易資料庫中包含A的交易的數量。是最小支援度閾值,如果,模式A的支援度大於,那麼稱A為頻繁模式。
頻繁模式樹就是要找到交易資料庫中的頻繁模式。
————————————————————————————————————————————————————
例子:
設項集,交易資料庫如下表:
最小支援度閾值。
構造頻繁模式樹只需要掃描(scan)交易資料庫兩次。
第一次:掃描資料庫,對其中的每一個項進行計數,例如,項出現了4次,依次類推我們對其中的每一項進行計數,因為最小支援度閾值為3,,我們下面只給出出現次數大於3的項:
,
然後,我們對每一個交易,只保留大於3的項,並排序,然後我們得出下表,多出了一列就是排序頻繁項(Ordered Frequent Items)
。
第二次:掃描資料庫,構造頻繁模式樹(構造過程很簡單,原論文給出了詳細的闡述):
—————————————————————————————————————————————————————
根據上面的兩步,我們已經構造出了頻繁模式樹,怎麼樣通過頻繁模式樹,找到頻繁模式。
其中,我們拿和項有關的頻繁模式舉例,其他依次類推:
首先,我們找到所有的節點,並沿著樹枝路徑向上直到根節點,我們發現有兩條路徑:
和,
然後,我們可以得出出現的3次,同時出現了3次,是同時和出現次數最多的項,而且次數大於最小支援度閾值。所以就是一個頻繁模式,依次類推得出其他項的頻繁模式:
。
所以,通過頻繁模式樹找到了很多頻繁模式。
—————————————————————————————————————————————————————
對於頻繁模式樹的並行計算(MapReduce),文章
《Parallel FP-Growth for Query Recommendation》中給出了詳細說明。