【发布时间】:2015-11-12 07:54:23
【问题描述】:
假设我们在一个立方体中有 1000 个随机数据点(如下图所示)。 X 和 Y 方向的点分布是均匀的,但 Z 方向的分布不均匀。随着我们越来越深入,数据点越来越密集。 python中是否有任何直接的方法可以对这些数据点进行聚类:
- 每个簇的大小相同
- 每个聚类由局部点组成,即每个聚类由彼此靠近的点组成。
我已经尝试过使用 Scipy 包进行 K-means 聚类,但它并没有给我一个好的结果,而且每个聚类的点非常广泛而不是集中。
【问题讨论】:
-
注意:K-means是随机初始化的,你有没有试过运行几次,看看是不是第一次运气不好?但一般来说,如果你的数据一开始就没有聚集,那么算法就不会找到不存在的好集群。这似乎更像是一个分箱问题......
-
@JulienBernu 是的,我已经尝试了好几次不同的初始化和不同的收敛迭代次数。
-
集群必须具有相同大小的约束非常强。看看这个帖子:stats.stackexchange.com/questions/40777/…
-
@Anony-Mousse 根据其他 cmets 的说法,也许更好的解释是我想将这个立方体划分为迷你立方体的总和,这样在每个迷你立方体中都有相同数量的数据点.
-
你应该改写你的问题,然后看看八叉树。
标签: python cluster-analysis k-means