Ruta completa de un proyecto de machine learning
Cuando hablamos de machine learning no basta con elegir un algoritmo.
Un sistema real tiene varias partes que trabajan juntas:
Recolección de datos en bruto.
Preparación y limpieza de esos datos (preprocesamiento).
Entrenamiento de uno o varios modelos.
Selección del mejor modelo.
Evaluación final en datos que el modelo nunca ha visto.
Uso del modelo para predecir casos nuevos.
1. Preprocesamiento: poner los datos en forma
La realidad: los datos crudos casi nunca están listos para entrar a un algoritmo. El preprocesamiento es el trabajo de “ponerlos en forma”.
1.1 Datos crudos → conjunto de datos
Piensa en el ejemplo de las flores Iris:
Lo crudo podría ser un conjunto de imágenes de flores.
Eso no entra tal cual en la mayoría de algoritmos.
Primero hay que convertir esas imágenes en características útiles, por ejemplo:
Color de la flor.
Altura de la planta.
Largo y ancho de pétalos y sépalos.
Con esas medidas construyes una tabla: filas = flores, columnas = características.
1.2 Preprocessing pipeline 1: limpieza y selección inicial
Antes de pensar en modelos:
Manejo de datos faltantes.
Extracción y selección inicial de características (quedarse solo con las que tienen sentido para el problema).
Este primer “pipeline” deja un conjunto de datos coherente sobre el que ya se puede trabajar.
1.3 Separar entrenamiento y prueba
Un paso esencial es la división del conjunto de datos en dos partes:
Entrenamiento: para ajustar y optimizar el modelo.
Prueba: se guarda intacto hasta el final para evaluar el modelo ya entrenado.
La idea es medir si el modelo generaliza a datos nuevos, no solo si aprendió de memoria el entrenamiento.
1.4 Preprocessing pipeline 2: escalar y reducir
Con el conjunto de entrenamiento definido, se aplica una segunda fase de preprocesamiento:
Escalado de características
Muchos algoritmos funcionan mejor si todas las características están en una escala comparable.
Dos opciones habituales que se mencionan:
Transformar a un rango [0, 1].
Transformar a una distribución normal estándar (media 0 y varianza 1).
Reducción de dimensionalidad
A veces algunas características están muy correlacionadas entre sí y aportan información redundante.
Técnicas de reducción de dimensionalidad comprimen las características en un subespacio de menor dimensión.
Ventajas que se destacan:
Menor espacio de almacenamiento.
Algoritmos más rápidos.
En ciertos casos, mejor rendimiento predictivo cuando hay muchas características irrelevantes o ruido (baja relación señal/ruido).
El resultado es un conjunto de entrenamiento procesado, listo para entrar al algoritmo de machine learning.
2. Entrenamiento y selección del modelo
Una vez que los datos están listos, viene la parte de elegir y entrenar modelos.
2.1 No existe el modelo perfecto
Se menciona una idea importante basada en los teoremas de “no free lunch” de Wolpert:
No hay un algoritmo que sea el mejor para todos los problemas.
Cada modelo tiene sus propios sesgos y supuestos.
Si no asumimos nada sobre la tarea, ningún modelo tiene superioridad garantizada.
Esto se conecta con la frase de “si solo tienes un martillo, todo te parece un clavo”: si solo conoces (o solo usas) un tipo de modelo, estarás forzando todos los problemas a encajar ahí.
Entonces: hay que probar al menos varios algoritmos diferentes para una misma tarea y compararlos.
2.2 Elegir una métrica de rendimiento
Antes de comparar modelos hay que definir cómo medir el rendimiento.
Para clasificación, una métrica muy usada es la exactitud (accuracy):
proporción de instancias correctamente clasificadas.
La métrica elegida será la referencia para decidir qué modelo es “mejor”.
2.3 Cross-validation: estimar el rendimiento sin tocar el test
Aparece una duda lógica:
“Si el conjunto de prueba está reservado para el final, ¿cómo sé cuál modelo va a funcionar mejor en ese conjunto, sin usarlo durante la selección?”
La respuesta es usar técnicas de validación cruzada:
Se toma el conjunto de datos (antes de llegar al test final) y se divide en subgrupos de entrenamiento y validación.
Se entrena el modelo en una parte y se evalúa en otra.
Se repite este proceso varias veces con particiones distintas.
Con esto se obtiene una estimación del rendimiento de generalización sin tocar aún el conjunto de prueba final.
2.4 Hiperparámetros: las perillas externas del modelo
Además de elegir el tipo de modelo, hay que fijar ciertos valores que no se aprenden directamente de los datos:
Profundidad máxima de un árbol.
Número de vecinos en k-NN.
Etc.
Estos valores son los hiperparámetros:
Son “perillas” que ajustamos desde fuera para mejorar el rendimiento.
No vienen óptimos por defecto en las librerías.
Por eso es necesario aplicar técnicas de optimización de hiperparámetros (búsquedas sistemáticas de combinaciones) para afinar el modelo.
En esta etapa del flujo del diagrama se combinan:
Preprocesamiento sobre el conjunto de entrenamiento.
Elección de algoritmo.
Búsqueda de hiperparámetros.
Evaluación por validación cruzada.
El resultado es un modelo candidato: el mejor que hemos encontrado según los datos de entrenamiento y validación.
3. Evaluar modelos y predecir datos nuevos
Cuando ya tenemos un modelo candidato, pasamos a la última fase del flujo.
3.1 Estimar el error de generalización
El modelo se entrena con todo el conjunto de entrenamiento (ya con los hiperparámetros elegidos) y luego se evalúa en el conjunto de prueba que habíamos guardado desde el inicio.
Esta evaluación da una estimación del error de generalización: qué tan bien esperamos que el modelo funcione en datos que nunca ha visto.
Solo ahora usamos el conjunto de prueba. Hasta este punto se mantuvo intacto.
Si el rendimiento es aceptable, hablamos ya de un modelo predictivo final.
3.2 Predicción de instancias futuras
Con el modelo final listo:
Se reciben nuevos datos (un nuevo conjunto de datos).
Se aplican exactamente las mismas transformaciones de preprocesamiento que se definieron usando el entrenamiento.
Luego se pasa por el modelo para obtener las predicciones.
Aquí hay un detalle importante:
Los parámetros de los pasos de preprocesamiento (por ejemplo, de escalado o reducción de dimensionalidad) se calculan solo con el conjunto de entrenamiento, y después se reutilizan tanto para:
Transformar el conjunto de prueba.
Transformar cualquier nuevo dato futuro.
Si recalculáramos esos parámetros usando el conjunto de prueba, estaríamos filtrando información del test hacia el entrenamiento y la medida de rendimiento resultaría demasiado optimista.
4. Roadmap
En conjunto, el “roadmap” queda así:
Recolectar datos crudos.
Preprocesar: limpiar, extraer características, manejar faltantes.
Dividir en entrenamiento y prueba.
Escalar y reducir dimensionalidad sobre el entrenamiento (guardando sus parámetros).
Entrenar y comparar varios modelos usando validación y optimización de hiperparámetros.
Obtener un modelo candidato.
Evaluar ese modelo en el conjunto de prueba para estimar el error de generalización.
Si el resultado es bueno, fijar ese modelo como modelo final.
Aplicar el mismo pipeline de preprocesamiento y el modelo final sobre nuevos datos para obtener predicciones.
Este es el roadmap completo desde datos en bruto hasta un sistema de predicción que se puede usar en producción.


