Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Implementación en un Conjunto de Datos Ficticio | K-Means
Análisis de Conglomerados con Python

Implementación en un Conjunto de Datos Ficticio

Desliza para mostrar el menú

Ahora recorrerás un ejemplo práctico de aplicación de agrupamiento K-means. Para ello, utilizarás un conjunto de datos ficticio. Los conjuntos de datos ficticios son conjuntos de datos generados artificialmente que se emplean frecuentemente con fines de demostración y aprendizaje. Permiten controlar las características de los datos y observar claramente cómo funcionan algoritmos como K-means.

Conjunto de datos ficticio

Para esta demostración, crearemos un conjunto de datos ficticio utilizando la función make_blobs(). Esta función es excelente para generar agrupaciones de puntos de datos de manera visual clara y controlable. Generaremos datos con las siguientes características:

  • Número de muestras: crearemos un conjunto de datos con 300 puntos de datos;

  • Número de centros: estableceremos el número de agrupaciones reales en 4. Esto significa que los datos ficticios están diseñados para tener cuatro grupos distintos;

  • Desviación estándar de los grupos: controlaremos la dispersión de los puntos dentro de cada grupo, estableciéndola en 0.60 para obtener grupos relativamente compactos;

  • Estado aleatorio: utilizaremos un random_state fijo para garantizar la reproducibilidad, asegurando que la generación de datos sea consistente cada vez que ejecutes el código.

X, y_true = make_blobs(n_samples=300,
                       centers=4,
                       cluster_std=0.60,
                       random_state=0)

Implementación de K-Means

Con estos datos ficticios creados, aplicaremos el algoritmo K-means. Exploraremos cómo K-means intenta dividir estos datos en grupos según los principios aprendidos en capítulos anteriores.

K-means puede inicializarse y entrenarse de la siguiente manera en Python:

kmeans = KMeans(n_clusters=k, random_state=42) 
kmeans.fit(X)

Para determinar el número óptimo de grupos para estos datos, emplearemos los métodos discutidos en los capítulos anteriores:

  • Método WSS: calcularemos la suma de cuadrados dentro del grupo (Within-Sum-of-Squares) para diferentes valores de K y analizaremos el gráfico del codo para identificar un posible K óptimo;

  • Método de la puntuación Silhouette: calcularemos la puntuación Silhouette para diferentes valores de K y examinaremos el gráfico Silhouette y las puntuaciones promedio para encontrar el K que maximice la calidad de los grupos.

Finalmente, las visualizaciones desempeñarán un papel fundamental en nuestra implementación. Visualizaremos:

  • Los propios datos ficticios, para observar la estructura inherente de los grupos;

  • El gráfico WSS, para identificar el punto de codo;

  • El gráfico Silhouette, para evaluar la calidad de los grupos para diferentes valores de K;

  • Los grupos finales de K-means superpuestos sobre los datos ficticios, para verificar visualmente los resultados del agrupamiento y el K óptimo elegido.

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 3. Capítulo 5

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

Sección 3. Capítulo 5
some-alt