Clustering con DBSCAN

¿Qué aplicamos/usamos aquí?

  1. DBSCAN (Density-Based Spatial Clustering of Applications with Noise): Es un algoritmo de clustering basado en la densidad. Identifica regiones de alta densidad de puntos como clusters y detecta ruido como puntos aislados.
  2. Datos sintéticos: Se generan datos con forma de lunas que representan dos clusters no lineales.
  3. Visualización: Los puntos se agrupan, y el modelo asigna un valor de cluster a cada punto.

Ver en Colab ➜

from sklearn.datasets import make_moons
from sklearn.cluster import DBSCAN
import matplotlib.pyplot as plt

# Generar datos sintéticos con forma de lunas
X, y = make_moons(n_samples=300, noise=0.1, random_state=42)

# Aplicar DBSCAN para el clustering
dbscan = DBSCAN(eps=0.2, min_samples=10)
y_dbscan = dbscan.fit_predict(X)

# Visualizar los clusters
plt.scatter(X[:, 0], X[:, 1], c=y_dbscan, cmap='viridis', label="Puntos")
plt.title("Clustering con DBSCAN")
plt.xlabel("Característica 1")
plt.ylabel("Característica 2")
plt.legend()
plt.show()