[摘 要] 交叉銷售是非常常見的商業問題,它包括基于客戶當前或之前的購物籃中的產品來推薦新的產品列表。許多零售商,特別是在線零售商,采用這個特性來增加它們的銷售額。本文通過對電影交叉銷售的數據建模,介紹在SQL Server 2005中建立數據挖掘結構和模型的詳細過程,展現決策樹算法的瀏覽圖,并使用決策樹算法在實例中進行準確性分析和一般預測,說明如何利用數據挖掘來解決商業問題。
[關鍵詞] 交叉銷售 SSAS 數據挖掘
一、SQL Server 2005數據挖掘簡介及問題的提出
數據挖掘(Data Mining)經過近十幾年的迅速發展,形成了融合數據庫、人工智能、機器學習、統計學等多個領域的理論和技術的交叉學科。因其所涉及的知識領域眾多、應用范圍廣泛,數據挖掘已成為研究人員和商業組織所關注的熱門領域。SQL Server 2005分析服務(SSAS)是微軟 SQL Server 2005中的多維聯機分析處理(OLAP)組件,它在商業智能(BI)分析方案中集成了關系型和OLAP數據,是一種集成的商務智能、數據挖掘、分析和報表解決方案。
交叉銷售是非常常見的商業問題,它包括基于客戶當前或之前的購物籃中的產品來推薦新的產品列表。簡單說來,就是向擁有本公司A產品的客戶推銷本公司B產品。交叉銷售對零售商是一個很重要的商業挑戰。許多零售商,特別是在線零售商,采用這個特性來增加它們的銷售額。比如,如果你到一個在線書店(如亞馬遜Amazon.com)去購買書籍,你會注意到該網站會給你一系列相關書籍的推薦信息。這些推薦信息的提出,是基于購物籃分析得出的。而購物籃分析是針對數千個有相似購物情況的客戶進行的。好的推薦信息會改變客戶的購物體驗,從而增加銷售額。差的推薦信息會使客戶感到煩惱,從而最終把他們趕走。
交叉銷售的難點在于如何向客戶提供一組正確的推薦信息。當銷售產品種類比較少時,基于銷售經驗來提供建議比較容易。可是,當產品比較多時,問題就非常復雜了。
二、利用SQL Server 2005數據挖掘建立推薦模型
利用SQL SERVER 2005中的決策樹算法來構建推薦模型,以說明數據挖掘在交叉銷售中應用。
基本步驟:
1.建立數據庫
啟動SQL Server Management studio在其中建立名為movie survey的數據庫,右擊它在彈出的快捷菜單中選擇“任務”中的“導入數據”導入movie survey數據集,該數據集是對Microsoft雇員的調查表,主要涉及被調查者的電影觀看行為,人口統計信息等,保存movie survey數據庫文件。
2.建立Analysis services項目
選擇商業智能項目中Analysis Services項目,建立movieSurvey項目。
3.建立數據源
數據源實際上是一個連接字符串,用于描述數據的位置,本項目的連接字符串為“Provider=SQLNCLI.1;Data Source=localhost;Integrated Security=SSPI;Initial Catalog=MovieSurvey“。
Movie Survey數據庫文件包括Survey表和Movies表,Survey表記錄了被調查者的年齡、教育水平,性別、收入、婚姻狀況、上網方式,上網頻率等信息,圖例中只截取了其中的部分屬性。Moives表只有兩個屬性Survey TakenID(客戶序號) 和movie(電影名)共45325條記錄。如圖1所示。
4.建立數據源視圖(DSV),將上面提及的“Survey”表“movies”表都選擇進來
數據源視圖是數據在客戶端的一個抽象視圖,在DSV中可以選擇、組織、瀏覽數據源中的數據。在數據源視圖中建立事例表survey和嵌套表movies的一對多關系如圖2所示。
5.建立挖掘結構
使用數據挖掘向導創建兩種對象:挖掘結構和挖掘模型,挖掘結構描述將用于挖掘列和訓練數據,挖掘模型是從挖掘結構中選擇一些列,然后使用某一個算法,并且為該算法定義每一列的用法。SQL Server 2005 包括世界級的數據挖掘算法有7 種:Microsoft貝葉斯算法、Microsoft決策樹算法、Microsoft序列聚類算法、Microsoft聚類算法、Microsoft神經網絡算法、Microsoft關聯規則算法、文本挖掘。
根據具體的商業問題,確定相應的算法,本文的目標是分析客戶將會一起購買的電影。在獲得這些模式后,可以使用它們來提供推薦信息。該問題屬于關聯任務。最適合的兩個算法是Microsoft決策樹算法,Microsoft關聯規則算法。
圖3顯示了模型的定義。該模型是完全基于每個客戶的購物籃來分析電影關聯,同時分析電影與人口統計信息之間的關聯。
在處理了模型這后,得到一組決策樹,圖4顯示了預測電影English patient 的決策樹的一部分,從圖例看出只有2.2%的客戶購買了該電影,該決策樹的第一個拆分基于Chocolat。在那些喜歡Chocolat的客戶中,大約有27%的客戶也喜歡English patient,與總的喜歡Einglish patient人數相比,比例增加13倍。在那些不喜歡English patient而喜歡Boot Das的客戶中有22%的客戶也都喜歡English patient。通過這棵樹,我們知道Boot Das和Chocolat是English patient比較好的預測器。
決策樹有兩個查看器,切換到依賴關系網絡查看器中,圖5顯示了決策樹模型的依賴關系網絡,可以認為該網絡是從森林的頂部進行鳥瞰的視圖,每個節點都是一顆決策樹。當雙擊任何節點時,都可以看到底層樹的詳細信息。每條邊都代表兩棵樹之間的關系。每條邊都有一個方向,該方向指明了預測的方向。每條邊也都有一個權值,該權值代表預測的強度。例如,從圖中可以看出:Boot das預測English patient,Chocolat和English patient彼此預測。
三、小結
雖然數據挖掘在最近幾年談論比較多,但它的市場相對比較小,數據挖掘依舊被認為是一種高端的應用功能。SQL SERVER 2005提供一系列方便而且功能全面的可視化工具,比如解決方案管理器、數據挖掘向導、數據挖掘設計器、模型查看器、編輯器等。它可以從各種數據源構建挖掘模型,用戶利用模型查看器來解釋模型,利用模型編輯器修改參數的設置來調整模型,同時SQL SERVER 2005數據挖掘功能和SQL SERVER產品集成給我們的挖掘工作提供了便利。
參考文獻:
[1]Zhaohui Tang,Jamie Maclennan.數據挖掘原理與應用—SQL Server 2005 數據庫[M].北京:清華大學出版社,2007
[2]陳京民:數據倉庫與數據挖掘技術[M].北京:電子工業出版社,2002