Aprendizaje no supervisado
Comprenda técnicas de agrupamiento como K-Means y el agrupamiento jerárquico.
Aprendizaje no supervisado es una lección gratuita de Python For Kids en CoddyKit. Esta es la lección 3 de 6. 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 For Kids, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Python For Kids incluye 6 lecciones en total.
Aprendizaje no supervisado
El aprendizaje no supervisado es un tipo de machine learning en el que el algoritmo aprende patrones a partir de datos sin etiquetar. Se utiliza habitualmente para la agrupación, la reducción de la dimensionalidad y la detección de anomalías.
En esta lección, explorará técnicas de agrupación como K-Means y la agrupación jerárquica.

¿Qué es el aprendizaje no supervisado?
El aprendizaje no supervisado consiste en analizar y agrupar datos sin etiquetas predefinidas. Su objetivo es identificar estructuras o patrones ocultos en los datos.
Entre las tareas principales se incluyen:
- Agrupación: Agrupar puntos de datos similares.
- Reducción de la dimensionalidad: Reducir el número de características conservando la información importante.
Agrupación con K-Means
K-Means es un algoritmo de agrupación popular que divide los datos en K grupos según la similitud de sus características. Veamos cómo funciona:
# Example: K-Means Clustering
from sklearn.cluster import KMeans
import numpy as np
# Sample data
X = np.array([[1, 2], [1, 4], [1, 0], [10, 2], [10, 4], [10, 0]])
kmeans = KMeans(n_clusters=2, random_state=0)
kmeans.fit(X)
print("Cluster Centers:", kmeans.cluster_centers_)
print("Labels:", kmeans.labels_)Agrupación jerárquica
La agrupación jerárquica crea una estructura en forma de árbol (dendrograma) para agrupar puntos de datos similares. No requiere especificar previamente el número de grupos.
# Example: Hierarchical Clustering
from scipy.cluster.hierarchy import dendrogram, linkage
import matplotlib.pyplot as plt
# Sample data
X = [[1, 2], [1, 4], [1, 0], [10, 2], [10, 4], [10, 0]]
linked = linkage(X, 'single')
dendrogram(linked)
plt.show()Reducción de la dimensionalidad
La reducción de la dimensionalidad simplifica los datos al reducir el número de características y conservar la información importante. El análisis de componentes principales (PCA) es una técnica habitual para esta tarea.
# Example: PCA
from sklearn.decomposition import PCA
import numpy as np
# Sample data
X = np.array([[1, 2], [3, 4], [5, 6], [7, 8]])
pca = PCA(n_components=1)
X_reduced = pca.fit_transform(X)
print("Reduced Data:", X_reduced)Aplicaciones del aprendizaje no supervisado
El aprendizaje no supervisado se utiliza en:
- Segmentación de clientes: Agrupación de clientes según su comportamiento.
- Detección de anomalías: Identificación de patrones inusuales en los datos.
- Compresión de imágenes: Reducción del tamaño de las imágenes conservando su calidad.
Visualización de grupos
Visualizar los grupos ayuda a comprender cómo se agrupan los puntos de datos. Matplotlib y Seaborn son útiles para este propósito:
# Example: Visualizing clusters
import matplotlib.pyplot as plt
# Sample data and labels
X = [[1, 2], [1, 4], [1, 0], [10, 2], [10, 4], [10, 0]]
labels = [0, 0, 0, 1, 1, 1]
for i in range(len(X)):
plt.scatter(X[i][0], X[i][1], c='r' if labels[i] == 0 else 'b')
plt.show()Desafíos del aprendizaje no supervisado
El aprendizaje no supervisado presenta varios desafíos, entre ellos:
- Definir el número de grupos: K-Means requiere especificar de antemano el número de grupos.
- Interpretabilidad: Los grupos no siempre tienen significados claros.
- Escalabilidad: Gestionar grandes conjuntos de datos puede requerir muchos recursos computacionales.
Errores comunes en el aprendizaje no supervisado
Estos son algunos errores que debe evitar:
- Elegir un número incorrecto de grupos en K-Means.
- No preprocesar los datos, por ejemplo, escalando las características.
- Sobreinterpretar los grupos sin validarlos.
¿Qué hemos aprendido?
En esta lección, ha aprendido:
- Los fundamentos del aprendizaje no supervisado y sus tareas principales.
- A implementar K-Means y la agrupación jerárquica.
- El concepto de reducción de la dimensionalidad mediante PCA.
- Las aplicaciones, los desafíos y los errores comunes del aprendizaje no supervisado.
¡Excelente trabajo! Pasemos al siguiente tema.

Preguntas frecuentes
¿La lección «Aprendizaje no supervisado» es gratis?
Sí — el texto completo de «Aprendizaje no supervisado» 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 For Kids, actualiza a CoddyKit PRO. El curso de Python For Kids incluye 6 lecciones en total.
¿Qué aprenderé en «Aprendizaje no supervisado»?
Comprenda técnicas de agrupamiento como K-Means y el agrupamiento jerárquico. Practicas Python For Kids 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 For Kids?
No se requiere experiencia previa. Python For Kids 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 6.
¿Cuánto tiempo toma la lección «Aprendizaje no supervisado»?
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 For Kids?
Sí. Cada lección de Python For Kids 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 al aprendizaje automático
- Aprendizaje supervisado con Scikit-Learn
- Aprendizaje no supervisado
- Ingeniería y selección de características
- Introducción a las redes neuronales
- Introducción a TensorFlow y Keras