Introducción
En este laboratorio, exploraremos el algoritmo de agrupamiento K-Means y su implementación en Python utilizando la biblioteca scikit-learn. El agrupamiento es un tipo de aprendizaje no supervisado que implica agrupar puntos de datos en clusters basados en sus similitudes. El agrupamiento K-Means es un algoritmo popular para el agrupamiento y se utiliza ampliamente en varios campos como el procesamiento de imágenes, la bioinformática y la investigación de mercadeo.
Consejos sobre la VM
Una vez que se haya iniciado la VM, haga clic en la esquina superior izquierda para cambiar a la pestaña Cuaderno y acceder a Jupyter Notebook para practicar.
A veces, es posible que tenga que esperar unos segundos a que Jupyter Notebook termine de cargarse. La validación de las operaciones no se puede automatizar debido a las limitaciones de Jupyter Notebook.
Si tiene problemas durante el aprendizaje, no dude en preguntar a Labby. Deje sus comentarios después de la sesión y lo resolveremos rápidamente para usted.
Importar bibliotecas
Primero, necesitamos importar las bibliotecas necesarias para este laboratorio. Vamos a utilizar NumPy, Matplotlib y scikit-learn.
import numpy as np
import matplotlib.pyplot as plt
from sklearn.cluster import KMeans
from sklearn import datasets
Cargar datos
A continuación, cargaremos el conjunto de datos iris, que es un conjunto de datos popular en el aprendizaje automático. Este conjunto de datos contiene información sobre las características de diferentes tipos de flores de iris. Utilizaremos este conjunto de datos para demostrar el algoritmo de agrupamiento K-Means.
iris = datasets.load_iris()
X = iris.data
y = iris.target
Visualizar datos
Antes de aplicar el algoritmo de agrupamiento K-Means, primero visualicemos los datos para entenderlos mejor. Utilizaremos un diagrama de dispersión 3D para visualizar los datos.
fig = plt.figure(figsize=(10, 8))
ax = fig.add_subplot(111, projection="3d")
ax.scatter(X[:, 0], X[:, 1], X[:, 2])
ax.set_xlabel("Sepal length")
ax.set_ylabel("Sepal width")
ax.set_zlabel("Petal length")
plt.show()
Aplicar el agrupamiento K-Means
Ahora, aplicaremos el algoritmo de agrupamiento K-Means a nuestros datos. Inicializaremos el algoritmo con 3 clusters y lo ajustaremos a nuestros datos.
kmeans = KMeans(n_clusters=3)
kmeans.fit(X)
Visualizar los clusters
Después de aplicar el algoritmo de agrupamiento K-Means, visualicemos los clusters que se formaron. Utilizaremos un diagrama de dispersión 3D para visualizar los puntos de datos y sus respectivos clusters.
fig = plt.figure(figsize=(10, 8))
ax = fig.add_subplot(111, projection="3d")
ax.scatter(X[:, 0], X[:, 1], X[:, 2], c=kmeans.labels_)
ax.set_xlabel("Sepal length")
ax.set_ylabel("Sepal width")
ax.set_zlabel("Petal length")
plt.show()
Evaluar el agrupamiento
Para evaluar el rendimiento del algoritmo de agrupamiento K-Means, podemos calcular la puntuación de inercia. La puntuación de inercia mide la suma de las distancias entre cada punto de datos y el centro de su cluster asignado. Una puntuación de inercia más baja indica un mejor agrupamiento.
print("Inertia Score:", kmeans.inertia_)
Resumen
En este laboratorio, aprendimos sobre el algoritmo de agrupamiento K-Means y su implementación en Python utilizando la biblioteca scikit-learn. Cargamos el conjunto de datos iris, visualizamos los datos, aplicamos el algoritmo de agrupamiento K-Means y evaluamos su rendimiento. El agrupamiento es una técnica poderosa para el análisis de datos y se puede utilizar en una variedad de aplicaciones.