【问题标题】:clustering the data for circle by center and radius按中心和半径对圆的数据进行聚类
【发布时间】:2021-04-14 06:04:24
【问题描述】:

我有一个圆心(x,y)和半径(r)的数据集。需要将位置接近的圆圈聚集在一起。然后我有一点需要找到最近的集群。

index x   y  r
0     0   0  3
1     1   2  2
2     9   5  1
3     10  6  1
4     100 8 20

例如,按索引,簇将是 (0,1),(2,3),(4)。我认为这部分应该由聚类算法开发,但不知道是哪种算法。对于下一步 - 找到最近的集群,考虑时间复杂度,找到它的最佳方法是什么?

【问题讨论】:

  • 看起来像k-nn的情况。

标签: python machine-learning classification cluster-analysis decision-tree


【解决方案1】:

您可以使用 K-Means 聚类,这是一种无监督技术。 K 是这里的超参数,它表示您想在数据中找到的集群数量,因此您需要在将模型拟合到数据之前设置 K 的值(如您所知,如果您不是确定可能有多少个集群,那么您需要设置不同的 K 值,然后查看最适合您的)。对于您关于时间复杂度的问题,在 ML 中,我们几乎不考虑时间复杂度(并非严格意义上的真实),因为我们经常希望权衡时间以更好地减少损失的准确性。

K-means 的工作原理:

最好的部分是您可以非常轻松地尝试此方法并使用 Scikit Learn 库查看它的执行情况,因为您无需编写太多代码,因此非常简单。 您可以在此处浏览文档 - sklearn.cluster.KMeans

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-12-15
    • 1970-01-01
    • 2014-02-28
    • 2016-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-01
    相关资源
    最近更新 更多