En machine learning existen dos grandes caminos: el del estudiante guiado y el del explorador curioso.
Ambos buscan lo mismo —aprender a partir de los datos— pero su método es completamente distinto.
🎓 Aprendizaje supervisado: aprender con un maestro
En el aprendizaje supervisado, el modelo se entrena con datos etiquetados.
Cada muestra tiene una entrada (X) y una salida esperada (Y).
El modelo ajusta sus parámetros hasta que logra predecir correctamente la salida para nuevas entradas (generalización).
Ejemplos prácticos
- Clasificar correos en spam o no spam.
- Predecir el precio de una casa según superficie, ubicación y número de habitaciones.
- Detectar fraude en transacciones etiquetadas como “fraude/no fraude”.
Idea mental: es como estudiar con un profesor que ya tiene el cuaderno de respuestas y te corrige hasta que aprendes el patrón.
🧪 Mini-demo en Python (clasificación)
Requiere
scikit-learn
(instala conpip install scikit-learn
)
from sklearn.datasets import make_classification
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import classification_report, accuracy_score
# 1) Datos sintéticos binarios (ej. spam vs no spam)
X, y = make_classification(n_samples=2000, n_features=8, n_informative=4, random_state=42)
# 2) Split train/test
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25, random_state=42)
# 3) Entrenamiento
model = LogisticRegression(max_iter=1000)
model.fit(X_train, y_train)
# 4) Evaluación
pred = model.predict(X_test)
print("Accuracy:", accuracy_score(y_test, pred))
print(classification_report(y_test, pred))
🧭 Aprendizaje no supervisado: el explorador sin mapa
En el aprendizaje no supervisado, los datos no tienen etiquetas.
El modelo no sabe cuál es la respuesta correcta; su tarea es descubrir estructuras ocultas en los datos: patrones, similitudes o grupos.
Piensa en él como un explorador en una ciudad nueva: sin mapa ni instrucciones, pero con la curiosidad suficiente para descubrir qué calles se parecen, dónde están los centros de actividad y qué zonas comparten características.
🧩 Ejemplos comunes
- Segmentación de clientes: agrupar usuarios por hábitos de compra sin saber de antemano cuántos grupos existen.
- Agrupamiento de documentos o noticias: detectar temas similares sin etiquetas.
- Reducción de dimensionalidad: resumir datos complejos para visualizarlos o analizarlos mejor.
🧠 Ejemplo en Python: Clustering con K-Means
Requiere
scikit-learn
ymatplotlib
(instala conpip install scikit-learn matplotlib
)
from sklearn.datasets import make_blobs
from sklearn.cluster import KMeans
import matplotlib.pyplot as plt
# 1️⃣ Crear datos sintéticos
X, _ = make_blobs(n_samples=500, centers=4, cluster_std=1.0, random_state=42)
# 2️⃣ Aplicar K-Means
modelo = KMeans(n_clusters=4, random_state=42)
modelo.fit(X)
etiquetas = modelo.labels_
# 3️⃣ Visualizar los grupos
plt.scatter(X[:, 0], X[:, 1], c=etiquetas, cmap='viridis', s=30)
plt.scatter(modelo.cluster_centers_[:, 0], modelo.cluster_centers_[:, 1], c='red', marker='x', s=100)
plt.title("Agrupamiento no supervisado con K-Means")
plt.show()
Espero con esto haber dado un mejor enfoque que ayude. Espero tus comentarios.
Top comments (0)