大型超市購物籃問題_第1頁
大型超市購物籃問題_第2頁
大型超市購物籃問題_第3頁
大型超市購物籃問題_第4頁
大型超市購物籃問題_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

1、大型超市“購物籃”分析摘要本文通過對大型超市“購物籃”的分析,運用Apriori算法的思想,做出相應的改進,利用支持度和置信度的大小進行一定程度的篩選,結(jié)合商品的利潤大小,引入促銷系數(shù),通過促銷系數(shù)的比較,得到科學的商品組合情況,設計一定的商品促銷手段,實現(xiàn)超市效益的進一步增大。 對于問題一,我們參考了一種最有影響的挖掘布爾關(guān)聯(lián)規(guī)則頻繁項集的算法Apriori算法。用matlab編程,得到每兩個商品同時出現(xiàn)的個數(shù),并求得它們的支持度和相互的置信度,設定最低支持度為5%,得到符合的兩種商品組合數(shù)為17組。設定最低置信度為20%,對17組數(shù)據(jù)進行篩選,得到12組商品組合。最后通過關(guān)聯(lián)密切系數(shù)的大小

2、,得到了12組商品組合彼此關(guān)聯(lián)關(guān)系的密切程度。對于問題二,僅考慮商品支持度的大小,求得在一定最小支持度下被頻繁地同時購買的商品組合。用matlab編程,設置最小支持度為2.12%,篩選兩個商品組合時,我們得到了1391種組合方式,在此基礎上篩選三個商品組合時,我們得到了40種組合方式;再繼續(xù)篩選四個商品組合得到35種,最后篩選五個商品得到一種組合,六個商品組合時則沒有出現(xiàn)大于最小支持度的組合方式。因此,我們得到了盡可能多的商品被頻繁同時購買的信息。對于問題三,在結(jié)合商品利潤的條件下,引入促銷系數(shù)H,考慮1391個兩種商品組合中各商品的利潤、支持度和置信度,分別計算出三者的乘積之和進行比較。選取

3、促銷系數(shù)H較高的組合商品采取就近擺放、打折促銷、消費送禮等捆綁銷售方式得到一種促銷方案,使得超市的效益進一步增大。關(guān)鍵詞:購物籃分析、Apriori算法、促銷系數(shù)一、問題重述作為超市的經(jīng)理,經(jīng)常關(guān)心的問題是顧客的購物習慣。他們想知道:“什么商品組或集合顧客多半會在一次購物時同時購買?”?,F(xiàn)在假設你們是某超市的市場分析員,已經(jīng)掌握了該超市近一個星期的所有顧客購買物品的清單和相應商品的價格,需要你們給超市經(jīng)理一個合理的“購物籃”分析報告,并提供一個促銷計劃的初步方案。問題一: 附件1中的表格數(shù)據(jù)顯示了該超市在一個星期內(nèi)的4717個顧客對999種商品的購買記錄,對數(shù)據(jù)進行分析,試建立一種數(shù)學模型,使

4、該模型能定量表達超市中多種商品間的關(guān)聯(lián)關(guān)系的密切程度。問題二:根據(jù)問題1建立的模型,通過一種快速有效的方法從附件1中的購買記錄中分析出哪些商品是最頻繁被同時購買的,找到的最頻繁被同時購買的商品數(shù)量越多越好。問題三:附件2給出了這999中商品的對應的利潤,根據(jù)在問題1、問題2中建立的模型,設定一種初步的促銷方案,使超市的效益進一步增大。二、模型的假設1、假設各個商品的利潤保持不變。2、假設表格中的數(shù)據(jù)能真實地反映當?shù)叵M者的購物情況。3、假設短時間內(nèi)商品的銷售情況維持穩(wěn)定,不會出現(xiàn)大幅波動。三、符號說明符號解釋說明si組合i的支持度c(A=>B)規(guī)則A=>B的置信度c(B=>A

5、)規(guī)則B=>A的置信度ci 組合i的平均置信度smin最小支持度cmin最小置信度關(guān)聯(lián)密切系數(shù)H促銷系數(shù)四、問題分析本題是關(guān)于大型超市“購物籃”的分析問題,涉及到數(shù)據(jù)挖掘、關(guān)聯(lián)規(guī)則等相關(guān)問題。本題的三個問題是層層遞進的關(guān)系,要求通過對商品購買數(shù)據(jù)的分析,找到關(guān)聯(lián)程度較高且購買次數(shù)較高的商品,最后設計出合理的超市促銷方案。問題一,由于購物籃分析是關(guān)聯(lián)規(guī)則挖掘的一個典型案例,因此我們采用一種最有影響的挖掘布爾關(guān)聯(lián)規(guī)則頻繁項集的算法Apriori算法。利用其基本思想,進行了商品兩種之間的支持度和置信度計算,在定義最小支持度和最小置信度后,進行篩選得到關(guān)聯(lián)規(guī)則集。為定量地表達超市中多種商品間的關(guān)

