K 表示不使用 x 轴的聚类

K means clustering not using x-axis

我正在尝试将 k-means 聚类分为 3 组。

df3
Entries  tmax
0   944  9.400000
1   1047 9.833333
2   1282 7.000000
3   1051 9.285714
4   697  8.571429
...

我目前在做:

kmeans = KMeans(n_clusters=3).fit(df3)
centroids = kmeans.cluster_centers_
print(centroids)

plt.scatter(df3['tmax'], df3['Entries'], c= kmeans.labels_.astype(float), s=50, alpha=0.5)
plt.scatter(centroids[:, 0], centroids[:, 1], c='red', s=50)
plt.show()

我想要 x 轴上的 tmax 和 Y 轴上的条目。上面的代码似乎将条目正确地分组在一起,但是 x 轴不显示 tmax 值。我做错了什么?

因为你想在 X 上 tmax(在 centroids[:, 1] 中),在 Y 上 Entries(在 centroids[:, 0] 中),你需要修复这在绘制质心时:

plt.scatter(centroids[:, 1], centroids[:, 0], c='red', s=50)

输出(在一些具有相似范围的随机生成的数据上):