¿Cuántos clústeres?

Análisis de clústeres en Python

Shaumik Daityari

Business Analyst

¿Cómo encontrar el k adecuado?

  • No hay un método absoluto para hallar el número correcto de clústeres (k) en k-means
  • Método del codo

Análisis de clústeres en Python

Revisión de la distorsión

  • Distorsión: suma de distancias al cuadrado de los puntos a los centroides
  • Disminuye al aumentar el número de clústeres
  • Es cero si el número de clústeres iguala al de puntos
  • Gráfico de codo: línea entre número de clústeres y distorsión

Análisis de clústeres en Python

Método del codo

  • Gráfico de codo: relación entre número de clústeres y distorsión
  • Ayuda a indicar cuántos clústeres hay en los datos
Análisis de clústeres en Python

Método del codo en Python

# Declaring variables for use
distortions = []

num_clusters = range(2, 7)
# Populating distortions for various clusters
for i in num_clusters:
    centroids, distortion = kmeans(df[['scaled_x', 'scaled_y']], i)
    distortions.append(distortion)
# Plotting elbow plot data
elbow_plot_data = pd.DataFrame({'num_clusters': num_clusters,
                                'distortions': distortions})

sns.lineplot(x='num_clusters', y='distortions', 
             data = elbow_plot_data)
plt.show()
Análisis de clústeres en Python

Análisis de clústeres en Python

Conclusiones sobre el método del codo

  • Solo indica un k óptimo (número de clústeres)
  • No siempre señala cuántos k usar (número de clústeres)
  • Otros métodos: silueta media y estadístico de brecha
Análisis de clústeres en Python

A continuación: ejercicios

Análisis de clústeres en Python

Preparing Video For Download...