6、聯(lián)關(guān)系的密切程度,本文引入一個關(guān)聯(lián)密切系數(shù)進行衡量分別對12個組合求解平均置信度,進而得到該組的關(guān)聯(lián)密切系數(shù)。由此認為,關(guān)聯(lián)密切系數(shù)越大的商品組合,其關(guān)聯(lián)關(guān)系密切程度較高。問題二,在得到商品兩種關(guān)聯(lián)數(shù)據(jù)的基礎上,僅考慮商品支持度的大小,求得在一定最小支持度下被頻繁地同時購買的商品組合。同時為使商品數(shù)量盡量多,我們在兩種組合的情況下延伸至三種組合,四種組合以此得到盡可能多的商品被頻繁同時購買的信息,盡量靠近最頻繁被同時購買且商品數(shù)量越多的雙重目標。問題三,在結(jié)合商品利潤的條件下,考慮兩種組合中各商品的利潤、支持度和置信度,分別計算出三者的乘積再求和,記為促銷系數(shù)H,并以此作為衡量此組合商品是否進

7、行促銷的標準。當結(jié)果較高時,我們就采取就近擺放、打折促銷、消費送禮等捆綁銷售方式式得到一種促銷方案,在方便顧客的購買的同時,增加消費者對該超市的有好感和信任度,最終使得超市的效益進一步增大。五、模型的建立和求解模型一:基于Apriori算法的關(guān)聯(lián)規(guī)則挖掘模型1. 模型的準備 設: I= i1,i2.,im 是所有項目的集合. D是所有事務的集合(即數(shù)據(jù)庫), 每個事務T是一些項目的集合, T包含在D中, 每個事務可以用唯一的標識符TID來標識.設X為某些項目的集合,如果X包含在T中,則稱事務T包含X,關(guān)聯(lián)規(guī)則則表示為如下形式(X包含在T)=>(Y包含在T)的蘊涵式,這里X包含在I中, Y

8、包含在I中,并且XY=.其意義在于一個事務中某些項的出現(xiàn),可推導出另一些項在同一事務中也出現(xiàn)(為簡單化,將(X包含在T)=>(Y包含在T)表示為X=>Y,這里,=> 稱為關(guān)聯(lián)操作,X稱為關(guān)聯(lián)規(guī)則的先決條件,Y稱為關(guān)聯(lián)規(guī)則的結(jié)果). 事務數(shù)據(jù)庫D中的規(guī)則X=>Y是由支持度s(support)和置信度c(confidence)約束,置信度表示規(guī)則的強度, 支持度表示在規(guī)則中出現(xiàn)的頻度。數(shù)據(jù)項集X的支持度s(X)是D中包含X的事務數(shù)量與D的總事務數(shù)量之比, 但為下文便于敘述, 數(shù)據(jù)項集X的支持度是用數(shù)據(jù)庫D中包含X的數(shù)量來表示; 規(guī)則X=>Y的支持度s定義為: 在D中包

