gpt4 book ai didi

python - 使用 sklearn.cluster 的 K 均值聚类

转载 作者:太空宇宙 更新时间:2023-11-04 03:22:52 25 4
gpt4 key购买 nike

我在 Unsupervised Machine Learning: Flat Clustering 上看到了关于 K 均值聚类的教程,下面是代码:

import numpy as np
import matplotlib.pyplot as plt
from matplotlib import style
style.use("ggplot")

from sklearn.cluster import KMeans

X = np.array([[1,2],[5,8],[1.5,1.8],[1,0.6],[9,11]])

kmeans = KMeans(n_clusters=3)
kmeans.fit(X)

centroid = kmeans.cluster_centers_
labels = kmeans.labels_

print (centroid)
print(labels)

colors = ["g.","r.","c."]

for i in range(len(X)):
print ("coordinate:" , X[i], "label:", labels[i])
plt.plot(X[i][0],X[i][1],colors[labels[i]],markersize=10)

plt.scatter(centroid[:,0],centroid[:,1], marker = "x", s=150, linewidths = 5, zorder =10)

plt.show()

在这个例子中,数组只有 2 个特征 [1,2],[5,8],[1.5,1.8]

我尝试用存储在 np.array() 中的 10 x 750 矩阵(750 个特征)替换 X。它创建的图表没有任何意义。

我怎样才能修改上面的代码来解决我的问题?

最佳答案

实际上,直接可视化 750 维数据是不可能的。

但是还有其他方法可以绕过,例如,先使用 PCA 进行降维到一个非常低的维度,比如 4。Scikit-learn 还提供了一个 function for this .

然后你可以画一个图矩阵,每个图只有两个特征。使用 Pandas 包,您可以很容易地用 scatter_matrix 绘制这些图功能。

请注意,在您只使用 PCA 进行可视化的情况下,您仍然应该对原始数据进行 K 均值聚类,在获得质心后,使用您之前创建的 PCA 模型对质心进行 PCA。

这是一个由 scatter_matrix 函数创建的示例图: enter image description here

关于python - 使用 sklearn.cluster 的 K 均值聚类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34113790/

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