【问题标题】:Finding circles in scatter在散点图中找到圆圈
【发布时间】:2017-11-23 07:04:06
【问题描述】:

我正在使用传感器,我收集了两个列表中的数据:

filtered_x = [64, 90, 83, 78, 57, 58....]
filtered_y = [26, 17, 63, 21, 62, 86....]

给出以下散点图:

这是校准过程的一部分。为了完成这个,我必须在图中找到圆并得出圆心的坐标,以便校准传感器。我应该使用哪些库以及如何执行此操作?我遇到了最近的 K 邻居,但我找不到任何实用的方法来将其应用于两个列表以识别 25 个集群的中心。由于 LED 板闪烁而导致的读数。

【问题讨论】:

  • 我认为聚类算法,如在 scikit-learn 中实现的那些,将满足您的需求。 Here's an example.
  • 我在想scipy.cluster.vq.kmeans 可能是一种方法,但它会引起一些麻烦,所以我问了question about it here
  • 感谢代码,但是,当我运行它时,当我使用 x 和 y 作为我自己的数据运行它时,它运行良好,features = np.c_[x, y] 它给出了[[44 80]] 作为功能的结果,和clusters = kmeans(features, 25) 抛出一个错误:TypeError: type other than float or double not supported
  • features 应该是一个 2D numpy 数组,其行数与您的点数一样多。如果是这种情况,请确保它确实是一个浮点数组,如错误所示:features = np.c_[x, y].astype(float)
  • 我已经完成了,谢谢,现在它给了我两个完全输出的输出。它还提供以下信息: RuntimeWarning:某些列的标准偏差为零。这些列的值不会改变。运行时警告)。您的代码很棒,我需要弄清楚为什么我的数据与您生成的数据不同,我可以通过电子邮件将我的数据发送给您吗?你可以通过我的网站联系我,我可以通过那里给你发电子邮件 www.maxwellflitton.com

标签: python numpy matplotlib cluster-analysis scatter-plot


【解决方案1】:

使用核密度估计 (KDE),并找到最大值。

因为那是你想要找到的最密集的位置。

【讨论】:

    猜你喜欢
    • 2017-09-08
    • 1970-01-01
    • 1970-01-01
    • 2011-05-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多