【发布时间】:2018-08-19 05:10:51
【问题描述】:
我正在尝试使用以下代码绘制我的 k 均值分析的质心和聚类:
matrix_reduced = TruncatedSVD(n_components = num_k).fit_transform(matrix)
matrix_embedded = TSNE(n_components=2, perplexity=30,verbose=2, n_iter =500).fit_transform(matrix_reduced)
centroids = kmeans.cluster_centers_
centroids_embedded = TSNE(n_components=2).fit_transform(order_centroids)
fig = plt.figure(figsize=(10,10))
ax1 = fig.add_subplot(111)
ax1.scatter(matrix_embedded[:,0], matrix_embedded[:,1],marker='x',c = kmeans.labels_)
ax1.scatter(centroids_embedded[:,0], centroids_embedded[:,1],marker='o',c = 'red')
plt.show()
不幸的是,质心不在不同的集群中心:
问题:有谁知道是什么原因造成的?我不知道出了什么问题。
谢谢!
【问题讨论】:
-
您是否尝试过运行更多迭代?随机质心可能需要超过 500 次迭代才能稳定。另外,我无法理解您的代码;您正在训练 TSNE,然后从 K-MEANS 绘制质心?这是两件不同的事情;不是吗?
标签: python-3.x machine-learning scikit-learn k-means