Distribución normal y bosque aleatorio

Oct 29 2020

Tengo una tabla grande en el marco de datos (600k filas) que tiene una columna y (la variable que quiero predecir) y otras 4 columnas que son la X.He ejecutado el regresor de RF y obtuve un núcleo de 0.87 cuando lo ejecuto en el entrenar y probar.

Sin embargo, cuando intenté predecir otro conjunto de datos (que es muy similar, con 1 millón de filas) obtuve una puntuación de 0,65. Así que asumí que estaba sobreajustado. cuando traté de entender por qué sucede, volví a la distribución de la columna y, que se ve así:

mi pregunta es, ¿puede ser que debido a que mis datos no tienen una distribución normal (o muy sesgada ...) el rendimiento de mi modelo es malo? ¿Todas las variables deben tener una distribución normal? ¿Cómo se calcula la puntuación de la regresión forestal aleatoria? El valor de id es 0,25 y el valor de predicción es 0,26 ¿cuenta como predicción correcta?

Respuestas

1 MykolaZotko Oct 29 2020 at 20:56

Si utiliza algoritmos basados ​​en árboles como bosques aleatorios, la distribución de datos no debería ser un problema. Los algoritmos lineales dependen más de la distribución de sus variables. Para comprobar si estás sobreajustado, puedes intentar predecir tus datos de entrenamiento y comparar el resultado con los datos de la prueba. La puntuación depende de su métrica de evaluación. Si usa scikit-learn, obtiene R ^ 2 como métrica.

El coeficiente R ^ 2 se define como (1 - u / v), donde u es la suma residual de cuadrados ((y_true - y_pred) ** 2) .sum () yv es la suma total de cuadrados ((y_true - y_verdadero.mean ()) ** 2) .sum ().