[英]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.