什么是聚類分析?聚類分析屬于探索性的數據分析方法。通常,我們利用聚類分析將看似無序的對象進行分組、歸類,以達到更好地理解研究對象的目的。聚類結果要求組內對象相似性較高,組間對象相似性較低。在三國數據分析中,很多問題可以借助聚類分析來解決,比如三國人物身份劃分。聚類分析的基本過程是怎樣的?
在分析三國人物身份的時候,我們會根據一定的假設,盡可能選取對角色身份有影響的變量,這些變量一般包含與身份密切相關的統率、武力、智力、政治、魅力、特技、槍兵、戟兵、弩兵、騎兵、兵器、水軍等。但是,聚類分析過程對用于聚類的變量還有一定的要求: 這些變量在不同研究對象上的值具有明顯差異;這些變量之間不能存在高度相關。因為,首先,用于聚類的變量數目不是越多越好,沒有明顯差異的變量對聚類沒有起到實質意義,而且可能使結果產生偏差;其次,高度相關的變量相當于給這些變量進行了加權,等于放大了某方面因素對用戶分類的作用。 識別合適的聚類變量的方法: 對變量做聚類分析,從聚得的各類中挑選出一個有代表性的變量;做主成份分析或因子分析,產生新的變量作為聚類變量。
相對于聚類前的準備工作,真正的執行過程顯得異常簡單。數據準備好后,丟到分析軟件(通常是分析服務)里面跑一下,結果就出來了。 這里面遇到的一個問題是,把人物分成多少類合適?通常,可以結合幾個標準綜合判斷:1. 看拐點2. 憑經驗或人物特性判斷3. 在邏輯上能夠清楚地解釋
確定一種分類方案之后,接下來,我們需要返回觀察各類別三國人物在各個變量上的表現。根據差異檢驗的結果,我們以顏色區分出不同類用戶在這項指標上的水平高低。
在理解和解釋用戶分類時,最好可以結合更多的數據,例如,三國志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除以模型大小的比率時,就到達聚合。
挖掘模型查看器則是呈現此聚類分析結果,其中聚類圖表則是表現各類關聯性的強弱,對于數據的分布進一步加以了解。而在每一聚類結點上,點擊右鍵,再出現的菜單上選擇“鉆取”,則可以瀏覽屬于這一類的樣本數據特征。從“分類剖面圖”了解因變量與自變量間的關聯性強弱程度,如圖
“分類特性”主要是呈現每一類的特性,見圖在“分類對比”上,主要就是呈現出兩類間特性的比較,如圖
參考文獻:Microsoft 聚類分析算法http://msdn.microsoft.com/zh-cn/library/ms174879.aspx
新聞熱點
疑難解答