题
我想用 correlation clustering
我想 R
是一个很好的起点。
我可以将数据呈现给 R
作为一组稀疏的矢量或具有预计差异矩阵的表。
我的问题是:
- 有存在
R
功能将其变成一个hierarchical cluster
和agnes
使用correlation clustering
? - 我是否必须实施(诚然简单)
correlation clustering
手工功能,如果是这样,我该如何使它发挥作用agnes
?
解决方案
我诚然对这个主题一无所知,但只是将您指向一个方向:
- 您看过群集包吗?它具有很好的文档。特别是,请查看帮助(Agnes)以获取一些建议。 马丁·梅赫勒 (R Core团队的成员)创建了该软件包,并以前曾为堆栈溢出讨论做出了贡献,因此希望他在这里提供答案。
- HClust()函数是统计程序包的一部分。实际上,我相信有计划合并Hclust()和Agnes()。
- 你也可能会发现 此页面来自生物导体项目有帮助.
- 否则,您可能会幸运地查看Cran上的其他包裹 聚类, 自然语言处理 或者 机器学习 视图。
其他提示
标准方法将是一种涉及的方法 cor()
, hclust()
和 plot.hclust()
。我强烈建议您使用精美的Gplots包装中的Heatmap.2。
很容易使用 agnes
功能在 簇 包装带有差异矩阵。只需将“ Diss”论点设置为真。
如果您可以轻松地计算R外部R外部的差异矩阵,那么这可能是要走的方法。否则,您可以使用 cor
在R中的功能以生成相似性矩阵(您可以从中从1中减去差异矩阵)。
我去了 http://www.rseek.org/ 并输入AGNES算法,并在CRAN上发现群集包具有以下功能AGNES的功能详细信息。
细节
Agnes在Kaufman and Rousseeuw(1990)的第5章中充分描述。与其他聚集聚类方法(例如Hclust)相比,Agnes具有以下特征:(a)它产生的聚集系数(请参见Agnes.Object),该系数测量了发现的聚类结构的量; (b)除了通常的树外,它还提供了横幅,这是一种新颖的图形显示(请参见plot.agnes)。
Agnes-Algorithm构建了聚类的层次结构。首先,每个观察本身都是一个小集群。簇被合并,直到只有一个大簇保留,其中包含所有观测值。在每个阶段,将两个最近的簇组合在一起以形成一个较大的簇。
对于方法=“平均”,两个簇之间的距离是一个群集中点与另一个群集中点之间的差异的平均值。在方法=“单个”中,我们使用第一个群集中的一个点和第二个群集(最近的邻居方法)中的一个点之间的最小差异。当方法=“完成”时,我们使用第一个群集中的一个点和第二个集群中的一个点之间的最大差异(最远的邻居方法)。
聚类是一个非常重要的主题,您会发现许多r的软件包可以实现某种形式。当您具有属性和协变量时,将聚类与顺序结合在一起有时会产生更多的见解。