Atributos

La clase KMeans incluye cuatro interesante atributos. Probémoslos con el modelo que se ha entrenado solo con dos características del dataset iris:

cluster_centers

Devuelve una lista con las coordenadas de los centroides:

model.cluster_centers_

Centroides

Para mostrar estos centroides con seaborn, necesitamos separar las coordenadas x e y:

x, y = zip(*model.cluster_centers_)
x, y

Centroides

sns.scatterplot("sepal_length", "sepal_width", data = iris, hue = "cluster", palette = "gist_stern");
sns.scatterplot(x, y);

Centroides

En la imagen anterior se muestran los centroides en color naranja.

labels_

Este atributo devuelve un listado con las etiquetas asignadas a las muestras:

model.labels_

Etiquetas asignadas

inertia_

El atributo inertia_ devuelve la suma de los cuadrados de las distancias de cada punto a su centroide, es decir, devuelve un valor que representa la cercanía de los puntos en cada cluster, siendo el valor óptimo cero:

model.inertia_

37.05070212765958

n_iter_

Número de iteraciones que han sido necesarias antes de converger en un resultado:

model.n_iter_

14