如何在 R 中为插入符号模型使用 ggRandomForests 依赖图?

How to use ggRandomForests dependence plots for caret model in R?

我想使用 ggRandomForests 包中的 gg_variable 函数为我的模型创建一个部分依赖图的方面。我有以下但它不起作用。

我该怎么做?

library("caret")
library("ggRandomForests")
library("randomForest") 
data("iris")
iris$Species<-NULL
control = trainControl(method="cv", number=5,savePredictions = TRUE)  
in_train= createDataPartition(iris$Sepal.Length, p=.66, list=FALSE) 
train_st=iris[in_train,]
test_st=iris[-in_train,] 
trf_sep = train(Sepal.Length ~ .,
          data=train_st,ntree=800,method="rf",metric="Rsquared",trControl=control,importance = TRUE)
gg_variable(trf_sep)#Here is the problem

gg_variable 需要来自 randomForest 模型的输出。它不适用于 caret::train 函数的输出。在这种情况下,您可以使用 caret 包中的 train 函数来调整 mtry 并使用带有调整后的 mtry 的 randomForest 包来拟合随机森林模型,然后在上面应用 gg_variable

library("caret")
library("ggRandomForests")
library("randomForest") 
data("iris")
iris$Species<-NULL
control = trainControl(method="cv", number=5,savePredictions = TRUE)  
in_train= createDataPartition(iris$Sepal.Length, p=.66, list=FALSE) 
train_st=iris[in_train,]
test_st=iris[-in_train,] 
trf_sep = train(Sepal.Length ~ .,
                data=train_st,ntree=800,method="rf",metric="Rsquared",trControl=control,importance = TRUE)
try <- randomForest(Sepal.Length ~ .,
             data=train_st,ntree=800, mtry=3)

 gg_dta <- gg_variable(try)

plot(gg_dta, xvar=c("Sepal.Width","Petal.Length","Petal.Width"), 
     panel=TRUE)