【发布时间】:2019-11-20 11:08:02
【问题描述】:
我正在尝试使用 K-means 方法在数据集中查找集群。我从肘部方法中获得了集群的数量,但不知道如何识别和分离这些集群以便对每个集群进行进一步分析,例如对每个集群应用线性回归。我的数据集包含两个以上的变量。
我通过肘法得到了簇的数量
应用 Kmeans
distortions = []
K = range(1,10)
for k in K:
kmeanModel = KMeans(n_clusters=k).fit(df)
kmeanModel.fit(df)
distortions.append(sum(np.min(cdist(df, kmeanModel.cluster_centers_, 'euclidean'), axis=1))**2 / df.shape[0])
簇数的肘法
plt.plot(K, distortions, 'bx-')
plt.xlabel('k')
plt.ylabel('Distortion')
plt.title('The Elbow Method showing the optimal k')
plt.show()
【问题讨论】:
标签: python cluster-analysis linear-regression k-means unsupervised-learning