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