Supervisado
El modelo aprende a partir de ejemplos etiquetados: entradas con su respuesta correcta. Sirve para predecir valores (regresión) o categorías (clasificación).
Predecir el precio de una casa · detectar spam
Cómo las máquinas aprenden de los datos para predecir, clasificar y tomar decisiones, sin que nadie les programe cada regla.
Es una rama de la Inteligencia Artificial en la que, en lugar de escribir reglas a mano, entregamos datos a un algoritmo para que descubra los patrones por sí mismo. El resultado es un modelo capaz de generalizar: hacer predicciones sobre datos que nunca ha visto.
Programación tradicional: reglas + datos → respuestas.
Machine Learning: datos + respuestas → reglas.
El modelo aprende a partir de ejemplos etiquetados: entradas con su respuesta correcta. Sirve para predecir valores (regresión) o categorías (clasificación).
Predecir el precio de una casa · detectar spam
No hay etiquetas. El algoritmo busca por sí solo estructura en los datos: grupos parecidos, patrones ocultos o formas de reducir dimensiones.
Segmentar clientes · detectar anomalías
Un agente aprende por prueba y error dentro de un entorno, recibiendo recompensas o castigos según sus acciones, hasta encontrar la mejor estrategia.
Robots que caminan · IA que juega ajedrez
¿Qué quiero predecir y cómo mediré el éxito?
Reunir datos suficientes y representativos del problema.
Tratar nulos, outliers, codificar variables y escalar.
Separar train/test y ajustar el algoritmo a los datos.
Medir con métricas sobre datos que el modelo nunca vio.
Ponerlo en producción y vigilar que no se degrade.
Ajusta una recta (o hiperplano) para predecir valores numéricos.
Estima la probabilidad de pertenecer a una clase.
Divide los datos con preguntas sí/no; muy interpretable.
Muchos árboles votando juntos: robusto y preciso.
Clasifica según los vecinos más cercanos.
Agrupa los datos en k clústeres según su similitud.
Reduce dimensiones conservando la mayor varianza posible.
Capas de neuronas que aprenden representaciones complejas.
Con Python y scikit-learn el flujo completo cabe en unas pocas líneas: cargar datos, separar entrenamiento y prueba, entrenar y evaluar.
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import accuracy_score
X, y = load_iris(return_X_y=True)
X_train, X_test, y_train, y_test = train_test_split(
X, y, test_size=0.2, random_state=42)
modelo = RandomForestClassifier()
modelo.fit(X_train, y_train)
pred = modelo.predict(X_test)
print("Accuracy:", accuracy_score(y_test, pred))Porcentaje de predicciones correctas sobre el total.
De lo que predije como positivo, ¿cuánto lo era realmente?
De todos los positivos reales, ¿cuántos detecté?
Media armónica entre precision y recall.
Error promedio en problemas de regresión.
Qué proporción de la variabilidad explica el modelo.