繁体   English   中英

plot 稀疏矩阵的kmeans簇

[英]plot clusters of kmeans of sparse matrix

我有一个 python 脚本,它对 svmlight 格式的数据文件进行聚类。 我使用 function sklearn.datasets.load_svmlight_file从数据文件加载数据。 我知道这个 function 返回一个稀疏矩阵。 我需要分散 plot 集群,任何人都可以帮助我。 这就是我所做的:

import sklearn.datasets
import sys
from sklearn.cluster import KMeans
dataFilename = sys.argv[1]
X, y = sklearn.datasets.load_svmlight_file(dataFilename)
kmeans = KMeans(n_clusters = 3)
kmeans.fit(X)
labels = kmeans.labels_
print(labels)
centroids = kmeans.cluster_centers_
                                   

如果没有数据集,我会建议以下内容:

  • 由于load_svmlight_file()返回一个稀疏矩阵,因此在拟合 model 之前,使用samples = X.toarray()X转换为 NumPy 数组

  • Plot 数据集的两个特征(例如)使用: plt.scatter(samples[:,0], samples[:,1], c=labels) 这会根据它们的预测标签对集群进行着色。

  • 使用plt.scatter(centroids[:,0], centroids[:,1], marker='D')查看带有菱形的质心的位置。

请注意samples[:,n]表示包含数据集第n个特征的样本值的数组。

我希望这有帮助。 如果没有,请告诉我。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM