標籤:項目 學習 記錄 分享 過程 資訊 port 集中 參考
聲明:
機器學習系列主要記錄自己學習機器學習演算法過程中的一些參考和總結,其中有部分內容是借鑒參考書籍和參考部落格的。
目錄:
- 什麼是關聯規則
- 關聯規則中的必須知道的概念
- 關聯規則的實現過程
- 關聯規則的核心點——如何產生頻繁項集
- 實際使用過程中需要注意的地方
- 關聯規則總結與課後作業
一、什麼是關聯規則
所謂資料採礦就是以某種方式分析來源資料,從中發現一些潛在的有用的資訊,即資料採礦又可以稱作知識發現。而機器學習演算法則是這種“某種方式”,關聯規則作為十大經典機器學習演算法之一,因此搞懂關聯規則(雖然目前使用的不多)自然有著很重要的意義。顧名思義,關聯規則就是探索資料背後存在的某種規則或者聯絡。
舉個簡單的例子(尿布和啤酒太經典):通過調研超市顧客購買的東西,可以發現30%的顧客會同時購買床單和枕套,而在購買床單的顧客中有80%的人購買了枕套,這就存在一種隱含的關係:床單→枕套,也就是說購買床單的顧客會有很大可能購買枕套,因此商場可以將床單和枕套放在同一個購物區,方便顧客購買。
一般,關聯規則可以應用的情境有:
-
- 最佳化貨架商品擺放或者最佳化郵寄商品的目錄
- 交叉銷售或者搭售方案
- 搜尋字詞推薦或者識別異常
二、概念
- 項目:交易資料庫中的一個欄位,對超市的交易來說一般是指一次交易中的一個物品,如:牛奶
- 交易:某個客戶在一次交易中,發生的所有項目的集合:如{牛奶,麵包,啤酒}
- 項集:包含若干個項目的集合(一次交易中的),一般會大於0個
- 支援度:項集{X,Y}在總項集中出現的機率(見下面的例子)
- 頻繁項集:某個項集的支援度大於設定閾值(人為設定或者根據資料分布和經驗來設定),即稱這個項集為頻繁項集。
- 信賴度:在先決條件X發生的條件下,由關聯規則{X->Y }推出Y的機率(見下面的例子)
- 提升度:表示含有X的條件下同時含有Y的機率,與無論含不含X含有Y的機率之比。
假如有一條規則:牛肉—>雞肉,那麼同時購買牛肉和雞肉的顧客比例是3/7,而購買牛肉的顧客當中也購買了雞肉的顧客比例是3/4。這兩個比例參數是很重要的衡量指標,它們在關聯規則中稱作支援度(support)和信賴度(confidence)。對於規則:牛肉—>雞肉,它的支援度為3/7,表示在所有顧客當中有3/7同時購買牛肉和雞肉,其反應了同時購買牛肉和雞肉的顧客在所有顧客當中的覆蓋範圍;它的信賴度為3/4,表示在買了牛肉的顧客當中有3/4的人買了雞肉,其反應了可預測的程度,即顧客買了牛肉的話有多大可能性買雞肉。其實可以從統計學和集合的角度去看這個問題, 假如看作是機率問題,則可以把“顧客買了牛肉之後又多大可能性買雞肉”看作是條件機率事件,而從集合的角度去看,可以看下面這幅圖:
上面這副圖可以很好地描述這個問題,S表示所有的顧客,而A表示買了牛肉的顧客,B表示買了雞肉的顧客,C表示既買了牛肉又買了雞肉的顧客。那麼C.count/S.count=3/7,C.count/A.count=3/4。
三、實現過程
四、如何產生頻繁項集
五、注意點
六、總結
機器學習筆記——關聯規則