我找不到使用R进行k-center聚类的简单库函数,而我可以使用k-means(kmeans()
)和层次聚类(hclust()
)。
是否存在使用R的简单贪婪k中心聚类的库函数,如this post
中所述如果没有 - 因为我是R的新手 - 如何实现它(我理解逻辑 - 而不是如何在R代码中实际编写它)。
答案 0 :(得分:4)
使用kmeans
尝试method = "centers"
。
如果这不是您想要的,那么CRAN在http://cran.r-project.org/web/views/Cluster.html有一个包含数十个软件包的集群任务视图。
答案 1 :(得分:1)
根据本博文中的描述,这似乎与用于k-means的众多播种策略之一相似。我还不会把它称为聚类方法,而是预聚类或类似的东西。
也许你应该看看R的flexclust
包,我相信它有一些k-means变种和初始化,也许它有这个变种作为一个初始化选项。或者它可能在http://cran.r-project.org/web/views/Cluster.html
请注意,始终选择距离最远的对象很容易选择异常值作为聚类中心!看看例如k-means ++基于类似的想法,但更聪明(另外,它更好地支持随机化,因此您可以尝试多种不同的初始化)。或者您可以选择最接近(2k-1)/(2k)
分位数的对象,这可能是对一个好的聚类中心的更好猜测。