← Todos los capítulos
Capítulo 2 · Proyecto de punta a punta

Un orden de trabajo,
no una colección de trucos

El capítulo más largo del libro no enseña un algoritmo. Enseña en qué orden se hacen las cosas para que el número final signifique algo, y señala los puntos del procedimiento que se contaminan solos cuando nadie los vigila.

El método

Los ocho pasos

Enmarcar el problemaQué se predice, quién usará la respuesta, y con qué métrica se juzga. La métrica se elige antes de entrenar, no después de ver los resultados.
Obtener los datosY apartar el conjunto de prueba de inmediato, antes de mirarlos.
ExplorarDistribuciones, correlaciones, valores atípicos y huecos. Solo sobre el conjunto de entrenamiento, y sabiendo que la correlación solo detecta relaciones lineales: una parábola perfecta da cero.
PrepararImputar, escalar, codificar y combinar variables. Todo dentro del pipeline, nunca a mano sobre la tabla completa.
EntrenarVarios modelos con parámetros por defecto, para saber desde dónde se parte.
AfinarBuscar hiperparámetros sobre el mejor puñado, con validación cruzada.
PresentarExplicar qué funcionó, qué no, y qué no se puede afirmar.
DesplegarEl modelo recibe datos crudos y responde. Lo que se despliega es el pipeline entero, no el estimador solo.
Se siguen siempre, en un problema de casas o en cualquier otro. El resto de esta página son los cuatro pasos donde algo puede salir mal sin que se note.
Paso 1

La métrica se fija antes de entrenar

RMSE eleva los errores al cuadrado antes de promediarlos, así que un fallo grande pesa más que varios pequeños. MAE los promedia tal cual. Elegir entre las dos es decidir si un error grande es peor que su parte proporcional de errores chicos, y esa decisión pertenece a quien va a usar la predicción.

Con los dieciséis modelos del capítulo ya medidos, cambiar de métrica reordena poco. Los cinco primeros quedan igual y solo se intercambian tres parejas consecutivas:

Por RMSEPor MAEQué significa
6.º xgboost6.º random_forestrandom_forest falla en promedio un poco más, pero se le escapan menos casos por mucho
7.º random_forest7.º xgboost
8.º mlp_tuned8.º svrsvr acierta más veces de cerca y se estrella más fuerte cuando falla
9.º svr9.º mlp_tuned
Las parejas que se cruzan están separadas por menos de 0.01 de RMSE, dentro del ruido del muestreo. La métrica reordena la cola, no decide el ganador.
Paso 2

El conjunto de prueba se aparta antes de mirar los datos

Es el paso que más se salta, porque parece burocracia. Explorar primero y partir después resulta más natural y no cuesta nada, y en eso consiste el peligro: no cuesta nada y tampoco se nota.

Quien mira los datos completos empieza a formarse ideas sobre qué variables importan y qué transformaciones convienen. Esas ideas ya vienen contaminadas por casos que luego servirán de examen. El nombre del libro para eso es sesgo de indagación de datos, y su efecto es un error de prueba optimista que nadie puede detectar mirando la tabla de resultados.

La partición también tiene que ser estable entre ejecuciones. Una partición aleatoria distinta en cada corrida termina mostrándole al modelo, a lo largo de varias sesiones, el conjunto de prueba completo.

Aleatorio contra estratificado

Partir al azar funciona con muchos datos. Con pocos, o cuando una variable pesa mucho en la respuesta, el azar desequilibra: un estrato queda subrepresentado en la prueba y el error medido deja de hablar de la población real.

El muestreo estratificado divide los datos en grupos por esa variable y toma de cada grupo la proporción que le toca. No mejora el modelo. Mejora la confianza en lo que se mide, que es una cosa distinta y se confunde a menudo.

Paso 4

El preprocesamiento va dentro del pipeline

Escalar la tabla completa antes de partirla es la fuga más común del oficio. La media y la desviación que usa el escalador salen de todas las filas, incluidas las de prueba, así que cada fila de entrenamiento lleva dentro un rastro del examen.

Lo mismo con imputar por la mediana, con codificar categorías y con cualquier transformación que aprenda algo de los datos. Metida en el Pipeline, la validación cruzada la reajusta en cada pliegue por separado y el error deja de salir optimista.

Hay un segundo motivo, más práctico: lo que se despliega es el pipeline entero. Un modelo que espera datos ya escalados obliga a reproducir el escalado en producción, a mano, sin equivocarse. Un pipeline recibe datos crudos.

Pasos 5 y 6

Comparar sin gastar la prueba

Cada vez que se mide en prueba para decidir algo, ese conjunto pierde valor como estimador. Elegir entre nueve modelos comparándolos ahí ya es elegir el que mejor le queda a esas filas concretas.

La validación cruzada resuelve el problema partiendo el entrenamiento en pliegues: cada pliegue hace de validación una vez y de entrenamiento el resto, y los errores se promedian. Cuesta multiplicar el tiempo por el número de pliegues, y compra un número que se puede usar para decidir tantas veces como haga falta.

Rejilla contra búsqueda aleatoria
RejillaPrueba todas las combinaciones de una lista. Exhaustiva y predecible, pero el costo se multiplica con cada hiperparámetro añadido.
AleatoriaSortea combinaciones de distribuciones continuas, tantas como se le pidan. El presupuesto se fija de antemano y explora valores que ninguna lista habría incluido.
La aleatoria gana cuando el espacio es grande, que es casi siempre. Con diez hiperparámetros, una rejilla de tres valores cada uno son 59,049 ajustes; una búsqueda aleatoria de 60 cubre sesenta valores distintos de cada hiperparámetro por el precio de 60.
Paso 7

Una diferencia no es una diferencia hasta que sale del ruido

El error de prueba es una estimación calculada sobre una muestra concreta. Otra muestra del mismo tamaño habría dado un número distinto, y el intervalo de confianza acota cuánto.

De ahí la consecuencia que el libro deja caer sin subrayarla: cuando los intervalos de dos modelos se traslapan, ordenarlos por la métrica no está justificado. La tabla sigue teniendo un primer lugar, pero ese primer lugar es del muestreo, no del modelo.

Es la parte que convierte el capítulo en algo más que un tutorial. Sin el intervalo, todo el procedimiento anterior sirve para producir un número que después se sobreinterpreta.

El 95% es convención, no resultado

Nada en los datos elige ese número. Viene de Fisher, que redondeó a dos las 1.96 desviaciones estándar por comodidad para las tablas de su época, y la convención se mantuvo. La física de partículas exige cinco desviaciones para lo mismo.

El nivel tampoco significa lo que suele leerse. El valor verdadero es fijo y no tiene probabilidad. Lo que el 95% describe es el procedimiento: repetido sobre muchas muestras, el 95% de los intervalos que produce contienen ese valor.

Ser convención no lo hace inofensivo: el nivel decide el ancho de los intervalos, y por tanto qué conclusiones caben dentro. Por eso se fija antes de ver los resultados, igual que la métrica. Elegirlo después es el sesgo de indagación entrando por la puerta de atrás.

La práctica del capítulo

El método, aplicado a un dataset

El libro recorre los ocho pasos sobre un solo problema. El desarrollo completo está en su propia página, con la demo aparte.