from sklearn.datasets import make_blobs
from sklearn.cluster import KMeans
import matplotlib.pyplot as plt
# Generar datos sintéticos
X, y = make_blobs(n_samples=300, centers=4, cluster_std=1.0, random_state=42)
# Aplicar K-Means
kmeans = KMeans(n_clusters=4, random_state=42)
kmeans.fit(X)
y_kmeans = kmeans.predict(X)
# Visualizar los clusters
plt.scatter(X[:, 0], X[:, 1], c=y_kmeans, cmap='viridis', label="Puntos")
plt.scatter(kmeans.cluster_centers_[:, 0], kmeans.cluster_centers_[:, 1], s=200, c='red', label='Centroides')
plt.title("Clustering con K-Means")
plt.xlabel("Característica 1")
plt.ylabel("Característica 2")
plt.legend()
plt.show()