Estoy usando la función randomForest
en el randomForest
paquete 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$term
incluye interacción, pero si me asomo a los árboles que mdl
está 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 randomForest
u otra función?
r
interaction
random-forest
Yifei Liu
fuente
fuente
Respuestas:
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
formula
dentro de lamodel.frame
funció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 entrerad
y 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.
fuente