李文娟
(定西師范高等??茖W校, 甘肅 定西 743000)
基于關聯(lián)規(guī)則挖掘算法的商場購物籃分析與建模仿真研究
李文娟
(定西師范高等??茖W校, 甘肅 定西 743000)
結合一個商場購物籃的數(shù)據(jù)集,通過理論分析、實例驗證,介紹關聯(lián)規(guī)則挖掘過程及Apriori算法,運用頂尖數(shù)據(jù)挖掘平臺TipDM中的Apriori算法進行建模仿真實驗,挖掘出商場購物籃事務集的強關聯(lián)規(guī)則,為商場進行市場定位、商品定價、新商品采購等決策提供幫助,也對指導未來的超市商品分組布局與促銷活動提供幫助。
支持度;置信度;關聯(lián)規(guī)則挖掘;Apriori算法;建模仿真
商場以獲得最大的銷售利潤為目的。了解顧客的購買習慣和偏愛,有助于他們制定正確的營銷策略。只有對商場銷售數(shù)據(jù)進行分析,才能了解顧客的購買特性,并根據(jù)發(fā)現(xiàn)的規(guī)律而采取有效的行動。只有分析商場銷售商品的構成,才能發(fā)現(xiàn)不同類別商品的共同特征及規(guī)則,并進而通過這些規(guī)則對商場的市場定位、商品定價、新商品采購等進行決策。
1.1 支持度和置信度
表1為一個購物籃的數(shù)據(jù)集,每一組數(shù)據(jù)ti表示不同的顧客一次在商場購買的商品集合。
表1 購物籃交易項目
假如有一條規(guī)則:奶酪→牛奶,那么同時購買奶酪和牛奶的顧客比例是1/7,而購買奶酪的顧客當中也購買了牛奶的顧客比例是1/4。這兩個比例參數(shù)是很重要的衡量指標,在關聯(lián)規(guī)則中分別稱作支持度(Support)和置信度(Confidence)。支持度為1/7表示在所有顧客當中有1/7同時購買了奶酪和牛奶,它反映了同時購買奶酪和牛奶的顧客在所有顧客當中的覆蓋范圍;置信度為1/4表示在買了奶酪的顧客當中有1/4的人買了牛奶,它反映了可預測的程度,即顧客買了奶酪之后有多大可能性買牛奶。
在數(shù)據(jù)挖掘中,所有商品集合I={牛肉,羊肉,牛奶,奶酪,靴子,衣服}稱作項目集合,每位顧客一次購買的商品集合ti稱為一個事務,所有的事務T={ t1,t2,…,t7}稱作事務集合,并且滿足ti是T的真子集。一條關聯(lián)規(guī)則是形如“A→B”的蘊含式,它滿足:A,B是I的真子集,并且A和B的交集為空集。其中A稱為前件,B稱為后件。對于規(guī)則A→B,則有:
支持度P(A|B)=(A,B).count/T.count
(1)
置信度P(B|A)=(A,B).count/A.count
(2)
其中(A,B).count表示T中同時包含A和B的事務的個數(shù),A.count表示T中包含A的事務的個數(shù)。對于支持度和置信度,需要正確地去看待這兩個衡量指標。一條規(guī)則的支持度表示這條規(guī)則的可能性大小,如果一個規(guī)則的支持度很小,則表明它在事務集合中覆蓋范圍很小,很有可能是偶然發(fā)生的;如果置信度很低,則表明很難根據(jù)A推出B。根據(jù)條件概率公式:P(B|A)= P(A|B)/ P(A)可知,對于任何一條關聯(lián)規(guī)則,置信度總是大于或等于支持度。
1.2 關聯(lián)規(guī)則挖掘過程
關聯(lián)規(guī)則挖掘總體過程主要包括兩步:
(1)根據(jù)最小支持度找出事務集合T中所有的頻繁項目集。
(2)由頻繁項目集和最小支持度產(chǎn)生強關聯(lián)規(guī)則。
如何迅速高效的找出T中所有頻繁項目集,是關聯(lián)規(guī)則挖掘的核心所在。關聯(lián)規(guī)則挖掘總體過程如圖1所示。
圖1 關聯(lián)規(guī)則挖掘總體過程
圖1中T為輸入的事務集合,第一步根據(jù)搜索算法找出頻繁項目集,第二步的算法從頻繁項目集中產(chǎn)生有用的關聯(lián)規(guī)則,最后輸出挖掘出的關聯(lián)規(guī)則集合。用戶可以通過指定支持度和置信度的最低閾值min_sup和min_conf,根據(jù)公式(1)和(2),要想找出滿足條件的關聯(lián)規(guī)則,首先必須找出這樣的集合F=A∪B,它滿足:
F.count/T.count≥min_sup
(3)
其中,F(xiàn).count 是T中包含F(xiàn)的事務的個數(shù),然后從F中找出這樣的蘊含式A→B,它滿足:
(A,B).count/A.count≥min_conf
(4)
1.3 關聯(lián)規(guī)則挖掘算法
最著名的關聯(lián)規(guī)則挖掘算法是Apriori算法,該算法使用一種稱為逐層搜索的迭代方法,其中k-頻繁項目集用于探索(k+1)-頻繁項目集。首先,通過掃描事務數(shù)據(jù)庫,累計每個項的計數(shù),并收集滿足最小支持度的項,找出1-頻繁項目集,該集合記為L1。然后,使用L1找出2-頻繁項目集,記為L2,使用L2找出L3,如此下去,直到不能再找到k-頻繁項目集。找出每個Lk需要一次事務數(shù)據(jù)庫的完整掃描。具體實現(xiàn)步驟如下:
步驟1 頻繁項目集的生成過程。
首先要做的是找出1-頻繁項目集,這個很容易做到,只要循環(huán)掃描一次事務集合統(tǒng)計出項目集合中每個元素的支持度,然后根據(jù)設定的支持度閾值進行篩選,即可得到1-頻繁項目集。圖2給出Apriori算法和它的相關過程的偽代碼。
圖2 挖掘關聯(lián)規(guī)則發(fā)現(xiàn)頻繁項集的Apriori算法
步驟2 在步驟1得出的頻繁項目集中找出滿足條件的關聯(lián)規(guī)則。
一旦由步驟1生成滿足條件的頻繁項目集,就可以直接由它們產(chǎn)生強關聯(lián)規(guī)則。根據(jù)公式(2),可以如下描述產(chǎn)生關聯(lián)規(guī)則:
(1)對于每個頻繁項目集l,產(chǎn)生l的所有非空子集。
1.4 Apriori算法實例驗證
假如有項目集合I={牛奶I1,面包I2,薯片I3,果汁I4,奶酪I5},如表2所示,有事務集T。設定minsup=3/7,minconf=5/7。以Apriori算法為例來說明具體流程。
表2 事務數(shù)據(jù)庫
1.4.1 生成頻繁項目集
步驟1 生成1-頻繁項目集。
{I1},{I2},{I3},{I4},{I5}
步驟2 生成2-頻繁項目集。
根據(jù)1-頻繁項目集生成所有的包含2個元素的項目集,任意取兩個只有最后一個元素不同的1-頻繁項目集,求其并集,由于每個1-頻繁項目集元素只有一個,所以生成的項目集如下:
{I1,I2},{I1,I3},{I1,I4},{I1,I5}
{I3,I4},{I3,I5}
{I4,I5}
計算它們的支持度,發(fā)現(xiàn)只有{I1,I2},{I1,I3},{I1,I4},{I2,I3},{I2,I4}的支持度滿足要求,因此求得2-頻繁項目集:{I1,I2},{I1,I3},{I1,I4},{I2,I3},{I2,I4}。
步驟3 生成3-頻繁項目集。
因為{I1,I2},{I1,I3},{I1,I4}除了最后一個元素以外都相同,所以求{I1,I2},{I1,I3}的并集得到{I1,I2,I3},{I1,I2}和{I1,I4}的并集得到{I1,I2,I4},{I1,I3}和{I1,I4}的并集得到{I1,I3,I4}。但是由于{I1,I3,I4}的子集{I3,I4}不在2-頻繁項目集中,所以需要把{I1,I3,I4}剔除掉。然后再來計算{I1,I2,I3}和{I1,I2,I4}的支持度,發(fā)現(xiàn){I1,I2,I3}的支持度為3/7,{I1,I2,I4}的支持度為2/7,所以需要把{I1,I2,I4}剔除。
同理可以對{I2,I3},{I2,I4}求并集得到{I2,I3,I4},但是{I2,I3,I4}的支持度不滿足要求,所以需要剔除掉。因此得到3-頻繁項目集:{I1,I2,I3}。
1.4.2 生成強關聯(lián)規(guī)則
以3-頻繁項目集為例,其生成關聯(lián)規(guī)則的過程如下:
對于集合{I1,I2,I3},先生成1-后件的關聯(lián)規(guī)則:
(I1,I2)→I3,置信度=3/4;(I1,I3)→I2,置信度=3/5;(I2,I3)→I1,置信度=3/3。(I1,I3)→I2的置信度不滿足要求,所以剔除掉。因此得到1-后件的集合{I1},{I3},然后再以{I1,I3}作為后件。(I1,I3)→I2的置信度=3/5不滿足要求,所以對于3-頻繁項目集生成的強關聯(lián)規(guī)則為:(I1,I2)→I3和(I2,I3)→I1。
2.1 建模工具
采用頂尖數(shù)據(jù)挖掘平臺TipDM中的Apriori算法進行關聯(lián)規(guī)則挖掘。TipDM平臺能從各種數(shù)據(jù)源獲取數(shù)據(jù),建立各種不同的數(shù)據(jù)挖掘模型,能夠滿足各種復雜的應用需求。TipDM的典型應用場景包括:智能營銷、模式識別、信用等級、故障診斷、風險評估、欺詐預警等。
2.2 模型輸入
模型數(shù)據(jù)的輸入有兩部分:建模樣本數(shù)據(jù)和建模參數(shù),建模參數(shù)的設置見表3所示。
表3 Apriori關聯(lián)規(guī)則建模參數(shù)
建模樣本數(shù)據(jù)見表1和表4,為了說明問題,僅選擇了部分樣本進行建模。
表4 預處理后購買記錄
2.3 仿真過程
建模仿真過程如圖2所示。
圖2 仿真過程示意圖
仿真過程說明如下:
(1)登錄TipDM平臺,在方案管理頁面中,新建方案或者打開一個已建方案。
(2)切換到數(shù)據(jù)管理頁面,上傳客戶消費樣本數(shù)據(jù)文件。
(3)選擇Apriori關聯(lián)規(guī)則挖掘算法進行模型構建。
(4)對挖掘的關聯(lián)規(guī)則進行分析。
2.4 結果及分析
當設置Apriori算法的最小置信度為0.9,增量為0.05,規(guī)則條數(shù)為10,顯著性水平為-1.0,最小支持度下界為0.1,最小支持度上界為1.0時,產(chǎn)生的項集L(1)的大小為6,項集L(2)的大小為4,項集L(3)的大小為1,挖掘出來的強關聯(lián)規(guī)則如表5所示。
通過對以上購物籃數(shù)據(jù)進行分析,發(fā)現(xiàn)商品之間的相關性,對于指導未來的超市商品分組布局與促銷活動提供了很大幫助,也為零售商進行市場定位、商品定價以及新商品采購等進行決策提供有力幫助。
[1]Jiawei Han,Micheline Kamber,Jian Pei.數(shù)據(jù)挖掘概念與技術[M].北京:機械工業(yè)出版社,2013:160-165.
[2]劉錫鈴.關聯(lián)規(guī)則挖掘算法及其在購物籃分析中的應用研究[D].蘇州大學,2009.
[3]陳麗芳.基于Apriori算法的購物籃分析 [J].重慶工商大學學報(自然科學版),2014,31(5):84-89.
[4]李愛鳳.基于數(shù)據(jù)挖掘技術的購物籃模式研究[J].計算機應用與軟件,2011,(12):156-158.
表5 挖掘出來的強關聯(lián)規(guī)則
[5]黃宏本,盧雪燕.關聯(lián)規(guī)則挖掘在超市銷售系統(tǒng)中的應用及實現(xiàn)[J].梧州學院學報,2011,(3):59-63.
[6]劉明會,韓朝.基于關聯(lián)規(guī)則Apriori算法進行購物籃分析[J].中國商貿(mào),2014,(9):17-20.
[7]朱龍.利潤約束的關聯(lián)規(guī)則挖掘算法[J].華僑大學學報(自然科學版),2015,36(5):522-526.
[8]李洪燕,萬新.基于關聯(lián)規(guī)則分析的產(chǎn)品銷售推薦的應用[J].四川理工學院學報(自然科學版),2013,(2).
Analysis and Modeling Simulation Research of Shopping Basket Based on Association Rule Mining Algorithm
LI Wen-juan
(Dingxi Teachers College, Dingxi Gansu 743000, China)
To set the principles of market positioning, price commodifty, purchasing new commadities for a shopping malls, the process of association rules mining and Apricri alogrithm are used in the analysis of a shopping basket data set. The conclusion is also helpful to products layout and salse promotions.
support degree; confidence; association rule mining; Apriori algorithm; modeling and simulation
2016-12-30
定西師范高等??茖W校校級項目(TD2016YB04)
李文娟(1984-),女,甘肅定西人,講師,在讀工程碩士,研究方向為大數(shù)據(jù)及數(shù)據(jù)挖掘算法。
TP31
A
1674-344X(2017)2-0066-04