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?
                    
                        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
formuladentro de lamodel.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 entrerady 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