耿曉利 王淑娟 陳曉鋒



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