9、含XY的事務所占比例為s%, 表示同時包含X和Y的事務數(shù)量與D的總事務量之比。用該項集出現(xiàn)的次數(shù)除以TID總數(shù)即可得到,用如下公式表示:Support(X)=Count(X)/Count(TID) 規(guī)則X=>Y的置信度c定義為: 在D中,c%的事務包含X的同時也包含Y, 表示D中包含X的事務中有多大可能性包含Y. 依據(jù)所求的頻繁項集,及所求得的支持度,運用如下公式求解:Confidence(X=>Y)=Support(XY)/Support(X) 最小支持度閾值minsupport表示數(shù)據(jù)項集在統(tǒng)計意義上的最低主要性. 最小置信度閾值mincontinence表示規(guī)則的最低可靠性.

10、 如果數(shù)據(jù)項集X滿足X.support>=minsupport, 則X是大數(shù)據(jù)項集. 一般由用戶給定最小置信度閾值和最小支持度閾值.置信度和支持度大于相應閾值的規(guī)則稱為強關(guān)聯(lián)規(guī)則, 反之稱為弱關(guān)聯(lián)規(guī)則. 發(fā)現(xiàn)關(guān)聯(lián)規(guī)則的任務就是從數(shù)據(jù)庫中發(fā)現(xiàn)那些置信度、支持度大小等于給定值的強壯規(guī)則. 基于上述概念,我們可以很容易得到一些基本結(jié)論: (1) K維數(shù)據(jù)項集XK是頻繁項集的必要條件是它所有K-1維子項集也為頻繁項集,記為XK-1(2) 如果K維數(shù)據(jù)項集XK的任意一個K-1維子集XK-1,不是頻繁項集,則K維數(shù)據(jù)項集XK本身也不是最大數(shù)據(jù)項集。 (3) XK是K維頻繁項集,如果所有K-1維頻繁項

11、集集合XK-1中包含XK的K-1維子項集的個數(shù)小于K,則XK不可能是K維最大頻繁數(shù)據(jù)項集。 證明: 很明顯,數(shù)據(jù)項集XK-1:的K-1維子項集的個數(shù)為K-1。如果高頻繁數(shù)據(jù)項集XK-1,中包含XK的K-1.維子項集的個數(shù)小于K,則存在XK的K-1維子項集不是頻繁數(shù)據(jù)項集,由結(jié)論(2)知K維數(shù)據(jù)項集本身也不是高頻繁數(shù)據(jù)項集。 2、 模型的建立(1)求關(guān)聯(lián)規(guī)則集第一步:從事務數(shù)據(jù)庫D中找出所有支持度不小于指定的最小支持度閾值的頻繁項集。第二步:使用頻繁項集產(chǎn)生所期望的關(guān)聯(lián)規(guī)則,產(chǎn)生關(guān)聯(lián)規(guī)則的基本原則是其置信度不小于指定的最小置信度閾值。第一步的任務是迅速高效地找出D中全部的頻繁項集,這是關(guān)聯(lián)規(guī)則挖

12、掘的核心問題,是衡量關(guān)聯(lián)規(guī)則挖掘算法的標準。對此,我們運用Matlab進行編程得出計算結(jié)果。第二步的求解比較容易和直接,先分別計算出不小于最小支持度的商品組合對應的置信度,降序后進行篩選。最后只留下支持度和置信度都較高的商品組合。此建模過程可以表示為:圖1 關(guān)聯(lián)規(guī)則挖掘模型示意圖(2) 關(guān)聯(lián)關(guān)系的密切程度表示 對商品組合數(shù)據(jù)的挖掘結(jié)果進行整理,得到關(guān)聯(lián)規(guī)則表格,再利用表格中各商品組合對應的支持度和平均置信度表示組合的關(guān)聯(lián)關(guān)系。例如:在組合i中,有兩個編號分別為、的兩個商品,其支持度為,平均置信度為,則該組合的關(guān)聯(lián)關(guān)系可以表示為().為定量表達超市中多種商品間的關(guān)聯(lián)關(guān)系的密切程度,我們引入一個關(guān)

