Árboles de decisión y regresión: ¿pueden los valores pronosticados estar fuera del rango de datos de entrenamiento?

11

Cuando se trata de árboles de decisión, ¿puede el valor predicho quedar fuera del rango de los datos de entrenamiento?

Por ejemplo, si el rango del conjunto de datos de entrenamiento de la variable objetivo es 0-100, cuando genero mi modelo y lo aplico a otra cosa, ¿pueden mis valores ser -5? o 150?

Dado que entiendo la regresión del árbol de decisión es que todavía se basa en reglas: progresión izquierda / derecha y que en la parte inferior del árbol en el conjunto de entrenamiento nunca puede ver un valor fuera de un cierto rango, nunca podrá predecirlo?

usuario3788557
fuente
1
Para una pregunta similar sobre árboles impulsados ​​por gradiente, consulte stats.stackexchange.com/questions/304962/…
Adrian

Respuestas:

10

Tiene toda la razón: los árboles de decisión clásicos no pueden predecir valores fuera del rango históricamente observado. No se extrapolarán.

Lo mismo se aplica a los bosques aleatorios.

Teóricamente, a veces ve discusiones de arquitecturas algo más elaboradas (¿botánicas?), Donde las hojas del árbol no dan un solo valor , sino que contienen una regresión simple , por ejemplo, regresión de la variable dependiente en una variable independiente numérica particular. Navegar a través del árbol le daría un conjunto de reglas en el IV numérico para regresar el DV en qué caso. En tal caso, esta regresión de "nivel inferior" podría extrapolarse para producir valores aún no observados.

Sin embargo, no creo que las bibliotecas de aprendizaje automático estándar ofrezcan esta estructura algo más compleja (recientemente busqué esto a través de las vistas de tareas CRAN para R), aunque en realidad no debería haber nada complejo al respecto. Es posible que pueda implementar su propio árbol que contiene regresiones en las hojas.

Stephan Kolassa
fuente
1
He leído poco sobre mobForest que admite la regresión de hojas en R, stats.stackexchange.com/questions/48475/mobforest-r-package
Soren Havelund Welling
1
@SorenHavelundWelling: eso suena interesante. ¡Gracias por la anotación!
Stephan Kolassa
1
Uno de los primeros algoritmos para proporcionar modelos de regresión lineal en las hojas de un árbol fue el M5 de Quinlan, cuya aproximación está disponible en M5P () en Weka (interconectado en R a través de RWeka). Loh sugirió por primera vez un algoritmo imparcial para el problema, llamado GUÍA. Los binarios para su paquete independiente están en su sitio web. Finalmente, nuestro algoritmo de partición recursiva basado en modelos (MOB) abarca varios de estos modelos. Está disponible en el paquete R partykit: mob () es la herramienta genérica y lmtree () y glmtree () son su adaptación a los árboles con modelos lineales (generalizados) en las hojas.
Achim Zeileis
2
@SorenHavelundWelling: desafortunadamente, el mobForestpaquete se ha eliminado de CRAN . Echaré un vistazo al partykitpaquete que Achim Zeileis me recomendó .
Stephan Kolassa
1
Solo un aviso de que mobForest está de vuelta en CRAN: cran.r-project.org/web/packages/mobForest/index.html
mkt - Reinstate Monica el
6

También echa un vistazo a cubista en el paquete de caret. Construye regresiones lineales en los nodos terminales y puede extrapolar predicciones por encima y por debajo del rango de valores de respuesta en los datos de entrenamiento. Los nodos terminales también se pueden promediar en función de los vecinos más cercanos que se proporcionan como un hiperparámetro, por lo que tiene el potencial de proporcionar predicciones de validación cruzada extremadamente precisas.

Scott Worland
fuente