摘 要:關(guān)聯(lián)規(guī)則是數(shù)據(jù)挖掘中的重要問題,有廣泛的用途。本文在關(guān)聯(lián)規(guī)則挖掘中引入了利潤(rùn)和數(shù)量的約束條件,描述了具有利潤(rùn)和數(shù)量約束的關(guān)聯(lián)規(guī)則問題,并給出了解決的方案。
關(guān)鍵詞:利潤(rùn);夾擊算法;關(guān)聯(lián)規(guī)則
中圖分類號(hào):TP311.13
除了基本Apriori算法[1-2],其他算法改進(jìn)數(shù)據(jù)挖掘整體性能的方法,基本都集中在減少掃描數(shù)據(jù)的次數(shù)方面,并且這些算法基本都是單層次的關(guān)聯(lián)規(guī)則的挖掘算法。
但是,只有提供多層次的關(guān)聯(lián)規(guī)則,才能滿足讓用戶做不同的決策的需求。多層關(guān)聯(lián)規(guī)則挖掘算法與單層次關(guān)聯(lián)規(guī)則算法相比較,其得到的關(guān)聯(lián)規(guī)則能夠表達(dá)的信息更豐富。但是這種關(guān)聯(lián)規(guī)則依然是商品間的簡(jiǎn)單關(guān)系,并無涉及商品利潤(rùn)和及其購買數(shù)量,本文用一種全新角度來分析關(guān)聯(lián)規(guī)則:即結(jié)合利潤(rùn)和數(shù)量,使獲得的關(guān)聯(lián)規(guī)則不止是反映商品間的關(guān)系,還可以為決策者分析商品利潤(rùn)率提供有用的知識(shí)。
1 實(shí)驗(yàn)準(zhǔn)備
本文采用實(shí)驗(yàn)的方式來驗(yàn)證所提出的加入數(shù)量及利潤(rùn)約束的多層次關(guān)聯(lián)規(guī)則挖掘算法,并對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行分析。實(shí)驗(yàn)過程可描述如下:
第一步:生成交易數(shù)據(jù)。
設(shè)定待生成數(shù)據(jù)的參數(shù)以及交易數(shù)和數(shù)據(jù)格式。在此,本文采用《日照市某超市銷售管理系統(tǒng)》中部分商品的銷售數(shù)據(jù)為研究對(duì)象,鑒于數(shù)據(jù)規(guī)模較大,本文中實(shí)驗(yàn)數(shù)據(jù)選用了其中的10種商品項(xiàng)目,并分別以A、B、C、D、E、F、G、H、I、J代表。為了在分析挖掘出的關(guān)聯(lián)規(guī)則時(shí)使用利潤(rùn)率這一指標(biāo),實(shí)驗(yàn)數(shù)據(jù)中要包含商品的成本和單價(jià)。
第二步:將商品項(xiàng)目進(jìn)行歸納分類。
建立一個(gè)多層次的架構(gòu),并且應(yīng)用一般化識(shí)別編碼方式將數(shù)據(jù)編碼轉(zhuǎn)換。
第三步:在多層次架構(gòu)中,將夾擊算法套用于多層次結(jié)構(gòu)上。
第四步:對(duì)挖掘出的關(guān)聯(lián)規(guī)則,加入數(shù)量和利潤(rùn)因素進(jìn)行分析。
2 多層次關(guān)聯(lián)規(guī)則挖掘中套用夾擊算法[3]
首先,選取《日照市某超市銷售管理系統(tǒng)》中的部分交易數(shù)據(jù)建立起一個(gè)小型的交易庫。商品項(xiàng)目用A-J代號(hào)來表示,并且用層次化的樹狀圖歸納分類,并利用一般化識(shí)別編碼表示,如下圖所示。
圖1
如商品A對(duì)應(yīng)的一般化識(shí)別編碼為“111”,其中第一個(gè)“1”是第一層的類別“食品”;第二個(gè)“1”指第二層的“糧食”類,第三個(gè)“1”則代表第三層中的具體商品A。其他項(xiàng)目以此類推。其次,在商品銷售表中隨機(jī)選取交易數(shù)據(jù)。對(duì)商品項(xiàng)目分層并編碼之后,交易數(shù)據(jù)具有了層次密集的性質(zhì)。但是如果表示類別的層增加較多,產(chǎn)生的組合及候選項(xiàng)集長(zhǎng)度也隨之增加,那么在挖掘頻繁項(xiàng)集時(shí)效率將降低。本文實(shí)驗(yàn)中,利用夾擊算法,在最高類別層中挖掘出頻繁項(xiàng)集,用此頻繁項(xiàng)集與交易數(shù)據(jù)進(jìn)行比較,如果商品項(xiàng)目符合該層次最小支持度,就保留該商品項(xiàng)數(shù)據(jù),若不符合,則將該交易數(shù)據(jù)刪除。比之傳統(tǒng)的Apriori算法,減少了數(shù)據(jù)量,從而提高了算法的效率。
3 以購買數(shù)量和利潤(rùn)作為約束條件的關(guān)聯(lián)規(guī)則分析
通常情況下,數(shù)據(jù)挖掘得到的關(guān)聯(lián)規(guī)則,僅表征人們的一種購買趨勢(shì),加入利潤(rùn)約束后,也只能得出低利潤(rùn)商品或者高利潤(rùn)商品之間的關(guān)聯(lián)規(guī)則。無法得知商品的銷售數(shù)量,因此本文將交易數(shù)據(jù)中所購買商品的數(shù)量屬性也納入關(guān)聯(lián)規(guī)則挖掘的約束條件,并加上商品的利潤(rùn)來分析在利潤(rùn)和數(shù)量共同約束下關(guān)聯(lián)規(guī)則的意義。
商品購買數(shù)量,在實(shí)驗(yàn)中,定義為對(duì)各種商品項(xiàng)目購買數(shù)量與交易筆數(shù)之比,即該商品購買數(shù)量的平均值。
購買數(shù)量可以由下例所示進(jìn)行計(jì)算。例如,MA*PA→MA*PB+MC*PC,MA,MB,MC;代表A、B、C商品的購買數(shù)量;而PA、PB、PC則分別代表其利潤(rùn)。下表為商品交易表中不含數(shù)量和含數(shù)量?jī)煞N不同的表示方式。
表1
商品編號(hào)交易商品項(xiàng)(不含數(shù)量)交易商品項(xiàng)(含數(shù)量)
1ABCA2B2C1
2ABCA1B2C1
3ACA2C4
可以用以下的例子來說明,加入利潤(rùn)和數(shù)量后挖掘出的關(guān)聯(lián)規(guī)則的意義。
假設(shè)有A、B、C三項(xiàng)商品,其單件商品利潤(rùn)分別為1、6、3元。上表中的三項(xiàng)交易數(shù)據(jù)用{AABBC,ABBC,AACCC}表示,AABBC表示購買了2個(gè)A商品,2個(gè)B商品,以及1個(gè)C商品。另外兩個(gè)數(shù)據(jù)項(xiàng)以此類同。假設(shè)對(duì)此三項(xiàng)數(shù)據(jù)應(yīng)用夾擊算法,得出一條關(guān)聯(lián)規(guī)則A→B。該關(guān)聯(lián)規(guī)則并不包含商品的購買數(shù)量?,F(xiàn)在我們把商品數(shù)量約束加入,按照上文所述,則A的數(shù)量應(yīng)為:(2+1+2)/3=1.67;B的數(shù)量為(2+2+0)/3=1.33,C則為(1+1+4)/3=2。對(duì)于得到的關(guān)聯(lián)規(guī)則A→B,將購買數(shù)量以及利潤(rùn)作為約束來分析關(guān)聯(lián)規(guī)則A→B,得到1.67*(A商品的利潤(rùn))→1.33*(B商品的利潤(rùn)),原關(guān)聯(lián)規(guī)則變?yōu)椋?.67*1)→(1.33*7),因此得到3.34→7.98的結(jié)果。這樣由僅表示A、B商品簡(jiǎn)單相關(guān)的關(guān)聯(lián)規(guī)則,在加入商品購買數(shù)量及利潤(rùn)后,可以表示此關(guān)聯(lián)規(guī)則能否帶來較高的獲利性,這樣,挖掘出的規(guī)則的價(jià)值大大提升,可以更好的提供給決策者作為參考。在得到這些關(guān)聯(lián)規(guī)則后,通過對(duì)每條關(guān)聯(lián)規(guī)則加入數(shù)量以及利潤(rùn)的分析,比較,經(jīng)營(yíng)者可以在銷售的時(shí)候靈活的搭配不同利潤(rùn)率的商品,從而引導(dǎo)消費(fèi)者在購買了低利潤(rùn)的商品后,會(huì)進(jìn)一步購買與之相關(guān)聯(lián)的高利潤(rùn)商品。使決策者能夠快速有效并且正確的挖掘出關(guān)聯(lián)規(guī)則,并通過挖掘出的知識(shí)來獲得最大利益。
4 結(jié)束語
通常情況下,關(guān)聯(lián)規(guī)則挖掘并不考慮購買數(shù)量,只能表達(dá)出購買商品的行為趨勢(shì)涵義。通俗的說就是將兩種商品放在一起共同搭配銷售,雖然能賣的更多,但是并不一定比單獨(dú)銷售獲利更高。因此,作者在實(shí)驗(yàn)中,通過夾擊算法應(yīng)用于多層次架構(gòu)中,高效的挖掘關(guān)聯(lián)規(guī)則,并以購買數(shù)量和利潤(rùn)做為約束分析得到的關(guān)聯(lián)規(guī)則,使挖掘出的關(guān)聯(lián)規(guī)則能夠表達(dá)出兩種商品搭配銷售所帶來的利潤(rùn)提高能力。因此以利潤(rùn)和數(shù)量為約束條件的關(guān)聯(lián)規(guī)則挖掘分析與傳統(tǒng)的關(guān)聯(lián)規(guī)則相比,可以更好的幫助商家做出決策。
參考文獻(xiàn):
[1]Agrawl R,et al. Mining Association Rules Between Sets of Items in Large Databases[C].In:Proc. of 1993 ACM SIGMOD Conf. Washington DC.USA,May 1993:207-216.
[2]R.Srikant, and R Agrawal. Mining quantitative association rules.Proceedings of the 21st International Conference on Very Large Database,1995,pp.407-419.
[3]Cai C H.Fu A W C H.Mining Association Rules with Weighted Items[A].1998:68-77.
[4]歐陽為民,鄭誠,蔡慶生.數(shù)據(jù)庫中加權(quán)關(guān)聯(lián)規(guī)則的發(fā)現(xiàn)[J].軟件學(xué)報(bào).2001(04):612-619.
作者簡(jiǎn)介:張?jiān)平。?978.09-),男,山東無棣人,講師,碩士,主要研究方向:計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)、數(shù)據(jù)庫與數(shù)據(jù)挖掘。
作者單位:山東水利職業(yè)學(xué)院,山東日照 276826