На основании вашего кода может показаться, что вы только создали экземпляр KMeans, но не использовали его.Вам понадобятся чистые входные данные X ( т.е. без строк и т. Д.), Назовем их X
kmeans = KMeans(n_clusters=4,init='k-means++', max_iter=600, algorithm = 'auto')
clusters = kmeans.fit_predict(X)
Теперь clusters
имеет номер кластера для каждой выборки вX.
(в качестве альтернативы вы можете fit(X)
, а затем predict(X)
отдельно, но в конечном итоге именно predict
будет выводить метки кластера, которые вам понадобятся)
Если вы хотите позже получить кластеры данных, вы должны использовать kmeans.predict(new_data)
вместо fit_predict()
, чтобы KMeans использовал обучение из X и применил его к вашим новым_данным (или, в зависимости от ваших потребностей, вы можете переобучить его).).
Надеюсь, что это поможет.
Наконец, вы можете добавить еще один столбец в ваш DataFrame pandas, выполнив:
df['cluster'] = clusters
, где 'cluster'
- строка для вашего нового имени столбца.Вы можете, конечно, называть это как хотите