【发布时间】: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