轉帖|行業資訊|編輯:陳俊吉|2016-07-05 09:37:47.000|閱讀 440 次
概述: 現在提到數據挖掘,不再像以前一樣,讓大家覺得神秘莫測,數據挖掘的應用已經深入到各個行業,不管是傳統的銀行、電信、零售、制造,還是當前火熱的互聯網應用,都在使用這類技術,深入業務分析,為業務決策提供客觀的數據支持。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
數據挖掘項目的成功與否,很大一部分取決于IT部門與業務部門的緊密配合,由于數據挖掘與業務的結合非常緊密,既需要數據,又需要專業的業務經驗與理解,數據一般在IT部門手上,而業務人員當然最了解自己的業務,因此,這彼此之間的溝通與協調經常會遇到一些問題。之前有過不少血的教訓,IT人員好不容易分析出來的模型,業務部門對此信任度不高,對分析結果執行不到位,沒能很好的反饋給IT人員做進一步的優化,造成模型沒能真正應用到業務中,也沒能進一步優化模型,造成時間、成本的浪費。
為了讓業務人員能夠相信分析結果能夠給業務帶來價值,需要讓他們更多地參與到項目中,讓業務人員了解、參與、甚至自己動手分析的過程,是當前企業做此類項目的趨勢。只有這樣,才能讓數據挖掘分析結果更好地應用于業務。
我們一直強調,最大的優勢就是易用性,它提供了圖形化界面,讓使用人員可以非常方便地通過拖拽的方式實現數據分析流程,讓我們有更多的時間和精力集中在業務理解上,而不是編程的調試上。這個聽起來會讓人覺得有點忽悠的感覺,我們下面通過一個例子,來體驗下,當然要有比較才會有區別,我們分別用R和SPSS來實現一個聚類分析,看看兩者實現過程的優劣。
對電信客戶做聚類分析,了解各類客戶特征。
已有的數據包括:客戶ID、RatePlan、LongDistance(長途話費)、International(國際話費)、Local(本地話費)、Drop(掉線次數)、Paymethod(付款方式)、LocalBilltype(本地話費類型)和LongDistanceBilltype(長途話費類型)。
讀取數據源、選擇要作為輸入因素的指標、使用聚類算法實現建模、導出分析結果。
通過R實現分析過程
如果用R實現,我們需要以下代碼:
這個代碼看起來也并不復雜,R語言的強大之處也在于它的語言很簡潔,我們來看它的分析結果,下圖就是顯示聚類結果:
將這個聚類的結果與原來的數據合并在一起,可以看到每個客戶所屬的類別。
如果你是業務人員,您能看得出這個結果的優劣嗎?或者您能從中看明白了什么樣的業務結果嗎?思考一下,我們接下來看使用SPSS分析是怎么個過程?
按照剛才的步驟,我們在界面上拖拽相關的功能節點,連接起來得到的數據分析流如下圖,
每個功能節點都可以添加注釋,解釋所實現的功能,可以讓業務人員一目了然:
接下來我們看下的分析結果,雙擊生成的模型 ,可以看到以下結果:
首先,左邊的模型概要結果,通過聚類質量數值告訴我們模型聚類結果的優劣,越接近1是越好的,這個業務人員很好理解,當然,如果要追溯到本質,到底這個聚類質量數值是什么樣的統計指標,那我們通過它自帶的幫助文檔也可以知道,這個值其實是Silhouette 測量:測量所有記錄的平均值,(B−A)/ max(A,B),其中 A 是記錄與其聚類中心的距離,B 是記錄與其非所屬最近聚類中心的距離。作為業務人員,可以不必深究這個統計指標,只需要通過這個數值比較各種聚類結果的優劣。
右邊的餅圖直觀地看到各類的占比,我們可以通過各類的占比判斷各類分布是否均勻,如果不均勻,從業務上會不會不好落實管理。
除此之外,我們需要了解,到底哪些因素影響了我的聚類結果,哪些因素是重要的,哪些是不重要的影響因素,我們可以通過預測變量重要性來了解,如下圖:
另外,我們在下方查看選擇框中選擇“聚類”和“聚類比較”,可以看到以下結果:
左邊的圖形中,我們可以看到,每一類,各個指標的平均值,我們想到剛才通過R實現的聚類結果,也有各類的平均值,這個理論上來說是一樣的,但為什么結果看起來不一樣呢?這個我們后面再解釋。我們先看從上面這個圖,我們可以怎樣從業務上理解這個分析結果。
從上圖中,我們可以清楚看到每個類別各個指標的平均值,可以先從數值上分析出各類有哪些指標比較異于其它類別,比如說,聚類5,掉線次數平均值為3.52,遠遠高于其它類別,這個從下面的箱圖也可以明顯看出(黑色框標識出)。
通過這兩個圖形,我們可以很快地找出每一類異于其它類別的特征,并從業務的角度來描述這一群人的特征,比如第5類,我們可以大概總結為:掉線次數最多,國際長途幾乎沒有,本地話費和長途話費最多等等。SPSS Modeler這樣的分析展現結果,我們業務人員可以很好的結合自己的業務經驗來對群組進行特征描述,然后根據每一類的特征,我們再根據我們的業務目標,制定營銷策略或者是管理策略,這就是業務人員擅長的問題了。
最終的分析結果,每個客戶到底屬于哪一類,我們直接通過表格就可以看到:
從以上的例子,我們做下總結:
1.從使用者的視角來看,R語言當然有它強大的地方,但對于不懂R語言編程或者不是很熟練的人員來說,還是會有一定的障礙,每個函數其實都包括了相關的參數,要搞懂這些參數必須查閱幫助文檔,全是英文版本,如果英文不太好的話,又是另外的障礙。如果沒有花費一定的時間,也不容易熟練地掌握R語言,而且對于最終模型的維護與優化也是要花時間與人力成本的。
2.從分析過程及結果來看,我們可以看到兩個分析結果,雖然都是用了K-Means算法,都是分成5類,但結果截然不同,為什么呢?主要有兩個原因:
(1)K-Means算法邏輯中,是用距離來做計算,因此一般要求分析前,需要對指標做歸一化,如果0-1的指標與10000-100000的指標同時來計算距離的話,結果肯定會聚焦在10000-100000這個指標上,而上面用R計算的時候,我是沒有做歸一化的,那如果使用人員對這一邏輯不熟悉,那么出來的結果肯定會有問題。而SPSS Modeler里面的K-Means算法,它已經考慮了這個問題,在這個算法中,已經涵蓋了將數據歸一化這一處理,因此即使不太懂K-Means計算邏輯,使用這個算法,也不會有太大的問題。
(2)K-Means算法本身在選擇初始中心點的時候,是隨機的,因此也可能造成結果的不一致。
3.封裝的算法,為了讓不是很懂算法的人員也可以使用,它的算法里面會內嵌一些數據處理功能,還是以K-Means為例,本身K-Means只支持數值型數據,如果使用R平臺,如果數據中有空白值,需要先處理,不然會報錯。但SPSS Modeler中,如果數據有分類型數據,而且有些數據存在空白值,它仍然能夠計算得到分析結果,也是緣于它已經提前做了數據處理,把分類型的轉為數值型的,有空白值做了填補。這也是它為什么受業務人員或者是沒有太多統計學背景的人員喜歡的原因。
4.R語言也有它自己非常大的優勢,由于是開源的,它的算法非常廣泛,特別是一些創新的算法,有時候使用者也非常希望可以嘗試使用。IBM也看到了這一點,從SPSS Modeler 16版本起,已經封裝了R節點,可以直接在SPSS Modeler的R節點上,編寫R代碼,引入新的算法;甚至還可以自己設計面板,自定義封裝R算法,下次使用時,也不需要再修改代碼,直接使用即可。如果大家對這個感興趣,我們可以下回再做具體介紹。
的可視化、易用性不僅僅體現在它的圖形化界面上,更多的是體現在它里面對算法封裝時考慮的全面性,分析結果的可讀性,即使你不太懂得統計分析,同樣可以借助它來實現業務分析,帶來業務價值。
試用版下載地址:
via:華南IBM大數據支持團隊
詳情請咨詢!
客服熱線:023-66090381
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn