Clustering con KMeans en Python
No supervisado: sin etiquetas, solo centroides y los puntos más cercanos a cada uno.
import numpy as np
from sklearn.cluster import KMeans
puntos = np.array([[1.0, 1.0], [1.4, 0.8], [5.0, 5.2],
[5.4, 4.8], [9.0, 9.1], [8.6, 9.4]])
modelo = KMeans(n_clusters=3, n_init=10, random_state=0)
modelo.fit(puntos)
print(modelo.labels_)
print(modelo.cluster_centers_.round(2))
print(f"inercia {modelo.inertia_:.3f}")
print(modelo.predict([[5.2, 5.0]]))
Cómo funciona
n_clusterses la elección que te toca justificar.inertia_es la suma de cuadrados dentro del cluster; más baja, más compacta.labels_asigna cada fila de entrenamiento a un cluster.
Palabras clave y builtins usados aquí
asprint
El intento, en números
- Líneas
- 13
- Caracteres a escribir
- 362
- Tokens
- 122
- Ritmo de tres estrellas
- 110 tpm
Al ritmo de tres estrellas de 110 tokens por minuto, este intento toma unos 67 segundos.
Paso 1 de 2 en No supervisado; paso 20 de 25 en Machine learning con scikit-learn.