資料探勘演算法之Apriori和FP-growth
阿新 • • 發佈:2018-12-31
1、基本概念
支援度(support):資料集中包含該項集的記錄所佔比例
置信度或可信度(confidence):主要是針對莫以具體的關聯規則進行定義的,如:{尿布}->{啤酒}的可信度可以被定義為:支援度{尿布、葡萄酒}/支援度{尿布}
2、Apriori演算法
主要思路就是找到資料集合中的頻繁項集和關聯規則
(1)發現頻繁項集
頻繁項集的確定主要是依靠支援度。我們預設一個最小支援度閾值,用以過濾掉不滿足條件的項集,將滿足最小支援度的項集進行保留;
(2)抽取關聯規則
關聯規則的確定主要是依靠置信度。同樣的設定一個最小置信度閾值,用於刪除掉不滿足條件的項集,保留下來的就是具有一定關聯規則的項集。
3、FP-growth演算法
該演算法是在Apriori演算法的基礎上,只是針對頻繁項集發現算法進行了改進,提高了演算法處理速度,同時該演算法需要對資料集合進行兩次掃描。
演算法思路:
(1)發現頻繁項集
a、構建FP樹(需要重點理解)
b、從FP樹中挖掘頻繁項集
(2)抽取關聯規則
a、從FP樹中獲得條件模式基(是以所查詢元素項為結尾的路徑集合)
b、利用條件模式基,構建一個條件FP樹(需要重點理解)
c、迭代重複步驟a和b,直到樹包含一個元素項為止
4、演算法示例
(1)求出各個項集的支援度
(2)過濾部分項集後的資料集合
(3)構建FP樹
(4)條件模式基和條件FP樹
(5)得到相應的頻繁模式
5、Apriori演算法和FP-growth演算法特點比較
6、參考文獻
https://wenku.baidu.com/view/c32bbada27d3240c8547ef1b.html
http://blog.csdn.net/lizhengnanhua/article/details/9061755
《機器學習實戰》Peter Harrington著 李銳 李鵬 曲亞東 王斌 譯