我可以使用层次聚类获得集群的功能 - numpy

时间:2013-02-14 03:01:05

标签: python numpy cluster-analysis data-mining hierarchical

我正在尝试在m * n数组上进行分层聚类。

  1. 输入数组:500 * 1000(1000个特征,500个观测值)
  2. 使用自定义的pdist函数计算距离矩阵
  3. 将此距离矩阵输入到连接功能:     clusters = sch.linkage(distanceMatrix,'single')
  4. 形成扁平簇:     fc = sch.fcluster(cluster,cutoff,'distance')
  5. 这给了我一些集群(大约80个,使用6.0的截止值)。 现在,无论如何,我可以获得与每个集群相对应的1000个功能吗? (就像我们使用K-means聚类得到质心的特征一样)。

1 个答案:

答案 0 :(得分:3)

层次聚类中的聚类(或除了k-means和高斯混合EM之外几乎任何限制为“球形”的东西 - 实际上:凸 - 聚类)不一定具有合理的手段

因为它们允许非球形簇。这实际上是一个特征......

https://en.wikipedia.org/wiki/Cluster_analysis#Connectivity_based_clustering_.28hierarchical_clustering.29

查看标题为“链接聚类示例”的正确图像。这个“香蕉”例子中的集群有什么用? 质心甚至可能不在群集中!

请注意,如果需要,您仍然可以自己计算质心 。由于聚类算法不需要质心,显然它不会自动为你计算。