gpt4 book ai didi

python - 对这些数据进行聚类的最佳算法是什么

转载 作者:行者123 更新时间:2023-12-01 07:04:54 26 4
gpt4 key购买 nike

enter image description here

有人可以帮我找到一种好的聚类算法,将其聚类为 3 个聚类,而无需定义聚类数量。

我已经尝试了许多基本形式的算法..似乎没有一个能正常工作。

clustering = AgglomerativeClustering().fit(temp)

我也以同样的方式尝试了 dbscan 和 kmeans.. 只是使用了 sklean 的指南。我无法得到预期的结果。

我的原始数据集是一个一维数字列表..但数字的顺序很重要,因此生成了一个二维列表,如下所示。

temp = []
for i in range(len(avgs)):
temp.append([avgs[i], i+1])
clustering = AgglomerativeClustering().fit(temp)

在绘制驾驶图时,我使用了相似的范围作为 y 轴

ax2.scatter(range(len(plots[i])), plots[i], c=np.random.rand(3,))

数据的顺序很重要,因此需要聚类为3。并且可能还有一些其他数据集的数据非常好,因此结果只需一个聚类。

Link to the list if someone want to try

所以我尝试使用步骤检测并根据你的答案得到了以下图像。但我怎样才能找到峰值的值..如果我得到最大值,我可以得到其中之一..但是如何得到其余的..第二个最大值不是答案,因为紧挨着的那个最大值max 是第二个最大值

enter image description here

最佳答案

您的数据不是二维坐标。因此,不要选择为此设计的算法!

相反,您的数据似乎是连续的或时间序列的。

您想要使用的是变化点检测算法,能够检测一系列平均值的变化。

一种简单的方法是计算接下来 10 个点的总和减去前 10 个点的总和,然后查找该曲线的极值。

关于python - 对这些数据进行聚类的最佳算法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58483957/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com