r - 确定最佳簇数并使用 Daisy 函数和 Gower 相似度

标签 r cluster-computing r-daisy

我正试图将 250 个物种的行为特征归纳为生活史策略。特征数据由数值变量和名义变量组成。我对 R 和聚类分析比较陌生,但我相信找到这些点的距离的最佳选择是在雏菊函数中使用 gower 相似性方法。 1) 这是最好的方法吗?

有了这些距离后,我想找到重要的聚类。我研究过 pvclust 并喜欢它给我集群强度的能力。但是,我无法修改代码以接受之前使用雏菊进行的距离测量。我没有成功尝试遵循此处给出的建议 https://stats.stackexchange.com/questions/10347/making-a-heatmap-with-a-precomputed-distance-matrix-and-data-matrix-in-r/10349#10349并使用此处获得的代码 http://www.is.titech.ac.jp/~shimo/prog/pvclust/pvclust_unofficial_090824/pvclust.R

2)谁能帮我修改现有代码以接受我的距离测量值?

3) 或者,是否有另一种更好的方法来确定重要聚类的数量?

在此先感谢大家的帮助。

最佳答案

一些评论...

关于 1)

这是处理不同类型数据的好方法。

您还可以在数据集中创建尽可能多的标称值新行,并将 1/0 放在需要的地方。例如,如果有 3 个标称值,例如“爬行动物”、“哺乳动物”和“鸟类”,您可以更改具有 2 列(数字,标称)的初始数据集 对于具有 4 列的新列(数字、数字(代表爬行动物)、数字(代表哺乳动物)、数字(代表鸟类))实例 (23.4,"mammal") 将映射到 (23.4,0,1,0) .

使用此映射,您可以使用“正常”距离(确保标准化数据,以便没有列会因为它的大/小值而支配其他列)。

大约 2)

daisy 返回一个类型不相似的元素,您可以在 cluster 包中的其他聚类算法中使用它(也许您不必实现更多的东西)。例如函数pam可以直接得到daisy返回的对象。

大约 3)

聚类确实是主观的,大多数聚类算法都依赖于初始条件,因此“重要聚类”并不是某些人不习惯使用的术语。 Pam 在您的情况下可能很有用,因为集群使用中心点居中,这对标称数据很有用(因为它是可解释的)。例如,K-means 的缺点是质心不可解释(1/2 爬行动物 1/2 哺乳动物是什么意思?)pam 构建了以实例为中心的集群,这对于解释目的很有帮助。

关于帕姆:

http://en.wikipedia.org/wiki/K-medoids

http://stat.ethz.ch/R-manual/R-devel/library/cluster/html/pam.html

关于r - 确定最佳簇数并使用 Daisy 函数和 Gower 相似度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18002093/

相关文章:

java - 使用嵌入式 R 代码运行和调试 JAVA 程序的结果不同

python-2.7 - 散点图按颜色 plotly python 分离集群

cluster-computing - 如何检索slurm脚本的内容?

r - 从现金流中获取特定行

r - 像在 gtable 中一样制作 ggplot 面板背景

cluster-analysis - 使用 Daisy 获取 "invalid type character"错误

r - 在 R 中使用 daisy 和 pam 进行聚类

R:将无序长数据转换为宽数据

distributed - MPI(或其他)中的任务分配库?