[英]SPSS K-means & R
R中嘗試復制SPSS中使用的K-means聚類方法的最佳功能/包是什么? 這是我將在SPSS中使用的語法示例:
QUICK CLUSTER VAR1 TO VAR10
/MISSING=LISTWISE
/CRITERIA=CLUSTER(5) MXITER(50) CONVERGE(.02)
/METHOD=KMEANS(NOUPDATE)
謝謝!
在SPSS中,使用/PRINT INITIAL
選項。 這將為您提供初始聚類中心,該聚類中心在SPSS中似乎是固定的,但在R中是隨機的(有關參數centers
請參見?kmeans
)。
如果您使用SPSS輸出中打印的初始聚類中心和kmeans中的argument="Lloyd"
參數,則應該獲得相同的結果(至少對我有用,並進行了多次重復測試)。
初始集群中心的SPSS輸出示例:
Cluster
Cl1 Cl2 Cl3 Cl4
Var A 1 1 4 3
Var B 4 1 4 1
Var C 1 1 1 4
Var D 1 4 4 1
Var E 1 4 1 2
Var F 1 4 4 3
該表復制為R中的矩陣,並進行kmeans計算:
mat <- matrix(c(1,1,4,3,4,1,4,1,1,1,1,4,1,4,4,1,1,4,1,2,1,4,4,3), nrow=4, ncol=6)
kmeans(na.omit(data.frame), centers=mat, iter.max=20, algorithm="Lloyd")
確保在SPSS和R-kemans中使用相同數量的最大迭代次數,並在R-kmeans中使用Lloyd方法。
但是,我不知道固定或隨機選擇初始中心會更好。 我個人喜歡隨機選擇,並使用找到的聚類組計算線性判別分析以評估分類的准確性,然后重新運行kmeans聚類,直到獲得具有統計意義的組分類。
編輯:我發現這篇文章描述了選擇初始群集的SPSS過程。 也許有人知道R的實現?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.