13、聯(lián)密切系數(shù)來衡量,我們認為當支持度和置信度分別大于距離最低支持度和最低置信度時,其距離越遠,關(guān)聯(lián)程度越高,于是得到其公式為:其中,為組合i的支持度,為該組合的平均置信度,和分別為該類組合的最小支持度和最小置信度。用圖表示為:圖2 關(guān)聯(lián)密切系數(shù)示意圖將12組商品組合的支持度和平均置信度帶入關(guān)聯(lián)密切系數(shù)的公式中進行計算,將所得數(shù)據(jù)列表降序排列,關(guān)聯(lián)系數(shù)越大的商品組合的關(guān)聯(lián)關(guān)系的密切程度越大。3、 模型的求解對于問題1:(1) 將最小支持度設定為5%,從4717個原始數(shù)據(jù)項中得到個數(shù)為17的頻繁項集。按支持度降序排列后,依次編號,整理得到表1:表1 兩種組合頻繁項集表組合i編號A編號B支持度1368

14、5290.07079270923688290.0663416732173680.06167867743684890.06167867753686820.06125476963684190.05701568573689370.05553200583686920.05532005193685100.055108097103689140.054896142115296920.054472234125298290.054048326133687200.0527766144385290.051716829152175290.051292921166928290.051080967174198290.05

15、023315對由上表得到的數(shù)據(jù),分別計算各個組合相互的置信度,并將最小置信度設定為20%,剔除部分數(shù)據(jù)后得到關(guān)聯(lián)規(guī)則集。再對數(shù)據(jù)列表的s(A=>B)進行降序處理,重新編號后得到表2: 表2 關(guān)聯(lián)規(guī)則表組合i編號A編號B支持度s置信度c(A=>B)置信度c(B=>A)12173680.0616786770.3112299470.21748878926928290.0510809670.2960687960.21849501434385290.0517168290.2867215040.2240587742175290.0512929210.2588235290.22222222

16、254198290.050233150.2513255570.2148685463685290.0707927090.2496263080.30670339875296920.0544722340.2359963270.31572481685298290.0540483260.234159780.2311876793688290.066341670.2339312410.283771532103684890.0616786770.2174887890.328442438113686820.0612547690.2159940210.352869353123684190.0570156850.2

17、010463380.285259809 最后留下的12個支持度和置信度都較高的商品組合即為關(guān)聯(lián)規(guī)則集。(3) 為定量地表達超市中多種商品間的關(guān)聯(lián)關(guān)系的密切程度,分別對12個組合求解平均置信度,進而得到該組的關(guān)聯(lián)密切系數(shù)。如表3所示:表3 關(guān)聯(lián)密切評定表組合i編號A編號B支持度平均置信度關(guān)聯(lián)密切系數(shù)12173680.0616786770.2643593680.06541039526928290.0510809670.2572819050.05729210334385290.0517168290.2553901370.05541673742175290.0512929210.2405228760.

18、04054349754198290.050233150.2330970490.0330978763685290.0707927090.2781648530.08088313175296920.0544722340.2758605710.07599228485298290.0540483260.2326737250.03292356793688290.066341670.2588513860.061078113103684890.0616786770.2729656140.073894332113686820.0612547690.2844316870.085178516123684190.05

19、70156850.2431530730.043719648對于問題2:本題要求最頻繁被同時購買、商品數(shù)量越多越好的商品組合。由支持度的定義可知,某商品組合的支持度越高,表示該組合越頻繁被同時購買。我們采用問題一中的數(shù)據(jù),將所篩選出的商品種類選出,與上述兩種商品的組合進行匹配,去掉重復項,得到三種商品組合,挑選出滿足支持度support的組合。同樣進行滿足支持度的四種商品、五種商品、六種商品的選擇依次循環(huán)直到?jīng)]有符合最低支持度的組合程序結(jié)束。以此進行matlab編程,見附錄。(1) 我們設定support為2.12%,得到1391種組合,在問題一中我們列出了其中一些組合。(2) 對于三種商品組合

20、符合support為2.12%的組合數(shù)為40個,由于版面限制,以下列出頻繁項集為最高的15種組合:表4 三種組合頻繁項集表組合i編號A編號B編號C次數(shù)支持度13684896821240.02628789524135389561220.02586389734245727971160.02459190244135387971150.02437990254135729561140.02416790364137979561140.02416790375387979561140.02416790384134249561130.02395590494138269561120.023743905104245

