(轉載)微軟數據挖掘算法:Microsoft Naive Bayes 算法(3)

介紹:html

Microsoft Naive Bayes 算法是一種基於貝葉斯定理的分類算法,可用於探索性和預測性建模。 Naïve Bayes 名稱中的 Naïve 一詞派生自這樣一個事實:該算法使用貝葉斯技術,但未將可能存在的依賴關係考慮在內。算法

和其餘 Microsoft 算法相比,此算法所需運算量較少,於是有助於快速生成挖掘模型,從而發現輸入列與可預測列之間的關係。 可使用該算法進行初始數據探測,而後根據該算法的結果使用其餘運算量較大、更加精確的算法建立其餘挖掘模型。sql

算法的原理數據庫

 

在給定可預測列的各類可能狀態的狀況下, Microsoft Naive Bayes 算法將計算每一個輸入列的每種狀態的機率。網絡

若要了解其工做原理,請使用 Microsoft 中的 SQL Server Data Tools (SSDT) Naive Bayes 查看器(以下圖所示)來直觀地查看該算法分佈狀態的方式。post

https://i-technet.sec.s-msft.com/dynimg/IC158200.jpeg

此處, Microsoft Naive Bayes 查看器可列出數據集中的每一個輸入列。若是提供了可預測列的每種狀態,它還會顯示每一列中狀態的分佈狀況。大數據

您將利用該模型視圖來肯定對區分可預測列狀態具備重要做用的輸入列。url

例如,在此處顯示的「Commute Distance」行中,輸入值的分佈對於購買者和非買者存在明顯的不一樣。 這代表,「Commute Distance = 0-1 miles」輸入多是一個預測因子。spa

該查看器還提供了分佈的值,這樣您便能看到,對於上下班路程爲一至二英里的客戶,其購買自行車的機率是 0.387,不購買自行車的機率是 0.287。 在本示例中,該算法使用從諸如上下班路程之類的客戶特徵得出的數字信息來預測客戶是否會購買自行車。3d

有關使用 Microsoft Naive Bayes 查看器的詳細信息,請參閱使用 Microsoft Naive Bayes 查看器瀏覽模型

應用場景介紹

經過前面兩種算法的應用場景介紹,這次總結的Microsoft Naive Bayes 算法也一樣適用,但本篇的Microsoft Naive Bayes算法較上兩種算法跟簡單,或者說更輕量級。

該算法使用貝葉斯定力,可是沒有將屬性間的依賴關係融入進去,也就是跟簡單的進行預測分析,所以該假定成爲理想化模型的假定,簡單點說:貝葉斯算法就是經過歷史的屬性值進行簡單的兩種對立狀態的推算,而不會考慮歷史屬性值之間的關係,這也就形成了它預測結果的侷限性,不能對離散或者連續值進行預測,只能對兩元值進行預測,好比:買/不買、是/否、會/不會等,汗..挺符合中國的易經學中太極圖..凡事只有兩種狀態能夠解釋,正所謂:太極生兩儀,兩儀生四相,四相生八卦...因此最簡單的就是最易用的,也是速度最快的。

扯遠了,具體算法明細可參照微軟官方解釋Microsoft Naive Bayes 算法

由於對於上兩篇中的應用場景,對買自行車的顧客羣體進行預測,貝葉斯算法一樣也能夠作到,反而更簡潔,本篇我們使用這種算法來預測下,而且看看這種算法它的優越性有哪些。

技術準備

(1)一樣咱們利用微軟提供的案例數據倉庫(AdventureWorksDW2008R2),兩張事實表,一張已有的歷史購買自行車記錄的歷史,另一張就是咱們將要挖掘的收集過來可能發生購買自行車的人員信息表,能夠參考上一篇文章

(2)VS、SQL Server、 Analysis Services沒啥可介紹的,安裝數據庫的時候全選就能夠了。


下面咱們進入主題,一樣咱們繼續利用上次的解決方案,依次步驟以下:

(1)打開解決方案,進入到「挖掘模型」模板

能夠看到數據挖掘模型中已經存在兩種分析算法,就是咱們上兩篇文章分析用到的決策樹分析算法和聚類分析算法。咱們繼續添加貝葉斯算法。、

二、右鍵單擊「結構」列,選擇「新建挖掘模型」,輸入名稱便可

點擊肯定,這時候會彈出一個提示框,我麼看圖:

啥子意思?....上面咱們已經分析了貝葉斯算法做爲最簡單的兩元狀態預測算法,對於離散值或者連續值它是無能爲力的,它單純的認爲這個世界只有兩種狀態,那就是是或者非,上圖中標識的這兩列年齡、年收入很明顯爲離散的屬性值,因此它是給忽略的。點擊「是」便可。

這樣咱們新創建的貝葉斯分析算法就會增長在挖掘模型中,這裏咱們使用的主鍵和決策樹同樣,一樣的預測行爲也是同樣的,輸入列也是,固然能夠更改。

下一步,部署處理該挖掘模型。


結果分析

一樣這裏面咱們採用「挖掘模型查看器」進行查看,這裏挖掘模型咱們選擇「Clustering」,這裏面會提供四個選項卡,下面咱們依次介紹,直接曬圖:

