Recientemente me encontré con un problema similar: cómo administrar la extracción de una variedad de características de un gran conjunto de datos, sin saber de antemano cuáles serían todas. (Incluso calcular valores medios repetidamente sería computacionalmente costoso). Además, ¿cómo manejaría las predicciones basadas en diferentes conjuntos de características? Es decir, si agrego una nueva característica, ¿cómo sabría qué modelos entrenar en nuevas características? Podría rápidamente convertirse en una gran bola de nieve.
Mi solución actual es rastrearlo todo en una base de datos NoSQL local (MongoDB). Por ejemplo, podría tener una colección features
, cada una de las cuales tiene un nombre, una descripción de cómo se calculó la función, el archivo de Python que ejecutó la extracción, etc.
Del mismo modo, una colección models
incluye modelos ejecutados en los datos. Cada entrada puede tener un nombre, una lista de características que se usaron para entrenar el modelo, sus parámetros eventuales, valores pronosticados en un conjunto de prueba extendido, métricas de cómo se desempeñó el modelo, etc.
Desde mi punto de vista, esto tiene una serie de beneficios:
- Al guardar las predicciones, puedo usarlas más tarde en predicciones de conjunto.
- Debido a que realizo un seguimiento de las funciones que se utilizaron, sé cuáles necesitan capacitación a medida que extraigo más funciones.
- Al guardar las descripciones de los modelos, me aseguro de saber siempre lo que he intentado. Nunca tengo que preguntarme: "¿He probado LASSO con los parámetros de regularización establecidos por el CV de búsqueda de cuadrícula?" Siempre puedo buscarlo y ver qué tan exitoso fue.
Según su pregunta, parece que podría adaptar este enfoque al flujo de trabajo de su problema. Instale Mongo u otra base de datos de su elección, y luego guarde cada ejecución experimental, sus entradas, sus resultados y cualquier otra cosa que desee rastrear en el transcurso del proyecto. Esto debería ser mucho más fácil de consultar que una hoja de cálculo, como mínimo.