[英]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.