這個展現面板可愛多了,集中了決策樹算法中的「依賴關係網絡」,聚類算法中的「屬性配置文件」、「屬性特徵」、「屬性對比」;一樣也是這種算法的優勢,簡單的特徵預測,基於對立面的結果預測,但也有它的缺點,下面咱們接着分析:

從依賴關係網絡中能夠看到,如今影響購買自行車行爲的依賴屬性最重要的是「家庭轎車的數量」、其次是「通勤距離」....當年咱們經過決策樹算法預測出來的最牛因素「年齡」,如今已經沒了,汗...只是由於它是離散型值,一樣年收入也同樣,這樣其實使得咱們算法的精準度會略有偏低,固然該算法也有決策樹算法作不到的,咱們來看「屬性配置文件」面板:

經過該面板咱們已經能夠進行羣體特徵分析,這一點是決策樹分析算法作不到的,固然這是聚類分析算法的特色,上面圖片中含義就能看到了家裏有1個或者沒有小汽車購買自行車的意願更大一點。其它的分析方法相似,具體能夠參照個人上一篇聚類分析算法總結。

「屬性特徵」和「屬性對比」兩個面板結果分析也是繼承與聚類分析算法同樣,上一篇文章咱們已經詳細介紹了,下面只是切圖曬曬:

是吧,家裏沒有孩子、在北美的、通常行駛距離在1Miles(千米?)之內的同志比較想買自行車。

家裏沒有小汽車...一般會買自行車傾向於1,若是有2輛了基本就不買了傾向於0,汗...常識...其它就不分析了。

下面咱們看一下這種算法對於我們購買自行車羣體預測行爲的準確性怎麼樣


準確性驗證

最後咱們來驗證一下今天這個貝葉斯分析算法的準確性如何,和上兩篇文章中的決策樹算法、聚類分析算法有何差距,咱們點擊進入數據挖掘準確性圖表:

能夠看到,這次用的貝葉斯分析算法評分已經出來了,僅次於決策樹算法,依次排名爲:決策樹分析算法、貝葉斯分析算法、聚類分析算法。看來簡單的貝葉斯分析算法並不簡單,雖然它摒棄掉了兩大屬性值:年齡、年收入,並且其中年齡屬性經過決策樹分析算法分析仍是比較重要的一個屬性,貝葉斯無情的拋棄以後,依然以0.78分的優點遠遠勝於聚類分析算法!並且上面的分析能夠看到它還具備聚類分析算法特長項,好比:特徵分析、屬性對比等利器。

到此經過三種分析算法的評比,咱們好像已經看到了適合咱們這種應用需求的最優的分析算法,每種算法的評比,經過上的曲線圖已經輕易的展示出來來了,固然我們今天的這篇Miscrosoft貝葉斯分析算法也應該結束了。

<------------------------------------------------------------華麗分割線------------------------------------------------------------------------------------------>

可是.......我記得上次寫聚類分析算法的時候,我無心間提到過,若是將國內IT從業人員和非IT從業人員根據性別屬性進行預測的話...結果將會是毛骨悚然!你懂得,那咱們推測下這裏買不買自行車會不會也與性別有關呢?一般男孩子比較喜歡騎自行車...嗯..我是說一般...那麼結果呢...咱們來看:

咱們利用上圖中打分最高的決策樹分析算法來推測咱們的問題,咱們在」挖掘模型」中右鍵選擇新建模型,選擇決策樹分析算法,咱們起個名字:

點擊肯定,咱們已經將使用決策樹分析算法分析男性購買自行車的機率,而後在該算法結構上右鍵,選擇「設置模型篩選器」。咱們來設置篩選過濾條件爲:M,即爲男銀

咱們利用想用的方法繼續創建women(女銀)的決策樹挖掘算法,下面看圖:

這裏就不不過多解釋了,咱們直接驗證結果,來看看咱們上面的推斷有沒有意義。

下面看圖:

....額...額...e...表激動...我那個去...上面根據性別的進行區分的預測模型結果已經出來了,從打分上看,Man(男銀)的決策樹已經能和所有的事例結果相聘美,都是0.71...這也就是說明咱們只須要對男人的羣體進行預測就能夠獲得所有市場的規律..而不須要花費精力去研究所有......可是Women(女銀)的分數直接飆升到0.84....汗...在這幾種挖掘算法中利用決策樹算法對於Women這個羣體進行預測,結果的精準度居然達到如此之高!這個模型的存在直接秒殺了其它的任何一種分析算法,神馬聚類、貝葉斯都是浮雲....浮雲而已。

經過上面的分析,咱們已經確立了咱們的推斷,男性和女性同志在想不想購買自行車這件事情上是有羣體差別的,並非只經過分析所有的事實就能夠獲得,固然自己而言就男性和女性這兩種地球上特有的物種在行爲和特徵上就有較大的差距,對於買不買自行車固然也不會相同,呵呵...至少大米國是這樣,上面的圖表驗證這一說法!因此對於不一樣的行爲預測咱們能夠針對性別來分別挖掘,這樣咱們挖掘後獲得的推測值將更接近事實。

有興趣能夠對是否結婚兩種羣體進行分析挖掘,看看結不結婚和買不買自行車有沒有關係。

本問建模來自:(原創)大數據時代:基於微軟案例數據庫數據挖掘知識點總結(Microsoft Naive Bayes 算法)

相關文章
相關標籤/搜索