El libro tiene dos mitades muy distintas. La primera enseña aprendizaje automático clásico con scikit-learn: regresión, clasificación, árboles, conjuntos de modelos, evaluación. La segunda enseña redes neuronales con TensorFlow. Las dos se leen bien, pero solo una sigue siendo actual.
Qué saqué de él
El capítulo del proyecto de extremo a extremo es el que más uso, y no por el código. Es una lista de pasos en el orden correcto: encuadrar el problema, decidir con qué número se va a medir el resultado, apartar el conjunto de prueba, y solo entonces mirar los datos. De ahí me quedó una regla que aplico antes de aceptar cualquier trabajo con datos: si nadie en la sala puede decir qué cifra diría que esto funcionó, todavía no hay proyecto, hay una ilusión.
La segunda idea es la de apartar el conjunto de prueba antes de explorar. Suena a tecnicismo y es un asunto de honestidad: quien mira todos los datos y después elige el modelo termina explicando lo que ya vio. Traducido a mi trabajo, cuando reviso el histórico de un proceso guardo un pedazo que no toco hasta el final, y la conclusión se pone a prueba contra ese pedazo.
La tercera es la de las tuberías de transformación. La limpieza de datos es parte del sistema, no un paso manual previo que alguien hizo un martes. Cuando la limpieza vive en la cabeza de una persona, el resultado no se puede volver a producir, y un resultado que no se puede repetir no es un resultado.
Qué dejé fuera
Toda la segunda mitad. Está escrita sobre la primera versión de TensorFlow, con grafos y sesiones, y eso hoy no existe en la práctica; las ediciones posteriores la reescribieron entera. También dejé fuera el entusiasmo por las redes profundas aplicadas a tablas: con datos de empresa, los modelos de árboles siguen ganando casi siempre, y el propio libro lo dice, aunque en voz baja.