1. 程式人生 > >《機器學習工程師》無監督演算法3_關聯規則挖掘

《機器學習工程師》無監督演算法3_關聯規則挖掘

一:什麼是關聯規則挖掘

Association Rule 

如果一個人買了A,那麼他買B的概率是多少。

關聯規則挖掘的三個重要的基本概念:Support,Confidence,Lift.

Support:一個關聯規則的支援度  Confidence:置信度  Lift:相關性

形式化定義:

I = {i1,i2...in}包含n個二元變數(布林變數),每一個i代表一個物品。in=1代表該物品在購物籃中出現,反之等於0就是沒有出現。D = {t1,t2...tm}包含m個交易,稱D為一個數據庫。每一個交易tj包含物品集合I的一個子集。比如下圖t1那一行就是一個交易,該交易包含一個完整的物品集合。


一個關聯規則定義為X=>Y(通過是否買X推出是否買Y,證明他們是否關聯),X,Y都屬於I。一般X,Y不相交。(肯定啦,因為要通過X推匯出Y嘛,買了牛奶肯定會買牛奶對吧)

總共有多少個關聯規則呢?如果給你n個二元變數,都是取1或者0。(2^n - 1)^2 個。

再回過頭來看看support,confidence和lift。


support是基礎:所有的交易中(T是交易總數),t是在T這個資料庫中的資料,t的交易中都出現了X。換言之,就是出現X的交易佔總體交易的多少。

Confidence:利用support得到的條件概率。在所有出現X的交易記錄中,有多少條出現Y。

Lift:分子代表X和Y共同出現的概率,分母是X和Y獨自出現的乘積。資訊理論中互資訊的定義。


二:關聯資料探勘概念及演算法 

supp(x)和conf(X->y)必須大於某個閾值

理解:如果supp(x)很小,那麼研究這個就沒有意義;conf一樣。

演算法的設計:

1. 定義supp(x)的閾值來挖掘頻繁集->重點喲
理解:放更多的關注在那些交易比較多的物品或者交易。在一個數據庫中頻繁出現的集合。

2. 定義conf(X->y)的閾值用來挖掘關聯規則->簡單統計 

三:購物籃分析與頻繁集挖掘