Determina el número óptimo de clústeres
Aquí vas a usar el método del codo para identificar el número óptimo de clústeres, donde la disminución de la suma de errores al cuadrado se vuelve marginal. Este es un paso importante para obtener una estimación matemática del número de clústeres con la que empezar a probar. Iterarás sobre varios valores de k y ejecutarás un algoritmo KMeans para cada uno; después, representarás los errores frente a cada k para identificar el “codo”, donde la disminución de errores se ralentiza.
El módulo KMeans está cargado desde sklearn.cluster, la librería seaborn está cargada como sns, y el módulo matplotlib.pyplot está cargado como plt. Además, el conjunto de datos escalado está cargado como wholesale_scaled_df en un DataFrame de pandas.
Este ejercicio forma parte del curso
Machine Learning para marketing en Python
Instrucciones del ejercicio
- Crea un diccionario
ssevacío. - Ajusta un algoritmo
KMeansen valores de k entre 1 y 11 y almacena los errores en el diccionariosse. - Añade el título al gráfico.
- Crea un diagrama de dispersión con las claves en el eje X y los valores en el eje Y y muestra la gráfica.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# Create empty sse dictionary
sse = {}
# Fit KMeans algorithm on k values between 1 and 11
for k in ___(1, 11):
kmeans = ___(n_clusters=___, random_state=333)
kmeans.___(wholesale_scaled_df)
sse[k] = kmeans.inertia_
# Add the title to the plot
plt.___('Elbow criterion method chart')
# Create and display a scatter plot
sns.pointplot(x=list(sse.___()), y=list(sse.___()))
plt.___()