代码之家  ›  专栏  ›  技术社区  ›  daveb

R中的相关聚类

  •  9
  • daveb  · 技术社区  · 15 年前

    我想使用 correlation clustering 我的身影 R 是一个很好的开始的地方。

    我可以把数据呈现给 R 作为一组大的稀疏向量或作为一个预先计算出相异矩阵的表。

    我的问题是:

    • 有没有 R 函数将其转换为 hierarchical cluster 具有 agnes 使用的 相关聚类 ?
    • 我必须执行(公认的简单)吗? 相关聚类 如果可以的话,我怎么才能让它玩得很好呢? 艾格尼丝 ?
    4 回复  |  直到 9 年前
        1
  •  7
  •   Shane    15 年前

    诚然,我对这个问题知之甚少,但我只是想告诉你一个方向:

        2
  •  7
  •   Tim Cooper    11 年前

    标准方法将涉及 cor() , hclust() plot.hclust() . 我强烈推荐优秀的gplots套餐中的heatmap.2。

        3
  •  2
  •   joran    13 年前

    很容易使用 agnes 功能在 集群 具有相异矩阵的包。把“diss”的论点设为真。

    如果你能很容易地计算出r之外的相异矩阵,那么这可能就是你要做的事情。否则,您只需使用 cor 函数在r中生成相似度矩阵(从中可以减去1得到相似度矩阵)。

        4
  •  1
  •   kpierce8    15 年前

    我去了 http://www.rseek.org/ 并进入agnes算法,发现cran上的cluster包具有以下函数agnes的详细信息。

    细节

    Agnes在第5章中有详细描述。 考夫曼和卢梭(1990年)。 与其他凝聚体相比 聚类方法,如hclust, Agnes具有以下特性:(a) 它产生凝聚性 系数(见Agnes.Object),其中 衡量集群的数量 发现的结构;和(b)除 它还提供了 横幅,一种新颖的图形显示(参见 情节。艾格尼丝)。

    Agnes算法构造了一个 集群的层次结构。起初, 每次观测都是由 本身。只有在 还有一个大集群 包含所有观察结果。在每个 两个最近的星团是 合并形成一个更大的集群。

    对于method=“average”,距离 两个集群之间的平均值为 点之间的不同之处 在一个集群中 其他集群。在method=“single”中,我们 使用之间最小的差异 第一个群集中的一个点和 第二个群集中的点(最近 邻居方法)。什么时候? method=“complete”,我们使用最大的 点之间的差异 第一个簇和中的一个点 第二个群集(最远的邻居 方法)。

    集群是一个非常大的主题,您将发现R的许多包实现了某种形式的集群。当您同时拥有属性和协变量时,将集群与排序结合有时可以产生更多的洞察力。