【问题标题】:Scipy clustering: which method to use in fcluster for simple grouping?Scipy 聚类:在 fcluster 中使用哪种方法进行简单分组?
【发布时间】:2012-04-01 04:53:22
【问题描述】:

scipy clustering module 中有无数的 optin,我想确保我正确使用它们。我有一个对称距离矩阵DR,我想找到所有集群,使得集群中的任何点都有一个距离不超过 1.2 的邻居。

L = linkage(DR,method='single')
F = fcluster(L, 1.2)

linkage 中,我很确定single 是我想要的(最近点算法)。但是对于fcluster,我认为我想要默认的“不一致”方法:

‘不一致’:如果一个集群节点及其所有后代的值不一致,小于或等于 t,那么它的所有叶子后代都属于同一个平面集群。当没有非单例集群满足这个标准时,每个节点都被分配到自己的集群中。 (默认)

但也许是“距离”方法:

‘距离’:形成平面簇,使得每个平面簇中的原始观测值不大于 t。

...我不确定。使用哪一个?在这种情况下,cophenetic distance distance 是什么意思?

【问题讨论】:

  • 你可能想看看 DBSCAN。请参阅有关它的维基百科文章。看起来您正在寻找 minPts=1 和 epsilon=1.2 的 DBSCAN 输出
  • @Anony-Mousse 在维基百科上查看它,似乎 DBSCAN 正是我在说什么。问题现在可以表述为:DBSCAN 是否在scipy 中实现?
  • 从维基百科上的伪代码来看,实现起来相当简单,特别是因为你似乎已经有了一个距离矩阵。自己做吧。

标签: python scipy cluster-analysis


【解决方案1】:

您可能想查看 DBSCAN。请参阅有关它的维基百科文章。看起来您正在寻找 minPts=1 和 epsilon=1.2 的 DBSCAN 输出

从维基百科上的伪代码判断,实现起来相当简单,特别是因为您似乎已经有了一个距离矩阵。自己做吧。

【讨论】:

猜你喜欢
  • 2018-08-17
  • 2017-11-23
  • 1970-01-01
  • 1970-01-01
  • 2022-01-23
  • 2013-09-20
  • 1970-01-01
  • 1970-01-01
  • 2017-11-21
相关资源
最近更新 更多