вычислите центроид кластера с помощью kmeans

#scikit-learn #cluster-analysis #k-means

Вопрос:

Я хочу рассчитать вектор центроида для кластера с помощью scikit-learn:

 from sklearn.cluster import KMeans
import numpy as np

kmeans = KMeans(n_clusters=1, random_state=0).fit(X)
 

Если я задам n_cluster=1 , означает ли это, что я вычисляю среднее значение X?

Например, если в X есть три точки данных, и каждая точка данных имеет вектор 4d X=[[1,2,3,4],[2,3,4,5],[6,7,8,9]] , поэтому после того , как я использовал kmeans для вычисления вектора центроида, это будет centroid_vect = [3,4,5,6] ?

Ответ №1:

Да, именно так. Центроиды сохраняются kmeans.cluster_centers_ после подгонки модели.

 kmeans = KMeans(n_clusters=1, random_state=0).fit([[1,2,3,4],[2,3,4,5],[6,7,8,9]])

kmeans.cluster_centers_
#array([[3., 4., 5., 6.]])