Proyecto de clustering de K-Means
Aplicación a un conjunto de datos real
Proyecto de clustering de K-Means es una lección gratuita de Python Academy en CoddyKit. Esta es la lección 3 de 5. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Python Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Python Academy incluye 5 lecciones en total.
Proyecto de agrupación con K-Means
Proyecto de agrupación con K-Means
En este proyecto, aplicaremos la agrupación mediante K-Means a un conjunto de datos del mundo real: la segmentación de clientes. El objetivo es agrupar a los clientes según sus patrones de gasto.

Descripción general del conjunto de datos
Descripción general del conjunto de datos
El conjunto de datos contiene las siguientes columnas:
- Identificador del cliente: Identificador único de cada cliente.
- Edad: Edad del cliente.
- Ingresos anuales: Ingresos anuales en miles de dólares.
- Puntuación de gasto: Puntuación asignada según el comportamiento y los patrones de gasto del cliente (1–100).
Paso 1: Importación del conjunto de datos y las bibliotecas
Paso 1: Importación del conjunto de datos y las bibliotecas
Comenzaremos importando las bibliotecas necesarias y cargando el conjunto de datos:
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.cluster import KMeans
# Load dataset
data = pd.read_csv('Mall_Customers.csv')
print(data.head())Paso 2: Preprocesamiento de los datos
Paso 2: Preprocesamiento de los datos
Seleccionaremos las características relevantes para la agrupación y normalizaremos los datos si es necesario. Para este proyecto, utilizaremos Ingresos anuales y Puntuación de gasto:
# Select relevant features
X = data[['Annual Income (k$)', 'Spending Score (1-100)']].values
print(X[:5])Paso 3: Determinación del número óptimo de clústeres
Paso 3: Determinación del número óptimo de clústeres
Utilizamos el método del codo para encontrar el número óptimo de clústeres. Para ello, representamos la suma de cuadrados intra-clúster (WCSS) para distintos valores de K:
wcss = []
for i in range(1, 11):
kmeans = KMeans(n_clusters=i, init='k-means++', random_state=42)
kmeans.fit(X)
wcss.append(kmeans.inertia_)
plt.plot(range(1, 11), wcss)
plt.title('Elbow Method')
plt.xlabel('Number of Clusters')
plt.ylabel('WCSS')
plt.show()Paso 4: Aplicación de la agrupación mediante K-Means
Paso 4: Aplicación de la agrupación mediante K-Means
Según el método del codo, elegimos el número óptimo de clústeres (por ejemplo, K=5) y ajustamos el modelo K-Means:
kmeans = KMeans(n_clusters=5, init='k-means++', random_state=42)
kmeans.fit(X)
# Add cluster labels to the dataset
data['Cluster'] = kmeans.labels_
print(data.head())Paso 5: Visualización de los clústeres
Paso 5: Visualización de los clústeres
Podemos representar los clústeres en un espacio 2D para observar su separación:
plt.scatter(X[:, 0], X[:, 1], c=kmeans.labels_, cmap='viridis')
plt.scatter(kmeans.cluster_centers_[:, 0], kmeans.cluster_centers_[:, 1], s=200, c='red', marker='X')
plt.title('Customer Segmentation')
plt.xlabel('Annual Income (k$)')
plt.ylabel('Spending Score (1-100)')
plt.show()Paso 6: Interpretación de los clústeres
Paso 6: Interpretación de los clústeres
Cada clúster representa un grupo de clientes con patrones de gasto similares. Por ejemplo:
- Clúster 1: Ingresos altos y gasto elevado.
- Clúster 2: Ingresos bajos y gasto reducido.
- Clúster 3: Ingresos moderados y gasto elevado.
Desafíos de la agrupación en el mundo real
Desafíos de la agrupación en el mundo real
Aunque la agrupación es una técnica potente, sus aplicaciones en el mundo real afrontan desafíos como:
- Conjuntos de datos de alta dimensionalidad.
- Datos ruidosos o incompletos.
- Interpretar los resultados de los clústeres de forma significativa.
Resumen y próximos pasos
Resumen y próximos pasos
En este proyecto:
- Exploramos un conjunto de datos del mundo real.
- Aplicamos la agrupación mediante K-Means y visualizamos los resultados.
- Interpretamos los clústeres para comprender el comportamiento de los clientes.
A continuación, aprenderemos sobre técnicas de reducción de dimensionalidad como PCA y t-SNE.

Preguntas frecuentes
¿La lección «Proyecto de clustering de K-Means» es gratis?
Sí — el texto completo de «Proyecto de clustering de K-Means» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Python Academy, actualiza a CoddyKit PRO. El curso de Python Academy incluye 5 lecciones en total.
¿Qué aprenderé en «Proyecto de clustering de K-Means»?
Aplicación a un conjunto de datos real Practicas Python Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Python Academy?
No se requiere experiencia previa. Python Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 5.
¿Cuánto tiempo toma la lección «Proyecto de clustering de K-Means»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Python Academy?
Sí. Cada lección de Python Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Introducción a los algoritmos de clustering
- Clustering de K-Means
- Proyecto de clustering de K-Means
- Fundamentos de la reducción de dimensionalidad
- Aplicación de la reducción de dimensionalidad