Python 三维平面上的聚类点

Python 三维平面上的聚类点,python,cluster-analysis,k-means,Python,Cluster Analysis,K Means,假设立方体中有1000个随机数据点(如下图所示)。点在X和Y方向上的分布是均匀的,但在Z方向上不均匀。随着我们越深入,数据点越密集。python中是否有任何简单的方法来对这些数据点进行集群,以便: 每个集群大小相同 每个簇由局部点组成,即每个簇由相互靠近的点组成 我已经尝试了Scipy软件包中的K-means聚类,但没有给我一个好的结果,每个聚类的点都非常广泛,而不是集中 尝试使用Scikit Learn的实现。他们使用一种称为“K-Means++”的技术初始化集群,该技术根据概率选择第一种

假设立方体中有1000个随机数据点(如下图所示)。点在X和Y方向上的分布是均匀的,但在Z方向上不均匀。随着我们越深入,数据点越密集。python中是否有任何简单的方法来对这些数据点进行集群,以便:

  • 每个集群大小相同
  • 每个簇由局部点组成,即每个簇由相互靠近的点组成
我已经尝试了Scipy软件包中的K-means聚类,但没有给我一个好的结果,每个聚类的点都非常广泛,而不是集中


尝试使用Scikit Learn的实现。他们使用一种称为“K-Means++”的技术初始化集群,该技术根据概率选择第一种方法以获得最佳的初始分布。这会产生更高的好结果概率


尝试使用Scikit Learn的实现。他们使用一种称为“K-Means++”的技术初始化集群,该技术根据概率选择第一种方法以获得最佳的初始分布。这会产生更高的好结果概率


注意:K-means是随机初始化的,您是否试过多次运行它,看看第一次是否运气不好?但是,一般来说,如果您的数据一开始没有集群,那么任何算法都无法找到不存在的好集群。这似乎更像是一个装箱问题…@JulienBernu是的,我尝试过多次,使用不同的初始化和不同的迭代次数来收敛。群集必须具有相同大小的约束非常强。请看这篇帖子:@Anony mouse根据其他评论,也许更好的解释是我想将这个立方体分割成一个小立方体,这样每个小立方体中都有相同数量的数据点。然后你应该重新表述你的问题,并查看八叉树。注:K-means是随机初始化的,你有没有试过运行几次,看看第一次是否运气不好?但是,一般来说,如果您的数据一开始没有集群,那么任何算法都无法找到不存在的好集群。这似乎更像是一个装箱问题…@JulienBernu是的,我尝试过多次,使用不同的初始化和不同的迭代次数来收敛。群集必须具有相同大小的约束非常强。看看这篇帖子:@Anony mouse根据其余的评论,也许更好的解释是我想把这个立方体除以一个小立方体,这样每个小立方体中都有相同数量的数据点。然后你应该重新表述你的问题,看看八叉树。