我想使用correlation clustering
和我的数字R
是一个很好的开始。R中的相关聚类
我可以将数据作为一组大的稀疏向量或作为具有预先计算的相异性矩阵的表格呈现给R
。
我的问题是:
- 都存在现有
R
功能与使用correlation clustering
agnes
变成一个hierarchical cluster
? - 我将不得不手动执行(不可否认的)
correlation clustering
函数,如果是这样的话,我该如何使它与agnes
一起玩呢?
我想使用correlation clustering
和我的数字R
是一个很好的开始。R中的相关聚类
我可以将数据作为一组大的稀疏向量或作为具有预先计算的相异性矩阵的表格呈现给R
。
我的问题是:
R
功能与使用correlation clustering
agnes
变成一个hierarchical cluster
?correlation clustering
函数,如果是这样的话,我该如何使它与agnes
一起玩呢?我固然不是很了解这个问题,但只是把你指向一个方向:
标准的做法是一个涉及cor()
,hclust()
和plot.hclust()
。 我强烈推荐heatmap.2从美妙的gplots包。
我去了http://www.rseek.org/并输入了agnes算法,发现CRAN上的CLUSTER包具有以下函数AGNES的功能细节。
详细
艾格妮丝在第5章Kaufman和Rousseeuw(1990)的 被充分地描述。 相比其他凝聚 聚类方法如hclust, 艾格尼丝具有以下特征:(a) 它产生的凝聚 系数(参见agnes.object),其 措施发现聚类 结构的量;和(b)除了通常的树木 之外,它还提供了 横幅,一种新颖的图形显示(参见 plot.agnes)。
agnes算法构造一个聚类的层次结构 。起初, 每个观察是由 本身的一个小集群。合并群集,直到只有 一个大群集仍然存在,其中 包含所有的观察结果。在每个 阶段,两个最近的聚类组合为 ,以形成一个更大的聚类。
对于方法=“平均”,该距离 两者之间簇是 的相异性的 其它群集中的点 在一个簇和点之间的平均。在method =“single”中,我们 使用第一个簇中的一个点与第二个簇中的 点(最接近的 邻居方法)之间的最小差异性 。当 method =“complete”时,我们使用 第一个簇中的点与 第二个簇(最远的邻居 方法)之间的最大 差异性。
集群是一个相当巨大的话题,你会发现R的许多包实现它的一些形式。当你有属性和协变量时,把聚类和协调结合起来有时可以产生更多的见解。
在集群包中使用差异矩阵很容易使用agnes
函数。只需将“diss”参数设置为TRUE即可。
如果你可以很容易地计算R之外的相异矩阵,那么这可能是一条路。否则,可以使用R中的cor
函数来生成相似度矩阵(从中可以通过从1中减去得到相异度矩阵)。
感谢您的参考 – daveb 2009-09-24 17:22:52
没问题。当你想出所有的东西时,随时发布任何后续回复到这个问题! :) – Shane 2009-09-24 21:30:13