余文禮
(中南財經(jīng)政法大學,湖北 武漢 430073)
互聯(lián)網(wǎng)的飛速發(fā)展使得網(wǎng)絡購物漸變?yōu)橐环N主流的購物方式,網(wǎng)店經(jīng)營者關(guān)心的問題是顧客的購買習慣,各種商品之間存在的聯(lián)系。傳統(tǒng)的購物籃分析,在計算商品組合被同時購買的次數(shù)時,會產(chǎn)生大量的商品組合,時間和空間的開銷巨大,很難以得到令人滿意的結(jié)果。為彌補這一缺陷采用Apriori算法,不斷地通過k維商品集產(chǎn)生k+1維商品集,求出同時被購買概率大的商品組合。再分別對組合中的每一個商品求出其可信度,進一步得出該商品組合的關(guān)聯(lián)度系數(shù)。根據(jù)組合的關(guān)聯(lián)度系數(shù)來衡量商品之間關(guān)系的密切程度,進而把這些關(guān)聯(lián)度大的商品關(guān)聯(lián)在一起,以便于顧客瀏覽,引導消費,增加銷量。
數(shù)據(jù)挖掘是在沒有明確假設的前提下去挖掘信息、發(fā)現(xiàn)各種事物之間的聯(lián)系。數(shù)據(jù)挖掘所得到的信息應具有先未知,有效和可實用三個特征。
以一家電商網(wǎng)店為例,假設該網(wǎng)店有n種商品,編號分別為X1,X2,...Xn;取得該網(wǎng)店客戶的消費記錄集合D,其中有m次消費記錄,購買商品組合分別為T1,T2,...Tn。為衡量商品之間關(guān)系的密切程度,挖掘它們的聯(lián)系。首先定義支持度指標:
支持度:一個消費記錄數(shù)據(jù)庫D中包含的某商品組合的消費記錄的個數(shù)與D中總的記錄個數(shù)之比稱為該組合的支持度S。

對于支持度的計算,首先考慮只含有兩個商品的商品組合的簡單情況。n種商品形成的含有兩個商品組合有:種,采用傳統(tǒng)遍歷計算方法,勢必會耗時巨大。
Apriori算法是R.Agrawal和R.Srikant于1994年提出的為布爾關(guān)聯(lián)規(guī)則挖掘頻繁項集的原創(chuàng)性質(zhì)算法。算法的思想是先求出滿足條件低維度的商品組合,根據(jù)低維度組合求出高維度組合,對數(shù)據(jù)集進行多步處理,直至求出所有維度的商品組合,算法偽代碼如下:
Input:格式為(Tid,itemset)的消費記錄D,其中Tid為事務標識符,itemset為該事務所對應的商品集。
Output:所有的頻繁商品集。
L1=find_frequent_1-itemsets(D);//找出所有的一維商品集
for(k=2;Lk-1≠Φ;k++)//從2維開始對每一個維度進行計算,直到不存在滿足minsupport的k維商品

其中,GenerateLk是以(k-1)維最大商品集ItemSetk—1和minsupport為參數(shù),計算并返回k維最大商品集ItemSetk,分為組合和剔除兩步執(zhí)行:
第1步:組合(join)根據(jù)ItemSetk—1,計算ItemSetk

第2步:剔除(prune)

對CK中的任一候選組合C,如果C中存在一個不屬于LK-1的維度為 的子序列,那么就從CK中刪除該候選組合C。
假設消費記錄D中有四條消費記錄如表,最小支持度minsupport=2/5:

表1 消費記錄集D
根據(jù) minsupport統(tǒng)計出一維候選商品集 L1為{X1、X2、X3、X5}。使用GenerateLk函數(shù)中join步,即:L1join L1,并通過prune步刪除那些C2中子集不在L1中的商品。生成了侯選商品集 ,與minsupport比較生成L2{(X1,X3)、(X2,X3)、(X2,X5)、(X3,X5)}。 重復以前步驟最后輸出滿足最小支持minsupport的商品組合為:

