Association rule mining 是數據挖掘中最活躍的研究方法之一,能夠用來發現事情之間的聯繫,最先是爲了發現超市交易數據庫中不一樣的商品之間的關係。web
這裏有一則沃爾瑪超市的趣聞。沃爾瑪曾今對數據倉庫中一年多的原始交易數據進行了詳細的分析,發現與尿布一塊兒被購買最多的商品居然是啤酒。藉助數據倉庫和關聯規則,發現了這個隱藏在背後的事實:美國的婦女常常會囑咐丈夫下班後爲孩子買尿布,而30%~40%的丈夫在買完尿布以後又要順便購買本身愛喝的啤酒。根據這個發現,沃爾瑪調整了貨架的位置,把尿布和啤酒放在一塊兒銷售,大大增長了銷量。算法
這裏借用一個引例來介紹關聯規則挖掘[1]。數據庫
表1 某超市的交易數據庫ide
交易號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。spa
定義二:每筆交易T是項集I的一個子集。對應每個交易有一個惟一標識交易號,記做TID。交易全體構成了交易數據庫D,|D|等於D中交易的個數。引例中包含10筆交易,所以|D|=10。.net
定義三:對於項集X,設定count(X⊆T)爲交易集D中包含X的交易的數量,則項集X的支持度爲: orm
定義四:最小支持度是項集的最小支持閥值,記爲SUPmin,表明了用戶關心的關聯規則的最低重要性。支持度不小於SUPmin 的項集稱爲頻繁集,長度爲k的頻繁集稱爲k-頻繁集。若是設定SUPmin爲0.3,引例中{bread, milk}的支持度是0.5,因此是2-頻繁集。 blog
定義五:關聯規則是一個蘊含式:R:X⇒Yip
其中X⊂I,Y⊂I,而且X∩Y=⌀。表示項集X在某一交易中出現,則致使Y以某一律率也會出現。用戶關心的關聯規則,能夠用兩個標準來衡量:支持度和可信度。 ci
定義六:關聯規則R的支持度是交易集同時包含X和Y的交易數與|D|之比。即:
support(X⇒Y)=count(X⋃Y)/|D|
支持度反映了X、Y同時出現的機率。關聯規則的支持度等於頻繁集的支持度。
定義七:對於關聯規則R,可信度是指包含X和Y的交易數與包含X的交易數之比。即:
confidence(X⇒Y)=support(X⇒Y)/support(X)
可信度反映了若是交易中包含X,則交易包含Y的機率。通常來講,只有支持度和可信度較高的關聯規則纔是用戶感興趣的。
定義八:設定關聯規則的最小支持度和最小可信度爲SUPmin和CONFmin。規則R的支持度和可信度均不小於SUPmin和CONFmin ,則稱爲強關聯規則。關聯規則挖掘的目的就是找出強關聯規則,從而指導商家的決策。
這八個定義包含了關聯規則相關的幾個重要基本概念,關聯規則挖掘主要有兩個問題:[1] 韓慧等。數據倉庫與數據挖掘。清華大學出版社,2009。
[2] Association rule mining. http://en.wikipedia.org/wiki/Association_rule_mining, 2011.
Cited from: http://blog.csdn.net/opennaive/article/details/7047823