Я пытаюсь найти кластеры в наборе данных, используя метод K-средних.Я получил количество кластеров из метода локтя, но не знаю, как идентифицировать и разделить эти кластеры для дальнейшего анализа каждого кластера, например, применения линейной регрессии к каждому кластеру.Мой набор данных содержит более двух переменных.
Я получил количество кластеров из метода локтя
Применение 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()