21、729561120.023743905115387978261110.023531906125388269561110.023531906135727979561110.023531906147978269561110.023531906154135727971100.023319907(3) 四種商品組合有35種,以下頻繁項集為前15種:表5 四種組合頻繁項集表組合i編號A編號B編號C編號D次數(shù)支持度14134245729561070.02268390924135727979561070.02268390934245727979561070.0226839094413424797956106

22、0.02247191054135387978261060.02247191064135387979561060.02247191074137978269561060.02247191084134245387971050.02225991194134245727971050.022259911104134247978261050.022259911114135385729561050.022259911124135388269561050.022259911134135728269561050.022259911144245385727971050.02225991115538797826956

23、1050.022259911(5) 由編程得出的結(jié)果中,五種商品組合的結(jié)果只有一個。編號分別為413、424、538、572、797,重復次數(shù)為102,支持度為2.12%。六種商品組合沒有符合的結(jié)果。從五種組合的數(shù)據(jù)來看,我們有理由認為表5中所列出的四種商品組合和編號分別為413、424、538、572、797的五種組合即為所求的最頻繁被同時購買、商品數(shù)量多的商品組合。在實際應用中,對于不同的超市,其要求的支持度support不同,可自行設置。模型二:效益最大化模型1、 模型的建立 為使超市的效益盡可能增大,必須同時考慮兩個因素:(1)頻繁被同時購買的商品組合;(2)對應商品組合的利潤是否最高

24、。 由第一個基于Apriori算法的關(guān)聯(lián)規(guī)則挖掘模型可以得到,頻繁被同時購買的兩種商品組合數(shù)據(jù)。為衡量這些組合的效益,本文引入了促銷系數(shù): 其中,為組合i中商品的利潤之和。對于問題3:第一步:利益最大化模型只考慮兩種組合的情形,分別計算表1中17個組合的促銷系數(shù),并將得到的結(jié)果進行降序排列,得到表6:表6 兩種組合促銷系數(shù)表組合編號A編號B支持度置信度A=>B置信度B=>A利潤和促銷系數(shù)H13685290.0707927090.2496263080.306703398575.9522.683264925296920.0544722340.2359963270.31572481655

25、7.5616.756620133688290.066341670.2339312410.283771532479.6416.4733636443684190.0570156850.2010463380.285259809587.9316.3015810254385290.0517168290.2867215040.22405877559.8214.7881693466928290.0510809670.2960687960.218495014461.2512.1236873475298290.0540483260.234159780.23118767473.7711.9159080484198

26、290.050233150.2513255570.21486854485.7511.3754868393686820.0612547690.2159940210.352869353315.25910.9853873103684890.0616786770.2174887890.328442438296.11889.971005752112173680.0616786770.3112299470.217488789296.11889.656633102122175290.0512929210.2588235290.222222222290.24887.161669045 由上表可以得出,編號為5

27、29的商品可以和368,692,428,829,217擺放在一起,368可以和529,892,419,682,489,217擺放在一起。為了更好的說明商品的擺放順序,作圖2,其中方框中的數(shù)字表示商品編碼,直線上的數(shù)字表示該直線兩端商品組合的促銷系數(shù)。圖2 促銷關(guān)系網(wǎng)絡示意圖 由圖2可直觀看出,編號為368的商品應優(yōu)先考慮和529擺放一起,再考慮和829一起。編號為529的商品再和692一起在實際情況中,即可操作為,將829,368,529,692放在同一貨架上,其他的放在臨近貨架,并根據(jù)實際情況進行調(diào)整。第二步:打折促銷由第一步可以獲得利潤高又頻繁被同時購買的商品組合,為方便顧客選購同時提高超

28、市的利潤值,我們決定將這些商品組合擺放在相同或相近貨架上,采取“捆綁”銷售的理念,進行打折促銷。首先找出符合以下要求的組合:若一個商品組合中有一個利潤較大,我們可以對此商品進行打折,其他商品價格不變。經(jīng)過多次進行市場實踐調(diào)查,得到當打折為f(i)的時候可以得到最大的利潤,那么f(i)就是我們需要的打折數(shù)據(jù)。以表格X中組合(X,Y)為例,在促銷過程中,我們可以對利潤較高的編號為X商品打折f(i),保持Y商品價格不變。第三步:提高最低消費為降低部分顧客只購買打折商品的發(fā)生幾率,超市可以先統(tǒng)計出該購物群體絕大多數(shù)的消費水平,將其上調(diào)部分后,配合同時期的打折活動推出購滿上調(diào)后金額贈送小禮品的活動。例如

29、該購物群體每次消費在6080元之間占絕大多數(shù),基于此信息采取購滿88元返券、滿88元加1元贈送抽紙一包的促銷措施來提高銷售量;基于大多數(shù)人貪小便宜的消費心理,很多消費者會選擇購滿88元。這些措施不僅使得顧客的交叉消費大為提高,還能提升顧客對超市的滿意度,增加再次光臨選購的幾率。七、模型評價 對于問題一的數(shù)據(jù)挖掘問題,通過分析每個數(shù)據(jù),從大量數(shù)據(jù)中尋找其規(guī)律的技術(shù),我們采用Apriori算法的思想,經(jīng)過一定程度的改進,進行了運用。 優(yōu)點: (1)作為一個迭代算法,使用Apriori性質(zhì)來生成候選項集的方法,得到所有大于等于最小支持度的頻繁項目集,大大壓縮了頻繁集的大小,取得了很好的性能。最終得到

30、的程序解決所給問題只需40s,而且可以表示出滿足條件的商品個數(shù)及其種類。有助于超市經(jīng)理進行“購物籃”分析并做出相應的促銷方案。 (2)Apriori算法是一種最有影響的挖掘布爾關(guān)聯(lián)規(guī)則頻繁項集的算法,改進后的Apriori算法更適用于適合事務數(shù)據(jù)庫的關(guān)聯(lián)規(guī)則挖掘。 (3)該算法結(jié)構(gòu)簡單,易于理解,沒有復雜的推導。 缺點: (1)對數(shù)據(jù)庫的掃描次數(shù)過多。 該算法需要在每進行一次迭代的時候掃描一次數(shù)據(jù)庫,一般挖掘出的最大頻繁項集的長度為N時,需要掃描N次數(shù)據(jù)庫,而在實際應用中經(jīng)常需要挖掘很長的模式,多次掃描數(shù)據(jù)庫帶來巨大開銷,且效率較低。 (2)Apriori 算法可能產(chǎn)生大量的侯選項集。Apri

31、ori算法在迭代過程中要在內(nèi)存中產(chǎn)生,處理和保存候選頻繁項集,這個數(shù)量有時候是非常巨大的,導致算法在廣度和深度上的適應性很差。 (3)程序不利于非編程人員的直接調(diào)用和使用。改進:可以將程序進行打包,增加其可視化的方面,利于非編程人員的直接使用對于問題一中關(guān)聯(lián)密切程度系數(shù)公式的引入,我們認為它的優(yōu)點是能夠反映支持度越高、置信度越高,則關(guān)聯(lián)密切程度越高。缺點是該公式缺乏一些實踐檢驗。對于問題三的促銷方案,我們引入的促銷系數(shù)綜合權(quán)衡了置信度、支持度和利潤對促銷方案的確定的影響。在一個商品存在和多種商品同時關(guān)聯(lián)程度較高時,我們要對這多種方案進行比較。單獨考慮其商品組合的利潤大小是不合理的,可能消費者的

32、購買程度不頻繁。同樣的,單獨考慮其商品組合的支持度也是不合理的,可能兩件商品的購買次數(shù)都較頻繁,但是其置信度又不夠高,即購買其中一件商品后再購買另一件商品的人數(shù)不夠多。若置信度、支持度和利潤這三個因素中某一因素趨近于0,則方案不合適。只有三者乘積較高的方案可以考慮擺在一起進行促銷。利用商品的合理擺放和某種利潤較高商品適當降價等促銷手段可以使商場的利潤更大,效益更好。故引入促銷系數(shù)使促銷方案更合理更完善。八、參考文獻1周濤,陸惠玲.關(guān)聯(lián)規(guī)則挖掘算法研究N.齊齊哈爾大學學報,20049(3).2Agrawal R,Srikant R.Fast algorithms for mining assoc

