Estoy haciendo una regresión usando Random Forests para predecir precios basados en varios atributos. El código está escrito en Python usando Scikit-learn.
¿Cómo decide si debe transformar sus variables usando exp
/ log
antes de usarlo para ajustar el modelo de regresión? ¿Es necesario cuando se utiliza un enfoque de conjunto como Random Forest?
Respuestas:
La forma en que se construyen los bosques aleatorios es invariable a las transformaciones monótonas de las variables independientes. Las divisiones serán completamente análogas. Si solo apunta a la precisión, no verá ninguna mejora en ella. De hecho, dado que los bosques aleatorios pueden encontrar relaciones complejas no lineales (¿por qué llama a esto regresión lineal?) E interacciones variables sobre la marcha, si transforma sus variables independientes, puede suavizar la información que permite que este algoritmo lo haga esto correctamente
A veces, los bosques aleatorios no se tratan como una caja negra y se usan para inferencia. Por ejemplo, puede interpretar las medidas de importancia variable que proporciona, o calcular algún tipo de efecto marginal de su variable independiente en su variable dependiente. Esto generalmente se visualiza como gráficos de dependencia parcial. Estoy bastante seguro de que esto último está muy influenciado por la escala de las variables, lo cual es un problema cuando se trata de obtener información de naturaleza más descriptiva de Random Forests. En este caso, podría ayudarlo a transformar sus variables (estandarizar), lo que podría hacer que las gráficas de dependencia parcial sean comparables. No estoy completamente seguro de esto, tendrá que pensarlo.
No hace mucho tiempo intenté predecir los datos de conteo usando un bosque aleatorio, retroceder en la raíz cuadrada y el registro natural de la variable dependiente me ayudó un poco, no mucho, y no lo suficiente como para permitirme mantener el modelo.
Algunos paquetes donde puede usar bosques aleatorios para inferencia:
https://uc-r.github.io/lime
https://cran.r-project.org/web/packages/randomForestExplainer/index.html
https://pbiecek.github.io/DALEX_docs/2-2-useCaseApartmetns.html
fuente
Haciéndose eco de @JEquihua, la precisión de predicción de Random Forest no mejorará.
También tenga en cuenta que si mantiene el predictor original y el predictor transformado (como se hace a menudo en regresión lineal), puede causar problemas. Esto se debe a que RF elige aleatoriamente un subconjunto de las variables para hacer crecer cada árbol, y esencialmente ha colocado la variable transformada en dos veces. Si es un predictor fuerte, se utilizará, y sus bosques aleatorios no estarán tan mal relacionados como podrían haber estado, lo que conducirá a una mayor variación.
fuente