MÓDULO 1 · MACHINE LEARNING EN LA PRÁCTICA · 45 MIN

De los datos a la predicción

Tu primer modelo entrenado — verificado y auditado, no solo copiado del curso

El Machine Learning es encontrar la función matemática que mapea X (datos de entrada) a y (predicción), usando datos históricos para minimizar el error. Nada más místico que eso.

¿Qué tipo de problema tienes?
Tienes etiquetas
Predecir número → Regresión
Predecir categoría → Clasificación
Tienes datos, NO sabes la respuesta
Agrupar similares → Clustering
Quieres que aprenda jugando
Reinforcement Learning

Churn (abandono de clientes) es clasificación supervisada: tienes historial de quién se fue y quién se quedó.

El árbol de decisión real, después de entrenar

Corrí el script del curso para verificarlo antes de dártelo. Esto descubrió el árbol solo, mirando 800 clientes de entrenamiento:

¿llamadas ≤ 8.5?

SÍ → ¿minutos ≤ 120?

SÍ → ¿llamadas ≤ 4.5?

SÍ → CLIENTE FIEL

NO → RIESGO DE FUGA

NO (minutos > 120) → CLIENTE FIEL

NO (llamadas > 8.5) → RIESGO DE FUGA

Reconstruyó la regla oculta casi palabra por palabra, sin que nadie se la dijera.

Importancia de cada variable
llamadas
80,6%
minutos
19,4%

Las llamadas a soporte pesan 4x más que los minutos de uso — dato accionable: reducir fricción de soporte probablemente baja el churn más que cualquier campaña de uso.

Ejecuté el script — esto salió
Datos generados: 1000 clientes.
Entrenando modelo...
Precision del modelo: 100.00%

--- PRUEBA DE FUEGO ---
Cliente (Uso: 50min, Llamadas: 8) -> RIESGO DE FUGA
Cliente (Uso: 250min, Llamadas: 0) -> CLIENTE FIEL
Cliente (Uso: 100min, Llamadas: 2) -> CLIENTE FIEL
¿100% de precisión? Eso debería sonarte una alarma
Auditoría

El curso dice "esperado >90%" — a mí me dio 100%. El comentario del código dice que la regla tiene "un poco de ruido" — pero leyendo la lógica real, no lo tiene: es determinista pura. Con datos limpios y una regla que un árbol de profundidad 3 puede representar exactamente, 100% no es sospechoso — es lo matemáticamente esperable.

Por qué importa: en datos sintéticos limpios, 100% es normal. En datos reales de tu empresa, un modelo con 100% de precisión casi siempre significa que algo está mal — una columna que filtra la respuesta, o evaluación con los mismos datos de entrenamiento.

Train/test split
80% — Entrenamiento
El modelo ve estos datos y ajusta su lógica.
20% — Examen
El modelo NUNCA vio estos datos. Aquí mides la precisión real.

Evaluar con los mismos datos que entrenaste es como darle las respuestas del examen al alumno antes de la prueba.

Corre esto tú mismo
pip install scikit-learn numpy
# copia el script del curso en churn_prediction.py
python churn_prediction.py

Ya está verificado. Prueba a subir max_depth a 5 o bajarlo a 1 y observa cómo cambia la precisión y la forma del árbol.