Introducción a Machine Learning
Machine Learning (ML) es el campo de la inteligencia artificial donde las computadoras aprenden patrones a partir de datos, sin ser programadas explícitamente para cada caso. No necesitás un doctorado para entenderlo — los conceptos fundamentales son simples y poderosos. Como Data Analyst, no vas a construir modelos complejos de deep learning, pero sí necesitás entender cómo funcionan para colaborar con Data Scientists y evaluar resultados.
Concepto teórico
¿Qué es Machine Learning?
La programación tradicional funciona así: le das reglas + datos → la computadora produce respuestas. Machine Learning invierte el proceso: le das datos + respuestas correctas → la computadora descubre las reglas sola.
Los 3 tipos de Machine Learning
| Tipo | Qué tiene | Qué hace | Ejemplo |
|---|---|---|---|
| Supervisado | Datos + respuestas correctas | Aprende a predecir la respuesta | Predecir si un email es spam |
| No supervisado | Solo datos (sin respuestas) | Descubre estructura oculta | Agrupar clientes similares |
| Por refuerzo | Entorno + recompensas | Aprende por prueba y error | Un robot que aprende a caminar |
Clasificación vs Regresión
Dentro del aprendizaje supervisado hay dos grandes familias:
| Tipo | Variable objetivo | Predice | Ejemplo | Métricas |
|---|---|---|---|---|
| Clasificación | Categoría (discreta) | ¿A qué grupo pertenece? | Spam / No spam | Accuracy, Precision, Recall |
| Regresión | Número (continuo) | ¿Cuánto va a ser? | Precio de una casa | MAE, MSE, R² |
El flujo de trabajo de ML
Todo proyecto de Machine Learning sigue estos 6 pasos:
- Definir el problema: ¿qué queremos predecir? ¿Es clasificación o regresión?
- Preparar los datos: limpieza, selección de features, encoding de variables categóricas.
- Dividir: separar en
train(para aprender) ytest(para evaluar). - Entrenar: alimentar el modelo con los datos de entrenamiento.
- Evaluar: medir el rendimiento con datos que el modelo nunca vio (
test). - Iterar: ajustar parámetros, probar otros modelos, mejorar los datos.
Vocabulario esencial
| Término | Significado | Analogía |
|---|---|---|
| Features (X) | Variables predictoras (input) | Los síntomas del paciente |
| Target (y) | Variable a predecir (output) | El diagnóstico |
| Train set | Datos para aprender (70-80%) | Los pacientes que ya diagnosticaste |
| Test set | Datos para evaluar (20-30%) | Pacientes nuevos |
| Overfitting | Memoriza en vez de generalizar | Un estudiante que memoriza respuestas pero no entiende |
| Underfitting | Modelo demasiado simple | Un estudiante que no estudió lo suficiente |
| Hiperparámetros | Configuraciones del modelo | La dificultad del examen |
Ejemplos explicados paso a paso
Ejemplo 1: El dataset y el problema
Antes de cualquier modelo, necesitás entender los datos. Creamos un dataset de clientes bancarios para predecir quién va a cancelar.
Hacé clic en ▶ Ejecutar
Ejemplo 2: Train/Test Split — Separar datos
El paso más importante antes de entrenar: dividir los datos. Nunca evalúes un modelo con los datos que usó para aprender.
Hacé clic en ▶ Ejecutar
stratify=y en train_test_split para que ambos conjuntos tengan la misma
proporción. Sin esto, podrías terminar con un test set sin ningún caso positivo.Ejemplo 3: Primer modelo — Árbol de Decisión
Entrenar un modelo de clasificación y hacer predicciones. El árbol de decisión es el modelo más intuitivo: genera reglas tipo "si antigüedad < 3 y productos < 2 → cancela".
Hacé clic en ▶ Ejecutar
Ejemplo 4: Métricas — ¿Es bueno mi modelo?
Accuracy no siempre basta. Si el 95% de los clientes no cancelan, un modelo que siempre dice "no cancela" tiene 95% de accuracy pero es inútil. Necesitás precision, recall y la matriz de confusión.
Hacé clic en ▶ Ejecutar
Precision: "De todos los que el modelo dijo que cancelan, ¿cuántos realmente cancelan?" → Importa cuando los falsos positivos son costosos (ej: enviar un descuento a alguien que no iba a cancelar).
Recall: "De todos los que realmente cancelan, ¿cuántos capturó el modelo?" → Importa cuando los falsos negativos son costosos (ej: no detectar un fraude).
Ejemplo 5: Comparar modelos
Nunca te quedes con un solo modelo. Probá varios y compará las métricas. scikit-learn hace que cambiar de modelo sea cambiar una línea de código.
Hacé clic en ▶ Ejecutar
Referencia rápida
| Paso | Código scikit-learn | Qué hace |
|---|---|---|
| Separar datos | train_test_split(X, y) |
80/20 (o 70/30) |
| Crear modelo | DecisionTreeClassifier() |
Instanciar |
| Entrenar | modelo.fit(X_train, y_train) |
Aprender patrones |
| Predecir | modelo.predict(X_test) |
Aplicar lo aprendido |
| Accuracy | accuracy_score(y, pred) |
% correcto total |
| Precision | precision_score(y, pred) |
% de positivos predichos que son reales |
| Recall | recall_score(y, pred) |
% de positivos reales capturados |
| Confusión | confusion_matrix(y, pred) |
Tabla TN/FP/FN/TP |
Ejercicios
Ejercicio 1: Separar Features y Target
Separá X (Edad, Ingreso) e y (Compra). Imprimí el shape de X. Debe incluir (6, 2).
Hacé clic en ▶ Ejecutar
Ejercicio 2: Train/Test split
Dividí el dataset en 80% train y 20% test. Imprimí cuántas filas tiene el train. Debe incluir
160.
Hacé clic en ▶ Ejecutar
Ejercicio 3: Entrenar y predecir
Entrenáun DecisionTreeClassifier y hacé predicciones. Imprimí la accuracy. Debe incluir
%.
Hacé clic en ▶ Ejecutar
Ejercicio 4: Matriz de confusión
Entrenáun modelo y mostrásu matriz de confusión. Imprimí cuántos Falsos Negativos hay. Debe incluir
FN.
Hacé clic en ▶ Ejecutar
Ejercicio 5: Precision y Recall
Calculá precision y recall del modelo. Imprimí ambas. Debe incluir Precision.
Hacé clic en ▶ Ejecutar
Ejercicio 6: Probar otro modelo (Regresión Logística)
Cambiá el modelo a LogisticRegression y medí su accuracy. Debe incluir %.
Hacé clic en ▶ Ejecutar
Ejercicio 7: Comparar 2 modelos
Compará Árbol de Decisión vs Regresión Logística. Imprimí cuál ganó. Debe incluir Ganador.
Hacé clic en ▶ Ejecutar
Ejercicio 8: Overfitting — profundidad del árbol
Entrenáárboles con max_depth de 1 a 10. Imprimí accuracy de train y test para cada uno. El test accuracy
puede bajar con árboles profundos (overfitting). Debe incluir depth.
Hacé clic en ▶ Ejecutar
Ejercicio 9: Feature importance
Después de entrenar un árbol, imprimí qué features son más importantes con
modelo.feature_importances_. Debe incluir Importancia.
Hacé clic en ▶ Ejecutar
Ejercicio 10: Pipeline completo de ML
Flujo completo: crear datos → split → entrenar 2 modelos → evaluar con accuracy, precision, recall →
imprimir el mejor. Debe incluir Mejor.
Hacé clic en ▶ Ejecutar
Resumen y conexión
- ML supervisado: le das datos + respuestas → aprende a predecir.
- Clasificación predice categorías; regresión predice números.
- Siempre separá train/test — evaluar con datos de entrenamiento es el error #1.
- El flujo es:
split → fit → predict → evaluate. - Accuracy no siempre basta — usá precision y recall según el costo de los errores.
- Overfitting: el modelo memoriza en vez de generalizar (train accuracy alta, test baja).
- Siempre compará al menos 2-3 modelos distintos.
En la siguiente lección (15 · Regresión y clasificación) vas a profundizar en los algoritmos más usados: regresión lineal, logística, árboles y KNN, con implementaciones completas y visualizaciones de sus decisiones.
Recursos: scikit-learn Getting Started · Tutorial básico