Escalar características antes de dividirlas en conjuntos de entrenamiento/prueba.
→Divida primero, luego ajuste los transformadores solo en el conjunto de entrenamiento y aplíquelos (`transform`) al conjunto de prueba. Envuelva los pasos en un Pipeline de scikit-learn.
Por qué: Ajustar en el conjunto de datos completo filtra estadísticas de prueba al entrenamiento e infla las puntuaciones de evaluación.
Una columna numérica tiene un 8% de valores faltantes.
→Impute con la mediana (robusta a la asimetría) a través de `SimpleImputer`; considere una bandera indicadora de valores faltantes.
Por qué: La mediana resiste los valores atípicos; un indicador preserva la señal cuando la propia ausencia de datos es informativa.
Una columna categórica tiene huecos.
→Impute con la moda o una categoría explícita "Desconocido" / "Faltante".
Por qué: Una categoría explícita mantiene el patrón de valores faltantes como una señal utilizable en lugar de descartar filas.
Característica nominal de baja cardinalidad (p. ej. región con 5 valores).
→Aplique codificación "one-hot" (`OneHotEncoder`); elimine una columna si el modelo no necesita colinealidad.
Por qué: La codificación "one-hot" evita imponer un orden falso a las categorías nominales; eliminar un nivel previene la trampa de las variables ficticias.
La característica tiene un orden natural (bajo / medio / alto).
→Utilice codificación ordinal que preserve el rango.
Por qué: La codificación "one-hot" descartaría el orden; la codificación consciente del rango permite al modelo explotarlo.
Categórica con miles de niveles (p. ej. código postal).
→Utilice codificación por objetivo/frecuencia o agrupamiento en lugar de "one-hot".
Por qué: La codificación "one-hot" explota la dimensionalidad; la codificación por objetivo es compacta pero debe ajustarse dentro de la CV para evitar fugas de datos.
Las características abarcan escalas muy diferentes antes de un modelo basado en la distancia.
→StandardScaler (media cero, varianza unitaria) para características aproximadamente gaussianas; MinMaxScaler para limitar a [0,1].
Por qué: KNN, SVM, PCA y el descenso de gradiente son sensibles a la escala; los modelos de árbol no lo son.
Una característica positiva con asimetría a la derecha perjudica a un modelo lineal.
→Aplique una transformación logarítmica o de potencia Box-Cox/Yeo-Johnson para comprimir la cola.
Por qué: Reducir la asimetría estabiliza la varianza y linealiza las relaciones para modelos lineales y basados en distancia.
Quiere capturar un efecto de edad no lineal en un modelo lineal.
→Agrupe la característica continua en rangos (de ancho igual o por cuantil) y trátela como categórica.
Por qué: La agrupación permite a los modelos lineales capturar cambios escalonados, a costa de cierta pérdida de información.
Valores extremos genuinos desestabilizan el entrenamiento del modelo.
→Limite/winsorice en un percentil o use un escalador robusto; elimine solo errores confirmados.
Por qué: La limitación reduce el apalancamiento de los extremos manteniendo los registros; la eliminación pierde la señal real de eventos raros.
La clase positiva es solo el 3% de las filas de entrenamiento.
→Remuestre — SMOTE/sobremuestreo de la minoría o submuestreo de la mayoría — ajustando solo en el pliegue de entrenamiento; o establezca pesos de clase.
Por qué: Equilibrar el conjunto de prueba daría una lectura falsa; el remuestreo pertenece al pipeline de entrenamiento.
Las marcas de tiempo y cantidades en bruto tienen un rendimiento inferior.
→Diseñe características — día de la semana, tiempo desde el último evento, ratios, agregados por cliente.
Por qué: Las características derivadas informadas por el dominio a menudo añaden más mejora que el cambio de algoritmo.
Cientos de características, muchas redundantes o ruidosas.
→Seleccione mediante métodos de filtro (correlación/información mutua), wrapper (RFE) o incrustados (importancias L1/árbol).
Por qué: Menos características relevantes reducen el sobreajuste, el costo de entrenamiento y mejoran la interpretabilidad.
Muchas características numéricas correlacionadas ralentizan el entrenamiento y sobreajustan.
→Aplique PCA para proyectar sobre los componentes principales que capturan la mayor parte de la varianza; escale primero.
Por qué: PCA elimina la multicolinealidad y comprime la dimensionalidad, intercambiando cierta interpretabilidad por estabilidad.
Múltiples pasos de preprocesamiento deben aplicarse de forma idéntica en el entrenamiento y el servicio.
→Encadene imputadores, codificadores y escaladores en un `Pipeline` / `ColumnTransformer` ajustado solo con datos de entrenamiento.
Por qué: Un único pipeline ajustado garantiza transformaciones consistentes y previene la fuga de datos entre los pliegues.
Referencia↗
Una columna de fecha en bruto añade poco valor predictivo.
→Descomponga en año, mes, día de la semana, si es fin de semana, y codificaciones cíclicas de seno/coseno.
Por qué: Los modelos no pueden leer la semántica del calendario a partir de una marca de tiempo en bruto; las partes explícitas exponen la estacionalidad.