关联规则挖掘(一)
關(guān)聯(lián)規(guī)則挖掘是一種常用的數(shù)據(jù)挖掘手段,本文作為關(guān)聯(lián)規(guī)則挖掘的第一篇文章,將主要介紹關(guān)聯(lián)規(guī)則挖掘的來歷與目的,以購物籃分析的一個簡單例子熟悉基本概念,以及從多維度對關(guān)聯(lián)規(guī)則挖掘進(jìn)行分類。
一、概述
相信大家都聽過啤酒與尿布的故事,這就是一個最典型的關(guān)聯(lián)規(guī)則挖掘的例子:購物籃分析。通過發(fā)現(xiàn)顧客放入其購物籃中不同商品之間的聯(lián)系,分析顧客的購買習(xí)慣,進(jìn)而了解哪些商品頻繁地被顧客同時購買,這種關(guān)聯(lián)規(guī)則的發(fā)現(xiàn)可以幫助零售商制定營銷策略。例如,在同一次去超市,如果顧客購買牛奶,他也購買面包的可能性有多大?通過幫助零售商有選擇地經(jīng)銷和安排貨架,這種信息可以引導(dǎo)銷售。例如,將牛奶和面包盡可能放近一些,可以進(jìn)一步刺激一次去商店同時購買這些商品;亦或者將牛奶和雞蛋放在商店的兩端,可能誘發(fā)買這些商品的顧客一路挑選其它商品。
關(guān)聯(lián)規(guī)則挖掘的目的是發(fā)現(xiàn)大量數(shù)據(jù)中項(xiàng)集之間有趣的關(guān)聯(lián)或相關(guān)聯(lián)系。隨著大量數(shù)據(jù)不停地收集和存儲,許多業(yè)界人士對于從他們的數(shù)據(jù)庫中挖掘關(guān)聯(lián)規(guī)則越來越感興趣。從大量商務(wù)事務(wù)記錄中發(fā)現(xiàn)有趣的關(guān)聯(lián)關(guān)系,可以幫助許多商務(wù)決策的制定,如分類設(shè)計(jì)、交叉購物和賤賣分析。
二、基本概念
以一個簡單的例子來理解基本概念:
t1: 牛肉、雞肉、牛奶 t2: 牛肉、奶酪 t3: 奶酪、靴子 t4: 牛肉、雞肉、奶酪 t5: 牛肉、雞肉、衣服、奶酪、牛奶 t6: 雞肉、衣服、牛奶 t7: 雞肉、牛奶、衣服I={i1,i2,...,im}是項(xiàng)的集合,即I={牛肉,雞肉,牛奶,奶酪,靴子,衣服}。
任務(wù)相關(guān)的數(shù)據(jù)D是數(shù)據(jù)庫事務(wù)的集合,其中每個事務(wù)T是項(xiàng)的集合,使得 T?I,即D={t1,t2,t3,t,4,t5,t6,t7}。
A 是一個項(xiàng)集,如A={牛肉,雞肉},事務(wù)T包含A當(dāng)且僅當(dāng) A ? T,如此時事務(wù)t1包含項(xiàng)集A。
關(guān)聯(lián)規(guī)則是形如 A?B 的蘊(yùn)涵式,其中 A?I,B?I,并且 A∩B=?。規(guī)則 A?B 在事務(wù)集D中成立,具有支持度s,其中s是D中事務(wù)包含 A∪B 的百分比,它是概率 P(A∪B) 。規(guī)則 A?B 在事務(wù)集D中具有置信度c,c是D中包含A的事務(wù)同時也包含B的百分比,它是條件概率 P(B|A)。如:關(guān)聯(lián)規(guī)則牛肉?雞肉的支持度為3/7,置信度為3/4。
支持度:support(A?B)=P(A∪B),用百分?jǐn)?shù)表示。
置信度:confidence(A?B)=P(B|A),用百分?jǐn)?shù)表示。
強(qiáng)規(guī)則:同時滿足最小支持度閾值和最小置信度閾值的規(guī)則。
項(xiàng)集:項(xiàng)的集合。
k-項(xiàng)集:包含 k 個項(xiàng)的項(xiàng)集。
項(xiàng)集的頻率:包含項(xiàng)集的事務(wù)數(shù)。
頻繁項(xiàng)集:項(xiàng)集滿足最小支持度。頻繁 k-項(xiàng)集的集合通常記作 Lk 。
提升度lift:
值得注意的是:當(dāng)右手邊的項(xiàng)集的支持度已經(jīng)很顯著時,即使規(guī)則的confidence較高,這條規(guī)則也是無效的。
舉個例子:
在所分析的10000個事務(wù)中,6000個事務(wù)包含計(jì)算機(jī)游戲,7500個包含游戲機(jī)游戲,4000個事務(wù)同時包含兩者。
關(guān)聯(lián)規(guī)則(計(jì)算機(jī)游戲,游戲機(jī)游戲) 支持度為0.4,看似很高,但其實(shí)這個關(guān)聯(lián)規(guī)則是一個誤導(dǎo)。
在用戶購買了計(jì)算機(jī)游戲后有4000/6000=0.667的概率的去購買游戲機(jī)游戲,而在沒有任何前提條件時,用戶反而有7500/10000=0.75的概率去購買游戲機(jī)游戲,也就是說設(shè)置了購買計(jì)算機(jī)游戲這樣的條件反而會降低用戶去購買游戲機(jī)游戲的概率,所以計(jì)算機(jī)游戲和游戲機(jī)游戲是相斥的。
提升度的意義在于度量項(xiàng)集{X}和項(xiàng)集{Y}的獨(dú)立性,如果提升度=1,說明兩個條件沒有任何關(guān)聯(lián);如果<1,說明A條件(或者說A事件的發(fā)生)與B事件是相斥的,一般在數(shù)據(jù)挖掘中當(dāng)提升度大于3時,我們才承認(rèn)挖掘出的關(guān)聯(lián)規(guī)則是有價(jià)值的。
關(guān)聯(lián)規(guī)則的挖掘是一個兩步的過程:
(1)找出所有頻繁項(xiàng)集:根據(jù)定義,這些項(xiàng)集出現(xiàn)的頻繁性至少和預(yù)定義的最小支持計(jì)數(shù)一樣。
(2)由頻繁項(xiàng)集產(chǎn)生強(qiáng)關(guān)聯(lián)規(guī)則:根據(jù)定義,這些規(guī)則必須滿足最小支持度和最小置信度。
這兩步中,第二步較容易,挖掘關(guān)聯(lián)規(guī)則的總體性能由第一步?jīng)Q定。
三、關(guān)聯(lián)規(guī)則的分類
購物籃分析只是關(guān)聯(lián)規(guī)則挖掘的一種形式。事實(shí)上,有許多種關(guān)聯(lián)規(guī)則。根據(jù)下面的標(biāo)準(zhǔn),關(guān)聯(lián)規(guī)則有多種分類方法:
1.根據(jù)規(guī)則中所處理的值類型:
- 如果規(guī)則考慮的關(guān)聯(lián)是項(xiàng)的在與不在,則它是布爾關(guān)聯(lián)規(guī)則。如:buy(X,牛肉)?buy(X,雞肉) 。
- 如果規(guī)則描述的是量化的項(xiàng)或?qū)傩灾g的關(guān)聯(lián),則它是量化關(guān)聯(lián)規(guī)則。如:age(X,"30…39")∪income(X,"42K…48K")?buys(X,high_resolution_TV),其中,X 是代表顧客的變量。
2.根據(jù)規(guī)則中涉及的數(shù)據(jù)維:
- 如果關(guān)聯(lián)規(guī)則中的項(xiàng)或?qū)傩悦總€只涉及一個維,則它是單維關(guān)聯(lián)規(guī)則。如:buy(X,牛肉)?buy(X,雞肉)。
- 如果規(guī)則涉及兩個或多個維,則它是多維關(guān)聯(lián)規(guī)則。如:age(X,"30…39")∪income(X,"42K…48K")?buys(X,high_resolution_TV),其中,X 是代表顧客的變量。
3.根據(jù)規(guī)則集所涉及的抽象層:
- 如果關(guān)聯(lián)規(guī)則在不同的抽象層發(fā)現(xiàn),則它是多層關(guān)聯(lián)規(guī)則。例如,假定挖掘的關(guān)聯(lián)規(guī)則集包含下面規(guī)則: age(X,”30…39”)?buys(X,”laptopcomputer”) age(X,”30…39”)?buys(X,”computer”) 在上述規(guī)則中,購買的商品涉及不同的抽象層,即computer在比laptop computer高的抽象層。
- 如果關(guān)聯(lián)規(guī)不涉及不同的抽象層,則它是單層關(guān)聯(lián)規(guī)則。
4.根據(jù)關(guān)聯(lián)挖掘的各種擴(kuò)充:
- 可以擴(kuò)充到相關(guān)分析,進(jìn)而可以識別項(xiàng)是否相關(guān)。
- 可以擴(kuò)充到挖掘最大模式(即最大的頻繁模式)和頻繁閉項(xiàng)集。最大模式是頻繁模式 p,使得 p的任何真超模式 都不是頻繁的;頻繁閉項(xiàng)集是一個頻繁的、閉的項(xiàng)集,其中項(xiàng)集 c 是閉的,如果不存在 c 的真超集 c’,使得每個包含 c 的事務(wù)也包含 c’。使用最大模式和頻繁閉項(xiàng)集可以顯著地壓縮挖掘所產(chǎn)生的頻繁項(xiàng)集數(shù)。
參考資料:
【1】數(shù)據(jù)挖掘概念與技術(shù)
【2】淺談數(shù)據(jù)挖掘中的關(guān)聯(lián)規(guī)則挖掘
總結(jié)
- 上一篇: Windows 10 Enterpris
- 下一篇: Excel基础—文件菜单之设置选项