【機器學習】資料探勘演算法——關聯規則(一),相關概念,評價指標
綜述:
資料探勘是指以某種方式分析資料來源,從中發現一些潛在的有用的資訊,所以資料探勘又稱作知識發現,而關聯規則挖掘則是資料探勘中的一個很重要的課題,顧名思義,它是從資料背後發現事物之間可能存在的關聯或者聯絡。
關聯規則的目的在於在一個數據集中找出項之間的關係,也稱之為購物藍分析 (market basket analysis)。例如,購買鞋的顧客,有10%的可能也會買襪子,60%的買麵包的顧客,也會買牛奶。這其中最有名的例子就是"尿布和啤酒"的故事了。
關聯規則的應用場合。在商業銷售上,關聯規則可用於交叉銷售,以得到更大的收入;在保險業務方面,如果出現了不常見的索賠要求組合,則可能為欺詐,需要作進一步的調查。在醫療方面,可找出可能的治療組合;在銀行方面,對顧客進行分析,可以推薦感興趣的服務等等。
相關概念綜述:
這裡借用一個引例來介紹關聯規則挖掘。
交易號TID | 顧客購買的商品 | 交易號TID | 顧客購買的商品 |
T1 | bread, cream, milk, tea | T6 | bread, tea |
T2 | bread, cream, milk | T7 | beer, milk, tea |
T3 | cake, milk | T8 | bread, tea |
T4 | milk, tea | T9 | bread, cream, milk, tea |
T5 | bread, cake, milk | T10 | bread, milk, tea |
定義一:設I={i1,i2,…,im},是m個不同的專案的集合,每個ik稱為一個專案。專案的集合I稱為項集。其元素的個數稱為項集的長度,長度為k的項集稱為k-項集。引例中每個商品就是一個專案,項集為I={bread, beer, cake,cream, milk, tea},I的長度為6。
定義二:每筆交易T是項集I的一個子集。對應每一個交易有一個唯一標識交易號,記作TID。交易全體構成了交易資料庫D,|D|等於D中交易的個數。引例中包含10筆交易,因此|D|=10。
定義三:對於項集X,必有X⊆T。記 X.count 為交易集D中包含X的交易的數量,則項集X的支援度
引例中X={bread, milk}出現在T1,T2,T5,T9和T10中,所以支援度為0.5。
定義四:最小支援度是項集的最小支援閥值,記為SUPmin,代表了使用者關心的關聯規則的最低重要性。支援度不小於SUPmin 的項集稱為頻繁集,長度為k的頻繁集稱為k-頻繁集。如果設定SUPmin為0.3,引例中{bread, milk}的支援度是0.5,所以是2-頻繁集。
定義五:關聯規則是一個蘊含式:
其中X⊂I,Y⊂I,並且X∩Y=⌀。表示項集X在某一交易中出現,則導致Y以某一概率也會出現。使用者關心的關聯規則,可以用兩個標準來衡量:支援度和可信度。
定義六:關聯規則R的支援度是交易集同時包含X和Y的交易數與|D|之比。即:
支援度反映了X、Y同時出現的概率。關聯規則的支援度等於頻繁集的支援度。
定義七:對於關聯規則R,可信度是指包含X和Y的交易數與包含X的交易數之比。即:
可信度反映瞭如果交易中包含X,則交易包含Y的概率。一般來說,只有支援度和可信度較高的關聯規則才是使用者感興趣的。
定義八:設定關聯規則的最小支援度和最小可信度為SUPmin和CONFmin。規則R的支援度和可信度均不小於SUPmin和CONFmin ,則稱為強關聯規則。關聯規則挖掘的目的就是找出強關聯規則,從而指導商家的決策。
這八個定義包含了關聯規則相關的幾個重要基本概念,關聯規則挖掘主要有兩個問題:
- 找出交易資料庫中所有大於或等於使用者指定的最小支援度的頻繁項集。
- 利用頻繁項集生成所需要的關聯規則,根據使用者設定的最小可信度篩選出強關聯規則。
倖存者偏差
二戰期間,盟軍需要對戰鬥機進行裝甲加厚,以提高生還率,但由於軍費有限,只能進行區域性升級。那麼問題來了,究竟哪個部位最關鍵,最值得把裝甲加厚來抵禦敵方炮火呢?人們眾口不一,最後一致決定採用統計調查的方式來解決,即:仔細檢查每一駕戰鬥機返回時受到的損傷程度,計算出飛機整體的受彈狀況,然後根據大資料分析決定。
不久,統計資料很快出爐:盟軍飛機普遍受彈最嚴重的地方是機翼,有的幾乎被打成了篩子;相反,受彈最輕的地方是駕駛艙及尾部發動機,許多飛機的駕駛艙甚至連擦傷都沒有。
正當所有人拿著這份確鑿無疑的報告準備給機翼加厚裝甲時,統計學家Abraham Wald阻攔了他們,同時提出了一個完全相反的方案:加厚駕駛艙與尾部。理由非常簡單:這兩個位置中彈的飛機,都沒有回來。換言之,它們是一份沉默的資料——“死人不會說話”。
最後,盟軍高層紛紛聽取了這個建議,加固了駕駛艙與尾部,果然空中戰場局勢得以好轉,駕駛員生還率也大大提高。事實證明,這是一個無比英明的措施。
這個事例也被稱作“倖存者偏差”(Survivorship bias)。它是一種典型的由於模型不當,導致的“資料說謊”。
注:Abraham Wald,1902~1950,生於奧匈帝國,維也納大學博士。1938年為躲避納粹,移民美國,哥倫比亞大學教授。Herman Chernoff的導師。其子Robert M. Wald,為著名理論物理學家,芝加哥大學教授,黑洞理論的提出者之一。
關聯規則評價
“資料說謊”的問題很普遍。再看這樣一個例子,我們分析一個購物籃資料中購買遊戲光碟和購買影片光碟之間的關聯關係。交易資料集共有10,000條記錄,如表1所示:
表1 | 買遊戲 | 不買遊戲 | 行總計 |
買電影 | 4000 | 3500 | 7500 |
不買電影 | 2000 | 500 | 2500 |
列總計 | 6000 | 4000 | 10000 |
假設我們設定得最小支援度為30%,最小自信度為60%。從上面的表中,可以得到: