耿曉利 王淑娟 陳曉鋒
摘要:電商發(fā)展迅速,用戶不再局限于淘寶、京東等大型網(wǎng)站購(gòu)物,小型商務(wù)網(wǎng)站時(shí)興起來。大型商務(wù)網(wǎng)站可以快速精準(zhǔn)的對(duì)用戶做出個(gè)性化推薦,但小型商務(wù)網(wǎng)站由于自身規(guī)模、運(yùn)營(yíng)狀況等方面有獨(dú)有的特點(diǎn),個(gè)性化推薦也需具有針對(duì)性。如何實(shí)現(xiàn)小型商務(wù)網(wǎng)站中的個(gè)性化推薦是個(gè)值得研究的課題。文章設(shè)計(jì)實(shí)現(xiàn)了領(lǐng)跑運(yùn)動(dòng)商城,對(duì)經(jīng)典Apriori算法進(jìn)行優(yōu)化,著重闡述了Apriori算法的優(yōu)化思路及領(lǐng)跑運(yùn)動(dòng)商城的個(gè)性化推薦實(shí)現(xiàn)過程。
關(guān)鍵詞:Apriori算法;領(lǐng)跑運(yùn)動(dòng)商城;數(shù)據(jù)挖掘;個(gè)性化推薦
中圖分類號(hào):TP391-3 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2018)06-0244-03
電子商務(wù)發(fā)展越來越迅速,用戶在眾多的商品中瀏覽,時(shí)限逐漸加長(zhǎng),如果實(shí)現(xiàn)對(duì)用戶個(gè)性化推薦以方面用戶快速定位,是電子商務(wù)系統(tǒng)研究的重點(diǎn)與熱點(diǎn)。隨著小型企業(yè)商務(wù)網(wǎng)站的興起,個(gè)性化推薦受到高度重視。中小型企業(yè)商務(wù)網(wǎng)站由于自身規(guī)模、運(yùn)營(yíng)狀況等與大型商務(wù)網(wǎng)站不同,大型網(wǎng)站的個(gè)性化推薦在中小型企業(yè)商務(wù)網(wǎng)站中直接運(yùn)用并不合適。本文設(shè)計(jì)實(shí)現(xiàn)了小型電子商務(wù)網(wǎng)站——領(lǐng)跑運(yùn)動(dòng)商城,并著重對(duì)Apriori算法在商城中實(shí)現(xiàn)個(gè)性化推薦及Apriori算法優(yōu)化思路進(jìn)行詳細(xì)的闡述。
1 Apriori算法原理
Apriori算法是關(guān)聯(lián)規(guī)則挖掘中最經(jīng)典的算法,在1993年被R.Agrawl等人提出,算法的目的是從數(shù)據(jù)庫中找出最大項(xiàng)目集從而產(chǎn)生關(guān)聯(lián)規(guī)則。
Apriori算法通過掃描首先產(chǎn)生候選項(xiàng)集然后再生成頻繁項(xiàng)集進(jìn)行逐層搜索,去尋找項(xiàng)集之間的關(guān)系。Apriori算法需要對(duì)數(shù)據(jù)集進(jìn)行多步處理。含幾個(gè)元素的項(xiàng)集就稱為幾維項(xiàng)集,算法首先計(jì)算出一維項(xiàng)集出現(xiàn)的頻度,一維項(xiàng)集表示為1-項(xiàng)集,通過比較將頻度小于最小支持度的項(xiàng)集刪除,最后保留下來的即為一維頻繁項(xiàng)集。一直循環(huán)直到?jīng)]有頻繁項(xiàng)集生成。循環(huán)過程是:第k步中,根據(jù)第k-1步生成的(k-1)維頻繁項(xiàng)集,(k-1)頻繁集自連接后產(chǎn)生k維候選項(xiàng)目集,根據(jù)k維候選集與最小支持度的比較后找到k維頻繁項(xiàng)集。剪枝過程伴隨著候選項(xiàng)集的產(chǎn)生而進(jìn)行著,算法尋找k-頻繁項(xiàng)集的過程如圖1所示。
Apfiori算法有著某些的缺陷。通過“掃描-產(chǎn)生候選項(xiàng)集-比較剔除-產(chǎn)生頻繁項(xiàng)集”的模式,逐層產(chǎn)生新的項(xiàng)集然后不斷循環(huán),直到頻繁項(xiàng)集無法結(jié)合產(chǎn)生候選項(xiàng)集為止?;谏鲜銮闆r,Apriori算法在執(zhí)行時(shí)會(huì)多次掃描事務(wù)數(shù)據(jù)庫產(chǎn)生所挖掘的規(guī)則存在大量冗余,產(chǎn)生大量的候選項(xiàng)集,而且部分規(guī)則可能是沒有價(jià)值甚至是具有誤導(dǎo)性的;其次因?yàn)槊看味家獙?duì)候選集Ck進(jìn)行支持度計(jì)算,計(jì)算項(xiàng)過多導(dǎo)致執(zhí)行緩慢。
2 Apriori算法優(yōu)化及實(shí)現(xiàn)
2.1最小支持度閾值設(shè)定
支持度和置信度兩個(gè)閾值是描述關(guān)聯(lián)規(guī)則的兩個(gè)重要概念,支持度反應(yīng)關(guān)聯(lián)規(guī)則在數(shù)據(jù)庫中的重要性,置信度衡量關(guān)聯(lián)規(guī)則的可信程度。
Apriori算法規(guī)則的產(chǎn)生依賴于最小支持度與最小置信度兩個(gè)參數(shù),兩者分別決定了規(guī)則的頻繁度與強(qiáng)度。最小支持度閾值的設(shè)定與最終產(chǎn)生的關(guān)聯(lián)規(guī)則結(jié)果有著密不可分的關(guān)系。
本文利用利用牛頓插值多項(xiàng)式實(shí)現(xiàn)最小支持度閾值的設(shè)定。從整個(gè)待挖掘的數(shù)據(jù)集中選取小部分?jǐn)?shù)據(jù)集,然后運(yùn)行挖掘算法。第一次運(yùn)算根據(jù)用戶要求或經(jīng)驗(yàn)選擇支持度與置信度值,得到關(guān)聯(lián)規(guī)則數(shù)目n,用戶期待的規(guī)則數(shù)目為n,如果n/n>d,則支持度閾值要繼續(xù)增大然后重新運(yùn)行,如果b 2.2優(yōu)化思路 Apfiori算法不斷重復(fù)的掃描數(shù)據(jù)庫產(chǎn)生了大量的冗余,針對(duì)這個(gè)問題本文做出兩點(diǎn)修改。一是考慮候選項(xiàng)集Ck前,產(chǎn)生k-1維頻繁項(xiàng)目集時(shí)對(duì)該集中出現(xiàn)元素的個(gè)數(shù)進(jìn)行計(jì)數(shù)處理,當(dāng)某一個(gè)元素要成為k維項(xiàng)集的元素的話,該元素在k-1階頻繁項(xiàng)的計(jì)數(shù)次數(shù)必須達(dá)到k-1個(gè),否則不可能生成k維項(xiàng)集,事先刪除這類元素,排除該元素的所有組合,達(dá)到降低循環(huán)判斷次數(shù)的目的。對(duì)龐大的數(shù)據(jù)量而言,這種時(shí)間開銷的降低對(duì)數(shù)據(jù)挖掘效率來說是顯而易見的。二是‘刪除一些不能支持頻繁集的記錄,即把不符合再次掃描比較條件的記錄通過交換記錄內(nèi)容的方式移到數(shù)據(jù)庫的末端,把末端新記錄填入該記錄的位置。同時(shí)對(duì)數(shù)據(jù)庫中的記錄數(shù)邏輯地減少。 改進(jìn)后的算法雖然會(huì)在記錄重寫中浪費(fèi)時(shí)間和I/O的開銷,算法對(duì)以后在數(shù)據(jù)量增長(zhǎng)中的掃描比較次數(shù)的優(yōu)勢(shì)將逐漸體現(xiàn)出來。從理論上可以相信在數(shù)據(jù)量龐大的條件下算法在挖掘時(shí)間會(huì)上有改進(jìn)。 算法實(shí)現(xiàn)步驟: 3商城界面生成 本文實(shí)現(xiàn)的商城及推薦后臺(tái)界面分別圖2和圖3所示。 在領(lǐng)跑運(yùn)動(dòng)商城主界面上,當(dāng)用戶點(diǎn)擊一款商品后,在展示商品界面中除了展示商品信息外,還展示個(gè)性化推薦商品。圖3為后臺(tái),在后臺(tái)中可以調(diào)整挖掘算法中的支持度以便得到用戶滿意的商品推薦結(jié)果。商城初始交易數(shù)據(jù)較少,對(duì)于最小支持度和最小置信度的設(shè)定會(huì)相對(duì)低些,隨著交易規(guī)模的擴(kuò)大,逐漸調(diào)整參數(shù)值,以保證實(shí)現(xiàn)精確個(gè)性化推薦。 4結(jié)論 本文設(shè)計(jì)了一個(gè)基于Apriori算法優(yōu)化的個(gè)性化電子商務(wù)網(wǎng)站,能夠在一定程度上滿足小型電子商務(wù)網(wǎng)站的快速響應(yīng)、決策準(zhǔn)確等要求。隨著系統(tǒng)交易數(shù)據(jù)的增多,系統(tǒng)的挖掘時(shí)間及推薦效果需要進(jìn)一步驗(yàn)證,相關(guān)研究仍將進(jìn)行下去。