如何找到kmeans中用于创建集群的参数?

时间:2011-03-14 11:22:49

标签: r statistics cluster-analysis

从R-list上的前一个question开始,我看到了两种方法来检查加载的包:

ls("package:ts") 
lsf.str("package:ts")

就我而言,我想检查kmeans的输出是什么,这是stats包中的一个函数,所以我使用了:

lsf.str("package:stats")

但是,我不知道如何检查从此命令返回的内容。我想识别先前聚类中使用的参数,以便我可以将它们应用于另一个数据集。在哪里可以找到作为此函数的一部分存储的参数?

2 个答案:

答案 0 :(得分:3)

kmeans帮助页面的 Value 部分列出了函数返回的对象的格式:

  

类“kmeans”的对象,它具有'print'方法并且是a        列表与组件:

     

cluster:整数向量(来自   '1:k')表示群集到             每个点都被分配。

     

中心:聚类中心矩阵。

     

内部:群内总和   每个群集的正方形。

     

totss:群内总和   广场。

     

tot.withinss:群内总和   正方形,即             “之和(withinss)”

     

之间:群集之和   正方形。

     

size:每个群集中的点数。

通常,您还可以使用kmeans函数直接从names对象列出这些值:

R> names(km)
[1] "cluster"      "centers"      "totss"        "withinss"    
[5] "tot.withinss" "betweenss"    "size"      

根据帮助页面中值的描述,我会说用于聚类的参数不会存储在结果对象中。因此,如果您只能访问生成的kmeans对象而不是原始函数调用,我会说这些参数丢失了,不幸的是......

答案 1 :(得分:1)

如果您输入kmeans,您将获得该方法的源代码,可在http://pastebin.com/6VnnhU7J的pastebin中找到。我不确定你对参数的意思是什么,因为它们作为参数传递(x,center,iter.max = 10,nstart = 1,algorithm = c(“Hartigan-Wong”,“Lloyd”,“Forgy” ,“MacQueen”)你可以轻松访问它们(你最初称之为kmeans的是什么?)