r - 游侠错误 - 用户中断或内部错误
问题描述
我真的需要帮助。我正在做我的论文,无法让这个代码工作......
我正在尝试在 R Markdown 中创建一个带有游侠的随机森林模型,但出现此错误:
错误:mtry 不能大于数据中的变量数。Ranger 现在将退出。游侠错误(公式 = Lift ~ ., data = train_cheese, num.trees = 500, : 用户中断或内部错误。
解决方案
可能您的网格没有以正确的方式组织。构建调整网格的最佳方法是 via expand.grid
。此函数从提供的向量的所有组合创建一个数据框。使用数据集查看此示例iris
:
library(ranger)
data("iris")
grid <- expand.grid(mtry=2:4,min.node.size=seq(0.1,1,0.2),sample.size=seq(0.1,1,0.2))
for (i in 1:nrow(grid)) {
model <- ranger(Species~.,
data=iris,
num.trees = 100,
mtry=grid$mtry[i],
min.node.size = grid$min.node.size[i],
sample.fraction =grid$sample.size[i],
seed=123,
write.forest = T)
grid$OOB[i] <- sqrt(model$prediction.error)
}
这给了我这个输出:
head(grid)
mtry min.node.size sample.size OOB
1 2 0.1 0.1 0.2000000
2 3 0.1 0.1 0.2309401
3 4 0.1 0.1 0.2160247
4 2 0.3 0.1 0.2000000
5 3 0.3 0.1 0.2309401
6 4 0.3 0.1 0.2160247
推荐阅读
- javascript - 如何使用带有 CSS-in-JS 的 React 重写此按钮及其悬停效果
- ios - 使用“弹出式”VC 时,背景模糊效果无明显原因
- php - 在没有数据库的情况下保存和编辑文本数据的最佳方法
- python - 我如何为字符串的最终出现制作正则表达式
- java - 如何在循环中使最接近的数字为零
- c# - 如何在 c# 中将图像保存为具有透明度的 gif?
- android - 如果 VPN 应用程序被杀死,它会发生什么?
- java - 应用程序关闭时如何每小时触发一次警报
- c++ - 从传递给新线程 C++ 的向量中擦除项目
- typescript - 将 stellar-sdk 导入 Angular 8 项目时出错