Apriori算法可以求出關(guān)聯(lián)度大的商品集合L,但是支持度這一指標衡量的僅僅是商品同時被購買的概率,并不能客觀地反應商品之間的聯(lián)系。例如鉛筆和橡皮,電腦和鼠標這兩組商品在一起被購買的概率很大,但是前者的支持度肯定會遠遠地大于后者。常見易損品的購買記錄會很多,電腦等相對貴重的商品消費者一旦購買就有很長的使用周期,不會在短時間內(nèi)再次購買。所以后者的支持度會很小,但是關(guān)聯(lián)度卻很大。
基于這一局限,進一步定義可信度及關(guān)聯(lián)度系數(shù)指標減小不同商品的差異性。
(1)可信度R:商品組合的支持度與組合中的某種商品被購買概率的比值稱為該商品的可信度。
例如在商品組合(X,Y)中商品X和商品Y的可信度如下:

可信度Rx,即交易記錄集合D中既包含X也包含Y的記錄個數(shù)與D中包含X的記錄個數(shù)之比。實際上就是指,包含X商品的購物籃也包含Y商品的概率。
因為支持度小的組合中的單個商品被購買概率也會很小,可信度將不同類別商品本身之間的差異的影響因素排除在在外。只要用組合(X,Y)的支持度Sxy除以商品本身被購買的概率P(X),無論商品X的使用周期是否一樣,得到的可信度都是客觀,可以比較的。
商品可信度都是對給定商品組合中的單個商品而言的,每個商品都有自己的可信度。求出組合中每個商品可信度之后,就可以進一步求出這個組合的綜合關(guān)聯(lián)度系數(shù)。
(2)關(guān)聯(lián)度系數(shù) W:當商品組合為(X1,X2…Xn)時,該組合的關(guān)聯(lián)度系數(shù)為:

將關(guān)聯(lián)系數(shù)定義為商品互相之間的可信度的幾何平均數(shù),并且W越大,關(guān)聯(lián)度系數(shù)越高,商品之間的關(guān)系越密切,消費者更傾向于同時購買。
還是以上面的消費記錄為實例,最后我們可以得出最后支持度大于2的商品組合,如表2:

表2
根據(jù)以上的表格,我們可以看出的關(guān)聯(lián)度最大的商品組合是(I2,I5),其次是(I1,I3)、(I2,I3,I5),說明這些商品有很強的關(guān)聯(lián)性。 此外還可以看出支持度大的商品組合,可信度和關(guān)聯(lián)度系數(shù)不一定高,這也印證了前面所說的可信度指標可以避免因商品自身價格、類別等屬性不同而造成的支持度不客觀合理的這一現(xiàn)象。
得出商品組合的關(guān)聯(lián)度系數(shù)后,我們可以有效的掌握商品之間的關(guān)聯(lián)信息。網(wǎng)店就可以把關(guān)聯(lián)程度高、經(jīng)常被同時購買的商品放在同一界面,方便顧客在購物中找到自己的商品,那樣會更加的節(jié)約顧客的時間,而且也會促進商品的銷售。在對商品進行廣告宣傳和推薦時,可以根據(jù)分析結(jié)果進行商品的選擇。對那些購買頻率較高、同其他商品關(guān)聯(lián)規(guī)則較多的商品進行宣傳推薦,其效果將事半功倍。
Apriori算法通過對數(shù)據(jù)的關(guān)聯(lián)性進行了分析和挖掘,得出在決策制定過程中具有重要的參考價值的信息,廣泛應用于商業(yè)、消費市場價格分析中。通過數(shù)據(jù)挖掘,商家可以瞄準目標客戶,采用個人股票行市、最新信息、特殊的市場推廣活動或其他一些特殊的信息手段,從而極大地減少廣告預算和增加收入。
[1]陸麗娜,陳亞萍.挖掘關(guān)聯(lián)規(guī)則中的 Apriori算法的研究[J].小型微型計算機系統(tǒng),2000,21(9):940-943.
[2]顏雪松,蔡之華.一種基于 Apriori的高效關(guān)聯(lián)規(guī)則挖掘算法的研究[J].計算機工程與應用,2002,38(10):209-211.
[3]王德興,胡學鋼,劉曉平,等.改進購物籃分析的關(guān)聯(lián)規(guī)則挖掘算法[J].重慶大學學報:自然科學版,2006,29(4):105-107.
[4]LIU X,SHI B,XIE Y.An improved apriori algorithm for mining association rules[J].Journal of Shandong University(Natural Science),2008,11:014.
[5]周霖,張宏山.購物籃分析在零售業(yè)中的應用研究[J].中國商貿(mào),2013(8).
[6]Ye Y,Chiang C C.A parallel apriori algorithm for frequent itemsets mining[C]//Software Engineering Research,Management and Applications,2006.Fourth International Conference on.IEEE,2006:87-94.