關聯規則分析 Apriori 演算法 簡介與入門

Tsundere_x發表於2020-12-05

關聯規則的幾個概念:

關聯規則是形如 X -> Y 的蘊含式,表示通過 X 可以推匯出 Y,X稱為關聯規則的左部(Left Hand Side,LHS),Y 稱為關聯規則的右部(Right Hand Side,RHS)。

關聯規則有兩個指標,分別是支援度(Support)和置信度(Confidence)。關聯規則A -> B 的支援度(support)= P(AB),指的是事件 A 和事件 B 同時發生的概率。置信度(confidence) = P(B|A) = P(AB) / P(A),指的是發生事件A的基礎上,發生事件B的概率。比如,如果尿布->啤酒關聯規則的支援度為 30%,置信度60%,那麼就表示所有的商品交易中,30% 交易同時購買了尿布和啤酒,在購買尿布的交易中,60% 的交易同時購買了啤酒。

關聯規則分析需要從基礎資料中挖掘出支援度和置信度都超過一定閾值的關聯規則,以便在決策中應用。同時滿足最小支援度閾值和最小置信度閾值的規則,稱為強規則

挖掘關聯規則的主流演算法為 Apriori 演算法。它的基本思想是在資料集中找出同時出現概率符合預定義(Pre-defined)支援度的頻繁項集,而後從以上頻繁項集中,找出符合預定義置信度的關聯規則。

原理:
如果某個項集是頻繁的,那麼它的所有子集也是頻繁的。它的逆否命題是,如果一個項集是非頻繁的,那麼它的所有超集也是頻繁的。

在上圖中,已知陰影項集{商品2,商品3}是非頻繁的。利用這個基礎知識,我們可以知道項集 {商品0,商品2,商品3},{商品1,商品2,商品3} 以及 {商品0,商品1,商品2,商品3} 也是非頻繁的,因為它們是 {商品2,商品3} 的超集。於是在計算過程中,一旦計算出 {商品2,商品3} 的支援度,知道它是非頻繁的後,就可以緊接著排除它的超集,節省了計算工作量。

相關文章