问题描述
我从一个包含大约 40,000 个观察值和十个变量(包括两个分类变量)的数据集构建了一个分类 randomForest
模型。
library(randomForest)
library(pdp)
library(ggplot2)
# data generation
set.seed(123)
N <- 40000
rf.data <- data.frame(
Y = as.factor(rbinom(N,1,0.5)),X1 = rnorm(N,800,50),X2 = rnorm(N,8,2),X3 = rnorm(N,1600,500),X4 = rnorm(N,600,60),X5 = rnorm(N,22,10),X6 = rnorm(N,20000,200),X7 = rnorm(N,60000,600),X8 = rnorm(N,150000,1000),X9 = as.factor(rbinom(N,0.2)),X10 = as.factor(sample(c(1:8),N,replace = T))
)
rf.mod <- randomForest(
formula = Y ~ .,data = rf.data,ntree = 1000,mtry = 9,sampsize = 0.75*N,importance = TRUE
)
我一直在尝试使用部分依赖图(例如,如下面的块)来可视化对响应变量的协变量影响,但我很难让我的代码完成运行,即使只有一个协变量也是如此。 partial()
函数适用于该示例数据集并生成所需的图,但应用于我的真实数据的相同代码从未完成运行。
rf.mod %>%
partial(pred.var = "X1",rug = TRUE,grid.resolution = 30) %>%
autoplot(smooth = TRUE,ylab = expression(f(X1))) +
theme_light()
我不确定为什么这适用于相同大小的模拟数据集但不适用于我自己的数据集。我曾尝试使用其他各种软件包中的函数,但似乎都无限期挂起,最终我不得不强制退出 R
会话。
我已经尝试减少 randomForest
模型中的树总数,但这似乎并没有减少计算时间。
还有其他想法吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)