【发布时间】:2019-06-01 06:44:29
【问题描述】:
首先我想说的是,我对聚类技术的了解非常有限,请不要太严厉地抨击我。
我有一组相当大的 3D 点(大约 8,000 个) - 想一想 X、Y、Z 三元组,其中 Z 坐标代表地下地球中的一个点(负)。我想使用绝对最小数量的聚类对这些点进行聚类,并具有以下约束:
- 使用最少数量的集群
- 所有点都应包含在聚类中,这意味着任何点都应至少属于一个聚类
- 任何点与簇质心(在地球表面上以 Z=0 偏移)之间的最大距离不应超过某个固定距离d。
我正在考虑使用 scikit-learn k-means 方法,通过迭代地增加集群的数量,然后,对于数据集中的所有点,计算该点与集群质心之间的距离(在 Z=0 处)是否为小于提供的具体距离。
当然,我愿意接受更好/更有效的建议——例如,集群不需要像 k-means 返回的那样是循环的。只要满足上述约束,它们可以是椭圆或其他任何东西。
我欢迎任何建议,感谢您的见解。
【问题讨论】:
-
你看过MeanShift算法吗?
标签: python scikit-learn cluster-analysis