Cómo incluir un término de interacción en un modelo de bosque aleatorio

9

Estoy usando la función randomForesten el randomForestpaquete de R para hacer una regresión. Sin embargo, cuando intento incluir un término de interacción en los siguientes códigos:

library(MASS)
library(randomForest)
Boston_f <- within(Boston, factor(rad))
mdl <- randomForest(lstat ~ rad * . , data = Boston_f)

El resultado mdl$termincluye interacción, pero si me asomo a los árboles que mdlestá usando,

getTree(mdl, 1, T)

No puedo encontrar ninguna variable dividida usando el término de interacción.

¿Alguien sabe cómo incluir el término de interacción usando randomForestu otra función?

Yifei Liu
fuente
1
Aunque esta pregunta es sobre el código R, creo que está motivado por un malentendido estadístico / ML. Cuando eso se aborde, los aspectos específicos del código R se volverán discutibles. Como tal, creo que esto debería permanecer abierto.
gung - Restablece a Monica
Las preguntas únicamente sobre cómo funciona el software están fuera de tema aquí, pero es posible que tenga una pregunta estadística real enterrada aquí. Es posible que desee editar su pregunta para aclarar el problema estadístico subyacente. Es posible que cuando comprenda los conceptos estadísticos involucrados, los elementos específicos del software sean evidentes o al menos fáciles de obtener de la documentación.
gung - Restablece a Monica

Respuestas:

12

Los modelos basados ​​en árboles consideran variables secuencialmente, lo que las hace útiles para considerar las interacciones sin especificarlas. Las interacciones que son útiles para la predicción se recogerán fácilmente con un bosque lo suficientemente grande, por lo que no hay necesidad real de incluir un término de interacción explícito.

Si cree que la interacción es importante, puede crear manualmente el término de interacción (por ejemplo, definiendo su formuladentro de la model.framefunción, lo que creará nuevas columnas para sus términos de interacción). Sin embargo, en su caso, esto casi duplicaría el número de variables, ya que está creando interacciones entre rady cada otra característica, por lo que probablemente no sea aconsejable.

Consulte también Incluir términos de interacción en Random Forest que demuestra la capacidad inherente de Random Forests para detectar variables interactivas en comparación con los métodos lineales.

Michael Veale
fuente