0Pricing
Python Academy · Lección

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.

Proyecto de clustering de K-Means — ilustración 1

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.

Proyecto de clustering de K-Means — ilustración 10

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

  1. Introducción a los algoritmos de clustering
  2. Clustering de K-Means
  3. Proyecto de clustering de K-Means
  4. Fundamentos de la reducción de dimensionalidad
  5. Aplicación de la reducción de dimensionalidad
← Volver a Python Academy