【问题标题】:Clustering data based on certain exemplars基于某些示例对数据进行聚类
【发布时间】:2020-02-25 04:47:44
【问题描述】:

我正在检查一些关于相似性传播的信息(除了存在且非常有用的包)。

经过各种计算,我得出了 4 个特定示例,用于某对值,例如 df[1:10, ]:

   X3.115997 X1.873875
1   4.446356  2.931754
2   4.071908  2.810298
3   4.512401  2.505570
4   3.793507  3.615971
5   4.141959  3.362119
6   3.656110  3.248274
7   4.194451  2.346595
8   3.775412  2.823766
9   3.724534  2.931452
10  4.040321  3.414879

我想做的是将 df 的所有值聚集成 4 个特定的值作为示例。

【问题讨论】:

  • 不太清楚你在问什么......也许你正在寻找类似 k-means 或混合模型的东西。
  • 注意您的列标签 - 好像您在导入时丢失了第一行...

标签: r cluster-analysis clustered-index


【解决方案1】:

非常感谢您的回答,

实际上,我想做的是将所有值聚类在 4 个组中(正如我在应用 ap 聚类时在 4 个示例中得出的结论),以便能够将我的 ap 输出与生成的聚类数据集“比较”采用不同的方法。

答案要简单得多,因为还有各种其他函数,如 kmeans() 可以解决问题。一开始对我来说并不是很明显,也许我没有正确表达它。

【讨论】:

    【解决方案2】:

    Affinity Propagation 相当复杂且昂贵。

    将点分配给集群的正确方法是迭代计算职责,这取决于邻居的职责。但是,您选择的 4 个示例可能不再对所有数据负责,或者不再对最负责的点负责。

    当您调用“预测”时,一些工具(例如 sklearn)会将所有点分配给最近的邻居。这与最初的方法不一致,但在实践中似乎并没有太大的区别。这可以解释为什么在大多数情况下,亲和力传播似乎并不比 k-means 或 k-medoids 工作得更好 - 如果责任与接近性几乎相同,那么它们最能产生几乎相同的结果。

    因此,AP 不是我推荐使用的方法 - 对于结果而言与 k-means 没有太大区别的方法来说太慢了。

    【讨论】:

      猜你喜欢
      • 2022-01-25
      • 2018-08-02
      • 2021-08-11
      • 2021-01-10
      • 1970-01-01
      • 2018-01-07
      • 2015-04-18
      • 1970-01-01
      • 2013-07-27
      相关资源
      最近更新 更多