下面是我在SPSS中使用的语法示例:
QUICK CLUSTER VAR1 TO VAR10
/MISSING=LISTWISE
/CRITERIA=CLUSTER(5) MXITER(50) CONVERGE(.02)
/METHOD=KMEANS(NOUPDATE)谢谢!
发布于 2014-03-10 22:19:49
在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中的矩阵,使用k均值计算:
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聚类,直到我有一个统计组分类。
编辑:我找到了this posting,其中描述了选择初始聚类的过程。也许有人知道R实现?
https://stackoverflow.com/questions/19013053
复制相似问题