33、iation rulesCIn Proceeding of the 20th International Conference on Very Large Databases1994, 487-499.3李新征.一種新的高效Apriori算法.D:湖南:長沙理工大學通信與計算機學院,2007:14.4丁侃.Apriori算法改進及實現(xiàn)D.陜西 漢中:陜西理工學院數(shù)學與計算機科學系,2005.5劉錫鈴.關(guān)聯(lián)規(guī)則挖掘算法及其在購物籃分析中的應用研究.D蘇州:蘇州大學計算機應用技術(shù)系,2009:3639.9、 附錄附錄一:Matlab程序滿足支持度的單商品、兩種商品組合、三種商品組合、四種商品組合t

34、icdata1=textread('附件1.txt');Value_supt=100; %兩商品支持度闕值data=zeros(4718,999); %0-1矩陣for i=1:4718 for j=1:72 if data1(i,j)=0 continue; end data(i,data1(i,j)=1; endend %C1滿足置信度的組合B1=zeros(999,2);for i=1:999 B1(i,1)=i;endfor i=1:4718 for j=1:999 if data(i,j)=1 B1(j,2)=B1(j,2)+1; end endendt=1;for

35、i=1:999 if B1(i,2)>Value_supt C1(t,:)=B1(i,:); t=t+1; endend %B2滿足置信度的單價商品所構(gòu)成的兩件商品組合n=size(C1,1);n2=0;t=1;n3=n*(n-1)/2;B2=zeros(n3,3);for j1=1:n-1 for j2=j1+1:n for i=1:4718 if data(i,C1(j1,1)=1&data(i,C1(j2,1)=1 n2=n2+1; end end B2(t,1)=C1(j1,1); B2(t,2)=C1(j2,1); B2(t,3)=n2; n2=0;t=t+1; end

36、end %C2滿足置信度的2件商品組合a=find(B2(:,3)>Value_supt);n4=size(a,1);C2=zeros(n4,3);t=1;for i=1:n3 if B2(i,3)>Value_supt C2(t,1)=B2(i,1); C2(t,2)=B2(i,2); C2(t,3)=B2(i,3); t=t+1; endend %B3滿足置信度的2件商品組合成的3件商品b=unique(C2(:,1,2);n=size(b,1);n1=size(C2,1);n2=0;t=1;n3=n1*n;B3=zeros(n3,4); for j1=1:n1 for j2=

37、1:n for i=1:4718 if data(i,C2(j1,1)=1&&data(i,C2(j1,2)=1&&data(i,b(j2)=1&&b(j2)=C2(j1,1)&&b(j2)=C2(j1,2) n2=n2+1; B3(t,1)=C2(j1,1); B3(t,2)=C2(j1,2); B3(t,3)=b(j2); end end B3(t,4)=n2; n2=0;t=t+1; endend %C3滿足置信度的3件商品a=find(B3(:,4)>Value_supt);n4=size(a,1);C3=zeros

38、(n4,4);t=1;for i=1:n3 if B3(i,4)>Value_supt C3(t,1)=B3(i,1); C3(t,2)=B3(i,2); C3(t,3)=B3(i,3); C3(t,4)=B3(i,4); t=t+1; endend %B4滿足置信度的3件商品組合成的4件商品b4=unique(C3(:,1,2,3);n=size(b4,1);n1=size(C3,1);n2=0;t=1;n3=n1*n;B4=zeros(n3,5); for j1=1:n1 for j2=1:n for i=1:4718 if data(i,C3(j1,1)=1&&da

39、ta(i,C3(j1,2)=1&&data(i,C3(j1,3)&&data(i,b4(j2)=1&&b4(j2)=C3(j1,1)&&b4(j2)=C3(j1,2)&&b4(j2)=C3(j1,3) n2=n2+1; B4(t,1)=C3(j1,1); B4(t,2)=C3(j1,2); B4(t,3)=C3(j1,3); B4(t,4)=b4(j2); end end B4(t,5)=n2; n2=0;t=t+1; endend %C4滿足置信度的4件商品a=find(B4(:,5)>Value_supt

40、);n4=size(a,1);C4=zeros(n4,5);t=1;for i=1:n3 if B4(i,5)>Value_supt C4(t,1)=B4(i,1); C4(t,2)=B4(i,2); C4(t,3)=B4(i,3); C4(t,4)=B4(i,4); C4(t,5)=B4(i,5); t=t+1; endend toc附錄二:將三種物品組合中重復情況篩選掉tic%將所需篩選的矩陣賦值給A A=Cn%3物品 1次數(shù)A=C3;k1=0;k2=0;k3=0;n3=120; %增添kn,修改n3值 %n3為矩陣的行數(shù)for i1=1:n3-1 for j=i1+1:n3 k1=

41、ismember(A(i1,1),A(j,1:3);% 擴展kn 1:n if k1=1 k2=ismember(A(i1,2),A(j,1:3); if k1=1&&k2=1 k3=ismember(A(i1,3),A(j,1:3); if k1=1&&k2=1&&k3=1 A(j,4)=0; %擴展時該項需修改 end end end k1=0;k2=0;k3=0;%增加kn endend toc %CCn篩選后的矩陣a=find(A(:,4)=0);n4=size(a,1); %A(:,n)C3=zeros(n4,4);t=1; %Cn 定

42、義矩陣大小for i=1:n3 if A(i,4)=0 C3(t,1)=A(i,1);%Cn 增添項 C3(t,2)=A(i,2); C3(t,3)=A(i,3); C3(t,4)=A(i,4); t=t+1; endend附錄三:將四種物品組合中重復情況篩選掉tic%將所需篩選的矩陣賦值給A%4物品 1次數(shù)%n3為矩陣的行數(shù) A=C4;%賦值C4k1=0;k2=0;k3=0;k4=0;n3=420; %增添kn,for i1=1:n3-1 for j=i1+1:n3 k1=ismember(A(i1,1),A(j,1:4);%1:n if k1=1 k2=ismember(A(i1,2),A

43、(j,1:4); if k1=1&&k2=1 k3=ismember(A(i1,3),A(j,1:4); if k1=1&&k2=1&&k3=1 k4=ismember(A(i1,4),A(j,1:4); if k1=1&&k2=1&&k3=1&&k4=1 A(j,5)=0; %擴展時該項需修改 end end end end k1=0;k2=0;k3=0;k4=0; endend toc %CCn篩選后的矩陣a=find(A(:,5)=0);n4=size(a,1);C4=zeros(n4,5);

44、t=1; for i=1:n3 if A(i,5)>Value_supt C4(t,1)=A(i,1); C4(t,2)=A(i,2); C4(t,3)=A(i,3); C4(t,4)=A(i,4); C4(t,5)=A(i,5); t=t+1; endend附錄四:計算滿足置信度的五種商品組合%B5滿足置信度的4件商品組合成的5件商品ticb5=unique(C4(:,1,2,3,4);n=size(b5,1);n1=size(C4,1);n2=0;t=1;n3=n1*n;B5=zeros(n3,6); for j1=1:n1 for j2=1:n for i=1:4718 if da

45、ta(i,C4(j1,1)=1&&data(i,C4(j1,2)=1&&data(i,C4(j1,3)&&data(i,C4(j1,4)=1&&data(i,b5(j2)=1&&. b5(j2)=C4(j1,1)&&b5(j2)=C4(j1,2)&&b5(j2)=C4(j1,3)&&b5(j2)=C4(j1,4) n2=n2+1; B5(t,1)=C4(j1,1); B5(t,2)=C4(j1,2); B5(t,3)=C4(j1,3); B5(t,4)=C4(j1,4); B5(t,5)=b5(j2); end end B5(t,6)=n2; n2=0;t=t+1; endend %C5滿足置信度的5件商品a=find(B5(:,6)>Value_supt);n4=size(a,1);C5=zeros(n4,6);t=1;for i=1:n3 if

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論