- 相關推薦
數據挖掘在電子商務圖書推薦
摘要:
在這樣龐大的圖書信息中選擇自己想要的信息是比較困難的,這樣反而是增加了用戶購 買圖書的難度。為了有效的解決 這一問題,出現了圖書推薦系統。 本文將從數據挖掘方面對電子
1.數據挖掘中關聯規則的概念
數據挖掘就是大量數據中提取或者挖掘知識,這種數據應該是海量的。還有另一種說法是把數據挖掘看成是數據庫中知識的發現過程的一個基本步驟。
1.1關聯規則的概念
關聯規則可以說是在數據挖掘中相對來說比較常用的一種方法了,Agmwal等于1993年首先提出了挖掘顧客交易數據庫中項集間的關聯規則問題。在這以后有諸多的研宄員對數據挖掘中的關聯規則進行了大量的研究。他們的工作有很多,其中就包括對原有的算法進行了優化處理。比如,引進了隨機采樣、并行思想等。
關聯規則挖掘的過程是這樣的一個流程,首先利用算法根據最小支持度找到頻繁項集,再依托找到的頻繁項集結合置信度生成形如X—Y的強關聯規則。在關聯關聯規則挖掘過程中用到兩個最重要的參數,支持度和置信度。
設I={il’i是項集,其中ik(k=l,2,…,m)可以是購物籃中的物品,也可以是保險公司的顧客。設任務相關的數據D是事務集,其中每個事務T是項集,使得TSI。設A是一個項集,且A£T。關聯規則是如下形式的邏輯蘊涵:A=>B,ASI,BGI,且AnB=A關聯規則具有如下兩個重要的屬性:
支持度:P(AUB),即A和B這兩個項集在事務集D中同時出現的概率。
置信度:P(BIA),即在出現項集A的事務集D中,項集B也同時出現的概率。
同時滿足最小支持度閾值和最小置信度閾值的規則稱為強規則。給定一個事務集D,挖掘關聯規則問題就是產生支持度和可信度分別大于用戶給定的最小支持度和最小可信度的關聯規則,也就是產生強規則的問題。
1.2 Apriori算法
Apriori算法是一種最有影響的挖掘布爾關聯規則頻繁項集的算法。很多的的挖掘算法是在Apriori算法的基礎上進行改進的,比如基于散列(Hash)的方法,基于數據分割(Partition)的方法以及不產生候選項集的FP-GROWTH方法等。因此要了解關聯規則算法不得不先要了解Apriori算法。
Apriori算法使用的是頻繁項集性質的先驗知識,是使用了一種稱為逐層搜索的迭代方法,其中k項集用于探索(k+1)項集。首先,通過對數據庫的掃描,累計每一項的計數,并收集滿足最小支持度的項,這樣就能找出頻繁項的集合。這樣得到的集合可以標記L,。然后,使用3^找出頻繁項集L2,使用L2找出L3。這樣循環下去,直到找到頻繁項集k項集為止。這樣就對數據庫進行了一次完整的掃描。
2.關聯規則在電子商務圖書推薦系統中的具體應用
2.1數據收集、預處理
用戶可以通過登錄到公司的網站進行個人信息的注冊,從而形成用戶個人信息注冊表。用戶可以進行圖書信息瀏覽,或查看其他用戶對圖書產品的評價和感受。當用戶對某件圖書產品進行購買行為,形成訂單之后。數據就會被采集,并進行清洗、集成和轉換。當此用戶再次進行圖書購買行為時,購買記錄同樣會被采集,并根據圖書類別進行分析,逐漸形成關聯數據。并存儲到圖書交易數據庫中。
2.2生成關聯規則
假設某個項目集S={sl,s2...,sn}是頻繁項目集,假設D是一個數據集,其中T是一個非空的項集。再假設A是一個項集并且有T包含A。有這樣一個式子形如A=>B。其中A£I,B£i, B^0,并且AHB=0。
這樣的規則人=>8在事物集D中是成立的,具有支持度s。概率是P(AUB),還有就是置信度c,概率是P(BIA)。規則人=>8在事物集中的支持度為support,即
support(AUB)=support(AUB,D)=So(3)規則A=>B的置信度可以容易的從A和AUB的支持度計數推出,即表示為P(Y|X)=c%。這樣給出式子:
confidence(A^B)=P(B|A)=support(AUB^D)/siq)port(A*D)(4)
其中,support(AUB,D)是包括項集AUB的支持度,support(A,D)是項集X的支持度。
對于已經給定的數據集D,求出同時滿足最小支持度minsup和最小置信度minconf的關聯規則。關聯規則須滿足這樣兩個條件:support(A=»B)>minsup;confidence(A=>B)>minconf。
2.3關聯規則的改進方法
大部分關聯規則挖掘算法都使用支持度-置信度框架。但是由于算法本身的原因,可能即使滿足了最小支持度和最小置信度對用戶不感興趣的信息的探查,仍然會產生一些讓用戶感到不用的信息。
在獲得用戶購買的行為模式后,并不一定所有的強關聯規則都能成為用戶所感興趣的,這樣就使得這個規則的可用性并不理想。此時,就需要用到其他的方法來判斷用戶的興趣所在。
假設我們分析涉及購買“Java入門經典”和購買“Java實戰”兩本書的事務興趣。假設事務A表示包含“Java入門經典”,事務B表示包含“Java實戰”。在接下來要進行分析的10000個事務中,得到數據顯示為6000個顧客事務包含“Java入門經典”,7500個事務包含“Java實戰”,而4000個事務同時包含“Java入門經典”和“Java實戰”。現在假設有一個關聯規則要在這樣的數據上進行分析,可以使用最小支持度為30%,最小置信度為60%。將發現下面規則:
buys(X,’’A”)=>buys(X,”B”)[support=40%,confidence=66%]
這樣可以很容易的看出來這個關系式是屬于強關聯的,因為它的支持度為4000/10000=40%。置信度為4000/6000=66%,同時滿足了最小支持度和最小置信度閾值。實際上,這是一種誤導,因為購買“Java實戰”的概率是7500/10000=75%,比66%還高,這就容易出現不明智的商業營銷策略。
正如上面出現的問題,支持度和置信度度量不足以過濾掉無趣的關聯規則。為了解決這個問題,可以使用其他關系式來進行同時篩查強關聯規則,比如,使用相關性度量來進行擴充,可以使用這樣的相關規則(correlationrule):
A=>Bfsupport,confidence,correlation]
通過這個關系式可以看出,相關規則不僅用支持度和置信度,而且還用項集A和B之間的相關度量。
2.4 使用提升度相關分析
提升度(lift)是一種簡單的相關性度量,相關度的定義是:項集A的出現獨立于項集B的出現,如果P(AUB)=P(A)P(B);否則,作為事件,項集A和B是依賴的和相關的.這樣就得到計算式: .
lift(A,B)=P(AUB)/P(A)P(B)(4)
如果這個值小于1,則A的出現與B的出現是負相關的,意味著一個出現可能導致另一個不出現。如果值大于1,則A和B是正相關的,如果值等于1,則A和B是獨立的。這個式子也稱關聯規則A=>B的提升度。
這樣我們再去看前面的例子,容易得到購買“Java入門經典”的概率P(“A”)=0.6,購買“Java實戰”的概率P(“B”)=0.75,而購買兩者的概率是P({“A”,”B”})=0.4。則提升度為:
P({“A”,”B”})/(P(“A”)xp(“B”))=0.4/(0.6x0.75)=0.89
該值小于1,從而得出購買這兩本書的事務是負相關的,因此這兩種圖書的購買行為不會進行推薦,但這種負相關是不能被支持度-置信度框架識別的。
2.5 電子商務圖書推薦過程
首先根據每個顧客的圖書產品購買記錄或則是瀏覽記錄的數據進行預處理,形成交易數據庫。在己經得到的數據庫的基礎上使用選用好的關聯規則挖掘算法對數據庫進行關聯規則分析和挖掘,形成關聯規則數據集合R。之后在通過分析得到的數據集合R為每個顧客設置一個候選推薦集,并將初始值設置為空。對每個用戶搜索關聯規則數據集合R,找出該用戶支持的所有關聯規則集合。將符合與當前用戶購買圖書產品相關聯的所有圖書產品加入到當前用戶的候選推薦集中。將候選推薦集中用戶己經購買的圖書產品刪除。然后可以根據置信度對候選推薦集中的候選項進行排序,從候選推薦集中選擇置信度高的圖書項作為推薦結果。
3.結束語
現在越來越多的電子商務網站都在出售圖書類產品,這可以使用戶幾乎足不出戶就能購買到需要的圖書,但是不像在以前到書店購買圖書,沒有導購員向顧客介紹圖書產品信息,顧客也就不會知道那種或那類圖書銷售最好,最受歡迎。電子商務圖書推薦系統的出現,有效的解決了顧客對圖書類產品進行“盲選”的尷尬狀態。這也成為各商家競爭的一大“主力”。關聯規則作為數據挖掘的主要方法之一,也逐漸的引起了人們越來越多的關注。在不久的未來,我相信像這一類推薦系統,一定可以使得將來的電子商務網站更加的人性化,個性化,更符合不同顧客的需求。
文/趙偉毅 作者單位 北方工業大學計算機學院北京市100144
【數據挖掘在電子商務圖書】相關文章:
數據挖掘實驗心得09-04
數據分析/數據運營個人簡歷(數據運營和數據分析的區別)03-15
數據員的個人總結03-23
數據員述職報告01-02
數據分析報告08-20
關于挖掘合同04-08
圖書的日記02-09
數據使用協議03-29
《數據收集與整理》教學反思03-23
數據保密協議03-24