我想使用correlation clustering
,我认为R
是一个很好的起点。
我可以将数据作为一组大的稀疏向量呈现给R
,或者作为带有预先计算的相异度矩阵的表格。
我的问题是:
R
个功能可将其转换为使用hierarchical cluster
的{{1}} agnes
?correlation clustering
功能,如果是这样,我如何才能使其与correlation clustering
良好配合?答案 0 :(得分:7)
我当然对这个问题知之甚少,但只是指出了一个方向:
答案 1 :(得分:7)
标准方法是涉及cor()
,hclust()
和plot.hclust()
的方法。
我强烈推荐来自精彩gplots包的heatmap.2。
答案 2 :(得分:2)
使用不相似矩阵在群集包中使用agnes
函数很容易。只需将“diss”参数设置为TRUE即可。
如果您可以轻松计算R之外的相异矩阵,那么这可能是要走的路。否则,您可以使用R中的cor
函数生成相似度矩阵(从中可以通过从1中减去1得到相异度矩阵)。
答案 3 :(得分:1)
我转到http://www.rseek.org/并输入了agnes算法,发现CRAN上的CLUSTER包具有以下函数AGNES的函数详细信息。
详细
agnes在第5章中有详细描述 Kaufman和Rousseeuw(1990)。 相比其他凝聚力 聚类方法,如hclust, agnes具有以下特点:(a) 它产生了凝聚力 系数(见agnes.object) 衡量集群的数量 结构发现; (b)除了 通常的树它也提供了 横幅,一种新颖的图形显示(见 plot.agnes)。
agnes算法构造了一个 集群层次结构。首先, 每个观察都是一个小群集 本身。集群仅合并为止 一个大的集群仍然存在 包含所有观察结果。在每一个 阶段两个最近的集群是 合并形成一个更大的集群。
对于method =“average”,距离 两个集群之间的平均值 点之间的差异 在一个集群和点中 其他集群。在method =“single”中,我们 使用之间最小的差异 第一个集群中的一个点和一个 指向第二个星团(最近的 邻居方法)。什么时候 method =“完成”,我们使用最大的 一个点之间的不一致 第一个集群和一个点 第二个集群(最远的邻居 法)。
群集是一个非常大的主题,你会发现许多R实现某种形式的包。如果同时具有属性和协变量,将聚类与排序相结合有时可以产生更多洞察力。