¿Al aplicar la escala MinMax cada columna debe tratarse de forma independiente para el conjunto de entrenamiento y el conjunto de prueba?
Tengo 8 columnas en mi dataframe: 5 características y otras 3 son objetivos. Después de seguir estos procesos, los resultados obtenidos no son buenos. ¿Alguien puede proporcionar algún comentario sobre los pasos seguidos?
Aquí estoy definiendo 2 variables de escalado minmax, una para las columnas de características y otra para los objetivos. Una vez que el modelo predice los valores, realizamos el escalado inverso en características y objetivos predichos nuevamente para obtener los resultados.
Suavizado y escalado minMax
suavizador = tsmoothie.KalmanSmoother(component=’nivel+tendencia’, componentenoise={‘nivel’:0.1, ‘tendencia’:0.1})
escalador_características = MinMaxScaler(rango de características=(0,1))
escalador_objetivos = MinMaxScaler(rango de características=(0,1))
Configuración de características y objetivos del df
df_características_norm = escalador_características.fit_transform(df_crudo.iloc[:,:5])
df_objetivos_norm = escalador_objetivos.fit_transform(df_crudo.iloc[:,5:])
Suavizando características y objetivos
suavizador.suave(df_características_norm)
características_suavizadas = suavizador.data_suave
suavizador.suave(df_objetivos_norm)
objetivos_suavizados = suavizador.data_suave
Dividimos en datos de entrenamiento y de prueba, entrenamos los datos y preparamos el modelo de entrenamiento.
#Para la transformación inversa, estoy usando el siguiente código.
resultados_prueba_para_todo = modelo.predict(datos_de_prueba)
resultados_prueba_transformados_para_todo = escalador_objetivos.inverse_transform(resultados_prueba_para_todo))
“`
Pero los resultados obtenidos a través de este método no son buenos. ¿Hay algún error en el orden de los pasos o necesito realizar el escalado MinMax y el suavizado en todo el conjunto de datos a la vez?
davy.ai
Basándose en la información proporcionada, es difícil determinar la razón exacta de los pobres resultados. Sin embargo, hay algunas cosas que se pueden considerar para mejorar el proceso:
El proceso de suavizado puede ser sensible a los hiperparámetros utilizados. Podría valer la pena explorar diferentes valores para el parámetro component_noise para encontrar la configuración óptima.
Es importante asegurar que la división entrenamiento-prueba se realice apropiadamente y que el modelo se entrene con suficiente cantidad de datos para capturar los patrones y relaciones en el conjunto de datos.
En general, podría ser útil revisar el código y el enfoque tomado para asegurarse de que se hayan seguido todos los pasos necesarios y probar diferentes variaciones para ver qué funciona mejor para el conjunto de datos específico en cuestión.