《BI那點兒事》Microsoft 聚類分析算法——三國人物身份劃分

什麼是聚類分析? 

聚類分析屬於探索性的數據分析方法。一般,咱們利用聚類分析將看似無序的對象進行分組、歸類,以達到更好地理解研究對象的目的。聚類結果要求組內對象類似性較高,組間對象類似性較低。在三國數據分析中,不少問題能夠藉助聚類分析來解決,好比三國人物身份劃分。
聚類分析的基本過程是怎樣的? 

算法

  • 選擇聚類變量

在分析三國人物身份的時候,咱們會根據必定的假設,儘量選取對角色身份有影響的變量,這些變量通常包含與身份密切相關的統率、武力、智力、政治、魅力、特技、槍兵、戟兵、弩兵、騎兵、兵器、水軍等。可是,聚類分析過程對用於聚類的變量還有必定的要求:
這些變量在不一樣研究對象上的值具備明顯差別;
這些變量之間不能存在高度相關。
由於,首先,用於聚類的變量數目不是越多越好,沒有明顯差別的變量對聚類沒有起到實質意義,並且可能使結果產生誤差;其次,高度相關的變量至關於給這些變量進行了加權,等於放大了某方面因素對用戶分類的做用。
識別合適的聚類變量的方法:
對變量作聚類分析,從聚得的各種中挑選出一個有表明性的變量;
作主成份分析或因子分析,產生新的變量做爲聚類變量。3d

  • 聚類分析

相對於聚類前的準備工做,真正的執行過程顯得異常簡單。數據準備好後,丟到分析軟件(一般是分析服務)裏面跑一下,結果就出來了。
這裏面遇到的一個問題是,把人物分紅多少類合適?一般,能夠結合幾個標準綜合判斷:
1. 看拐點
2. 憑經驗或人物特性判斷
3. 在邏輯上可以清楚地解釋對象

  • 找出各種用戶的重要特徵

肯定一種分類方案以後,接下來,咱們須要返回觀察各種別三國人物在各個變量上的表現。根據差別檢驗的結果,咱們以顏色區分出不一樣類用戶在這項指標上的水平高低。 blog

  • 聚類解釋&命名

在理解和解釋用戶分類時,最好能夠結合更多的數據,例如,三國志12數據等……最後,選取每一類別最明顯的幾個特徵爲其命名,就大功告成啦!進程

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





在挖掘模型中,主要是列出所創建的挖掘模型,也能夠新增挖掘模型,並調整變量,變量使用狀況包含Ignore(忽略)、Input(輸入變量)、Predict(預測變量、輸入變量)以及PredictOnly(預測變量),如圖所示:


內存

而在挖掘模型上點擊鼠標右鍵,選擇「設置算法參數」針對方法論的參數設置加以編輯,其中包含:
CLUSTER_COUNT:指定算法所要創建的聚類的近似數目。若是沒法從數據中創建聚類的近似數目,算法便會盡量創建聚類。若將CLUSTER_COUNT設置爲0,則算法便會使用啓發式決定所應創建的聚類數目,默認值爲10。
CLUSTER_SEED:指定在模型創建的初始階段,用於隨機產生聚類的種子數。
CLUSTERING_METHOD:算法使用的聚類方法能夠是可擴展的EM(1)、不可擴充的EM(2)、可擴充的K-means(3)或不可擴充的K-means(4)。
MAXIMUM_INPUT_ATTRIBUTE:指定在調用功能選項以前,算法能夠處理輸入屬性的最大數目。將此值設置爲0,會指定沒有屬性最大數目的限制。
MAXIMUM_STATES:指定算法所支持屬性狀態的最大數目。若是屬性擁有的狀態數目大於狀態的最大數目,算法會使用屬性最經常使用的狀態並將其餘的狀態視爲遺漏。
MINIMUM_SUPPORT:此參數指定每一個聚類中的最小案例數目。
MODELLING_CARDINALITY:此參數指定聚類處理期間建構的範例模型數目。
SAMPLE_SIZE:指定若是CLUSTERING_METHOD參數設置爲可擴充的聚類方法時,算法使用在每一個行程上的案例數目。將SAMPLE_SIZE設置爲0會致使整個數據集在單一進程中聚類,如此可能會形成內存和效率的問題。
STOPPING_TOLERANCE:指定用來決定什麼時候到達聚合以及算法完成創建模型的值。當聚類機率的總體變動小於SHOPPING_TOLERANCE除以模型大小的比率時,就到達聚合。get

挖掘模型查看器則是呈現此聚類分析結果,其中聚類圖表則是表現各種關聯性的強弱,對於數據的分佈進一步加以瞭解。而在每一聚類結點上,點擊右鍵,再出現的菜單上選擇「鑽取」,則能夠瀏覽屬於這一類的樣本數據特徵。

從「分類剖面圖」瞭解因變量與自變量間的關聯性強弱程度,如圖


數據分析

「分類特性」主要是呈現每一類的特性,見圖


在「分類對比」上,主要就是呈現出兩類間特性的比較,如圖


效率

參考文獻:
Microsoft 聚類分析算法
http://msdn.microsoft.com/zh-cn/library/ms174879.aspx變量

相關文章
相關標籤/搜索