繁体   English   中英

SPSS K均值和R

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

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM