標籤:blog http ar os 使用 sp strong 檔案 資料
原文:(原創)大資料時代:基於微軟案例資料庫資料採礦知識點總結(Microsoft Naive Bayes 演算法)
本篇文章主要是繼續上兩篇Microsoft決策樹分析演算法和Microsoft群集演算法後,採用另外更為簡單一種分析演算法對目標顧客群體的挖掘,同樣的利用微軟案例資料進行簡要總結。有興趣的同學可以先參照上面兩種演算法過程。
應用情境介紹
通過前面兩種演算法的應用情境介紹,此次總結的Microsoft Naive Bayes 演算法也同樣適用,但本篇的Microsoft Naive Bayes演算法較上兩種演算法跟簡單,或者說更輕量級。
該演算法使用貝葉斯定力,但是沒有將屬性間的依賴關係融入進去,也就是跟簡單的進行預測性分析,因此該假定成為理想化模型的假定,簡單點說:貝葉斯演算法就是通過曆史的屬性值進行簡單的兩種對立狀態的推算,而不會考慮曆史屬性值之間的關係,這也就造成了它預測結果的局限性,不能對離散或者連續值進行預測,只能對兩元值進行預測,比如:買/不買、是/否、會/不會等,汗..挺符合中國的易經學中太極圖..凡事只有兩種狀態可以解釋,正所謂:太極生兩儀,兩儀生四相,四相生八卦...所以最簡單的就是最易用的,也是速度最快的。
扯遠了,具體演算法明細可參照微軟官方解釋Microsoft Naive Bayes 演算法
因為對於上兩篇中的應用情境,對買單車的顧客群體進行預測,貝葉斯演算法同樣也可以做到,反而更簡潔,本篇咱們使用這種演算法來預測下,並且看看這種演算法它的優越性有哪些。
技術準備
(1)同樣我們利用微軟提供的案例資料倉儲(AdventureWorksDW2008R2),兩張事實表,一張已有的曆史購買單車記錄的曆史,另外一張就是我們將要挖掘的收集過來可能發生購買單車的人員資訊表,可以參考上一篇文章
(2)VS、SQL Server、 Analysis Services沒啥可介紹的,安裝資料庫的時候全選就可以了。
下面我們進入主題,同樣我們繼續利用上次的解決方案,依次步驟如下:
(1)開啟解決方案,進入到“採礦模型”模板
可以看到資料採礦模型中已經存在兩種分析演算法,就是我們上兩篇文章分析用到的決策樹分析演算法和群集演算法。我們繼續添加貝葉斯演算法。、
2、按右鍵“結構”列,選擇“建立採礦模型”,輸入名稱即可
點擊確定,這時候會彈出一個提示框,我麼看圖:
啥子意思?....上面我們已經分析了貝葉斯演算法作為最簡單的兩元狀態預測演算法,對於離散值或者連續值它是無能為力的,它單純的認為這個世界只有兩種狀態,那就是是或者非,中標識的這兩列年齡、年度營收很明顯為離散的屬性值,所以它是給忽略的。點擊“是”即可。
這樣我們建立立的貝葉斯分析演算法就會增加在採礦模型中,這裡我們使用的主鍵和決策樹一樣,同樣的預測行為也是一樣的,輸入列也是,當然可以更改。
下一步,部署處理該採礦模型。
結果分析
同樣這裡面我們採用“採礦模型查看器”進行查看,這裡採礦模型我們選擇“Clustering”,這裡面會提供四個選項卡,下面我們依次介紹,直接晒圖:
這個展示面板可愛多了,集中了決策樹演算法中的“依賴關係網路”,聚類演算法中的“屬性設定檔”、“屬性特徵”、“屬性對比”;同樣也是這種演算法的優點,簡單的特徵預測,基於對立面的結果預測,但也有它的缺點,下面我們接著分析:
從依賴關係網路中可以看到,現在影響購買單車行為的相依性屬性最重要的是“家庭轎車的數量”、其次是“通勤距離”....當年我們通過決策樹演算法預測出來的最牛因素“年齡”,現在已經沒了,汗...只是因為它是離散型值,同樣年度營收也一樣,這樣其實使得我們演算法的精準度會略有偏低,當然該演算法也有決策樹演算法做不到的,我們來看“屬性設定檔”面板:
通過該面板我們已經可以進行群體特徵分析,這一點是決策樹分析演算法做不到的,當然這是群集演算法的特點,上面圖片中含義就能看到了家裡有1個或者沒有小汽車購買單車的意願更大一點。其它的分析方法類似,具體可以參照我的上一篇群集演算法總結。
“屬性特徵”和“屬性對比”兩個面板結果分析也是繼承與群集演算法一樣,上一篇文章我們已經詳細介紹了,下面只是切圖晒晒:
是吧,家裡沒有孩子、在北美的、一般行駛距離在1Miles(公裡?)以內的同志比較想買單車。
家裡沒有小汽車...通常會買單車傾向於1,如果有2輛了基本就不買了傾向於0,汗...常識...其它就不分析了。
下面我們看一下這種演算法對於咱們購買單車群體預測行為的準確性怎麼樣
準確性驗證
最後我們來驗證一下今天這個貝葉斯分析演算法的準確性如何,和上兩篇文章中的決策樹演算法、群集演算法有何差距,我們點擊進入資料採礦準確性圖表:
可以看到,此次用的貝葉斯分析演算法評分已經出來了,僅次於決策樹演算法,依次排名為:決策樹分析演算法、貝葉斯分析演算法、群集演算法。看來簡單的貝葉斯分析演算法並不簡單,雖然它摒棄掉了兩大屬性值:年齡、年度營收,而且其中年齡屬性通過決策樹分析演算法分析還是比較重要的一個屬性,貝葉斯無情的拋棄之後,依然以0.78分的優勢遠遠勝於群集演算法!而且上面的分析可以看到它還具有群集演算法特長項,比如:特徵分析、屬性對比等利器。
到此通過三種分析演算法的評比,我們好像已經看到了適合我們這種應用需求的最優的分析演算法,每種演算法的評比,通過上的曲線圖已經輕易的展現出來來了,當然咱們今天的這篇Miscrosoft貝葉斯分析演算法也應該結束了。
<------------------------------------------------------------華麗分割線------------------------------------------------------------------------------------------>
但是.......我記得上次寫群集演算法的時候,我無意間提到過,如果將國內IT從業人員和非IT從業人員根據性別屬性進行預測的話...結果將會是不寒而慄!你懂得,那我們推測下這裡買不買單車會不會也與性別有關呢?通常男孩子比較喜歡騎單車...嗯..我是說通常...那麼結果呢...我們來看:
我們利用中打分最高的決策樹分析演算法來推測我們的問題,我們在”採礦模型”中右鍵選擇建立模型,選擇決策樹分析演算法,我們起個名字:
點擊確定,我們已經將使用決策樹分析演算法分析男性購買單車的機率,然後在該演算法結構上右鍵,選擇“設定模型篩選器”。我們來設定篩選過濾條件為:M,即為男銀
我們利用想用的方法繼續建立women(女銀)的決策樹挖掘演算法,下面看圖:
這裡就不不過多解釋了,我們直接驗證結果,來看看我們上面的推斷有沒有意義。
下面看圖:
....額...額...e...表激動...我那個去...上面根據性別的進行區分的預測模型結果已經出來了,從打分上看,Man(男銀)的決策樹已經能和全部的案例結果相聘美,都是0.71...這也就是說明我們只需要對男人的群體進行預測就可以得到全部市場的規律..而不需要花費精力去研究全部......但是Women(女銀)的分數直接飆升到0.84....汗...在這幾種挖掘演算法中利用決策樹演算法對於Women這個群體進行預測,結果的精準度竟然達到如此之高!這個模型的存在直接秒殺了其它的任何一種分析演算法,神馬聚類、貝葉斯都是浮雲....浮雲而已。
通過上面的分析,我們已經確立了我們的推斷,男性和女性同志在想不想購買單車這件事情上是有群體差異的,並不是只通過分析全部的事實就可以得到,當然本身而言就男性和女性這兩種地球上特有的物種在行為和特徵上就有較大的差距,對於買不買單車當然也不會相同,呵呵...至少大米國是這樣,上面的圖表驗證這一說法!所以對於不同的行為預測我們可以針對性別來分別挖掘,這樣我們挖掘後得到的推測值將更接近事實。
有興趣可以對是否結婚兩種群體進行分析挖掘,看看結不結婚和買不買單車有沒有關係。
後記
好了,本篇文章到此可以結束了,下一篇我們將利用前三篇資料採礦演算法分析結果將將要購買單車的群體的從客戶表中挖掘出來,用他們來達到精準營銷的目的。文章的最後我來關聯下前兩篇總結的連結:
Microsoft決策樹分析演算法總結
Microsoft群集演算法總結
用一句範師傅的話結束本篇文章:大哥,我不想知道我是怎麼來的,我只想知道我是怎麼沒的........記得推薦哦!
大資料時代:基於微軟案例資料庫資料採礦知識點總結(Microsoft Naive Bayes 演算法)