我试图绘制一张弯头图表,以便为此获得理想数量的聚类:
db.collection('coll').doc('doc')
当我运行此代码时,我收到以下错误:
data = dataset[['A','B','C','D','E','F','G','H']]
distortions = []
K = range(1, 10)
for k in K:
kmeanModel = KMeans(n_clusters = k).fit(data)
kmeanModel.fit(data)
distortions.append(sum(np.min(cdist(data, kmeanModel.cluster_centers_, 'euclidean'), axis=1)) / data.shape[0])
plt.plot(data, distortions, 'bx-')
plt.xlabel('k')
plt.ylabel('Disortotion')
plt.title('Elbow')
plt.show()
这个错误是什么意思?我该如何解决?
谢谢!
答案 0 :(得分:0)
在plt.plot(data, distortions, 'bx-')
中,您指定x
为data
,这是k-means的原始数据框。它应该是集群的数量:
plt.plot(K, distortions, 'bx-')
plt.xlabel('k')
plt.ylabel('Disortotion')
plt.title('Elbow')
plt.show()