標籤:blog http ar os 使用 sp strong 資料 on
原文:(原創)大資料時代:基於微軟案例資料庫資料採礦知識點總結(Microsoft 群集演算法)
本篇文章主要是繼續上一篇Microsoft決策樹分析演算法後,採用另外一種分析演算法對目標顧客群體的挖掘,同樣的利用微軟案例資料進行簡要總結。
應用情境介紹
通過上一篇中我們採用Microsoft決策樹分析演算法對已經發生購買行為的訂單中的客戶屬性進行了分析,可以得到幾點重要的資訊,這裡做個總結:
1、對於影響購買單車行為最重要的因素為:家中是否有小汽車,其次是年齡,再次是地區
2、通過摺疊樹對於比較想買單車的顧客群體特徵主要是:家裡沒有車、年齡在45歲一下、不在北美地區、家裡也沒有孩子(大米國裡面的屌絲層次)、
同樣還有就是家裡有一輛車、年齡在37到53之間、通勤距離小於10Miles,家裡孩子少於4個,然後年度營收在58000$以上(大米國的高富帥了)
其實決策樹演算法最主要的應用情境就是分析影響某種行為的因素排序,通過這種演算法我們可以知道某些特定群體他們都會有幾個比較重要的屬性,比如家裡有沒有車、年齡等,但是我們想要分析這部分特定群體其特有屬性就沒法做到,而要分析這種特定群體所共同含有的共同屬性就需要今天我們的Microsoft群集演算法出場了,簡單點講就是:物以類分、人以群分,通過群集演算法我們要找到那些將要買單車的顧客群裡都有哪些屬性,比如當我們晚上進入廣場會看到,廣場大媽一群、兒童紮在一群、打籃球的一群、還有一群情侶在廣場邊幽暗的樹林裡等等,而他們這些團隊之間是有差別的,若果要去賣兒童玩具...那種群體是你最想靠近的自然而然了。
技術準備
(1)同樣我們利用微軟提供的案例資料倉儲(AdventureWorksDW2008R2),兩張事實表,一張已有的曆史購買單車記錄的曆史,另外一張就是我們將要挖掘的收集過來可能發生購買單車的人員資訊表,可以參考上一篇文章
(2)VS、SQL Server、 Analysis Services沒啥可介紹的,安裝資料庫的時候全選就可以了。
下面我們進入主題,同樣我們繼續利用上次的解決方案,依次步驟如下:
(1)開啟解決方案,進入到“採礦模型”模板
通過上面可以看到已經存在一種決策樹演算法了,我們來添加另外一種演算法。
2、按右鍵“結構”列,選擇“建立採礦模型”,輸入名稱即可
點擊確定,這樣我們建立立的群集就會增加在採礦模型中,這裡我們使用的主鍵和決策樹一樣,同樣的預測行為也是一樣的,輸入列也是,可以更改。
下一步,部署處理該採礦模型。
結果分析
同樣這裡面我們採用“採礦模型查看器”進行查看,這裡採礦模型我們選擇“Clustering”,這裡面會提供四個選項卡,下面我們依次介紹,直接晒圖:
同樣這裡面我們選擇要發生購買單車的群裡,顏色最深的為最可能購買單車的群裡,圖中箭頭我們已經顯示出來了,同樣我們也可以找到最不可能買單車的一群人,也就是“分類四”,他們之間線條的強弱表示關聯關係強弱,當然這裡為了好記我們可以給他們改改名,直接選擇類,右鍵重新命名。
如,下面我們要做的就是要分析這些群體有啥特徵了,當然我們最關心的為:最想買單車的一群人、不想買單車的也可以分析,至於不明真相的群體、路人群體甲、乙...這些個都是些打醬油的了,我們就不分析了。
我們開啟“分類剖面圖”看看:
哈...這幾類群體的特徵已經展示出來了,如果玩資料久了,會對圖表有一種直觀敏銳,對資料也要保持一種特定的嗅覺。
我們重新整理一下這個“分類剖面圖”的列的順序,根據我們關注的強弱橫向依次展開,
圖中第一列為屬性,比如年齡、小汽車的數量、家裡孩子數量等,第二列為各個屬性的圖例,這裡面是根據屬性的實值型別進行的圖例展示,一般分為兩種,比如年齡在庫中儲存的實值型別通常分布在1-100之間,故圖例採取分段取樣,形成一個從小到大的柱狀體,中間含有有一個棱形圖,棱形圖的大小代表屬性中群體的密集度,比如的顧客集中在29歲到48歲之間:
當然如果該屬性值不為離散的屬性值的話,就採取不同顏色的原型圖表表示,專業術語叫做:長條圖,面板中有一個地方可以設定長條圖條數,也就是該屬性值所取得的最多屬性值個數。比如:家裡孩子的總數,一般分為0個、1個、2個、3個、其他...
納尼!...上面這個圖例中沒有3個孩子的,這裡面的圖例也是通過資料採樣得到,只取量比較多的作為展示,說明家裡有3個孩子的比較少。
下面我們分析一下最想購買單車的群體特徵:
首先可以看到年齡集中在40來歲,平均為43.65歲
我汗....最小年齡為29歲.平均年齡43.65歲..最大年齡81.79歲..估計微軟案例資料庫中的資料也不一定可靠,抑或者米國的人群特徵就這樣三十歲以下的人都不喜歡騎單車反而80多歲的人還買單車,或者這個店就不賣給三十歲以下的顧客,當然有可能年輕人沒有買的,大部分是老人給孩子買的,這個就不分析了..反正資料是這麼說的,有圖有真相!
家裡沒有小汽車的或者只有一輛小汽車的購買的機率大部分集中在0.3以上...而大於一輛小汽車的家庭購買單車的機率就很少...家裡四輛車的機率則少到了0.003...接近不會買的機率了...
家裡有一個孩子的機率最高0.483...家裡沒有孩子的根本不會買單車...我去...基本驗證了我上面的推測,看來大部分人是買單車給子女騎的,沒有孩子就不買了,中的沒有子女的購買自信車的機率為0.000,還有一個屬性可以研究下,那就是是否有房子,看圖:
嗯...想買車的群體家裡大部分都有房子,也就說有固定住所,他們買單車的機率高達0.854...而沒有房子的則少到可憐...為0.146。
別的屬性也可以通過該屬性面板進行分析,可以分析出我們想要的那部分群體的屬性特徵,有針對性的做到定向營銷。
以上只是通過分類的剖面圖進行了局部分析,VS還提供了另外一個專門列舉屬性特徵的面板:分類特徵。
我們點擊開這個面板看看:
通過上面的圖表展示,已經將我們想要瞭解的這部分群體,赤裸裸的展現出來了,嗯,來瞅瞅..法國職業:技術人員、英國職業:熟練的手工、都有房子、地區:北美地區、年齡範圍:41-48歲之間、年度營收:35459.9-57244.9之間、家裡都有一個孩子等等.....當然別的群體也可以分析,這裡就不展示了。
同樣我們也可以針對某一個屬性,有針對性的對兩組群體進行比較,這裡就應用到另一個面板:“分類對比”,我突然想到可以針對“性別”這個屬性,把IT行業和非IT行業進行對比,估計結果應該不寒而慄...呵呵...題外話,下面看圖:
尼瑪...的圖片我看了下..發現有一個屬性值特別有趣,年度營收在10000-29950之間的基本是不打算買單車了,然而年度營收到了29950-1700000,想買單車的機率就高很多了,中可以看到。嗯...單車也是車...想要買車還是得有錢才行。
準確性驗證
最後我們來驗證一下今天這個群集演算法的準確性如何,和上篇文章中的決策樹演算法有何差距,我們點擊進入資料採礦準確性圖表:
中我們可以看到,今天這次用的群集演算法,分數為0.72,比上一篇的決策樹演算法0.87,還是略有差距的,當然不能僅以分數來評比兩種演算法的好壞,不同的挖掘需求需要不同的採礦模型,同樣不同的採礦模型就需要不同的挖掘分析演算法。
不過通過有幾點需要特別注意的,資料分析演算法的準確性是要取決於基礎資料的多少,也就是說資料量越大,你所分析的資料結果將越準確,同樣這也是未來大資料的概念的形成,沒有資料任何牛逼的演算法也沒有招,而當資料達到一定量層級之後,任務個別的不準確也將被大資料的事實所掩蓋,這就是大資料時代的意義所在。
當然凡事都得拿資料說話,不能憑空亂想,中的理想模型也就是紅色的那條就驗證了我剛才的說法,當資料總體達到50%以後,我們的資料採礦結果就是100分,100分啥含義?完全正確!也就是說你下一步想幹啥是我們完全能推測出來的,當然在資料量少的時候,我們就無能為力了,我們所利用的任何資料採礦演算法理論上講將無限的接近這條紅線(理想模型),將永遠無法超越,而這接近的過程就是我們大資料時代的推動。
當然還有一條最爛的隨機預測模型它永遠的以50%的機率神一般存在著...因為對於買單車這件事只有兩種結果,一個是買,另一個就是不買,它所預測準確的機率永遠就是一半一半...50%.....。
對大資料有興趣的不要忘記你的“推薦”哦。
曬一句資料採礦的力量:小樣,我就知道你會這麼做!
大資料時代:基於微軟案例資料庫資料採礦知識點總結(Microsoft 群集演算法)