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()