R 中部分依赖图的计算限制

问题描述

我从一个包含大约 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 (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...