我正在尝试使用train()
插入符号以适应分类模型,但我遇到了某种未处理的异常,并且在 R 控制台中输出任何错误信息之前我的 R 会话崩溃了。
Windows 错误:
R for Windows 终端前端已停止工作
我正在运行 Windows 7、R 3.0.2、插入符 6.0-21,并尝试在 R Studio 中以及直接在 R 控制台中的 32/64 版本的 R 上运行此程序,并且每次都得到相同的结果。
这是我的培训电话:
library("AppliedPredictiveModeling")
library("caret")
data("AlzheimerDisease")
data <- data.frame(predictors, diagnosis)
tuneGrid <- expand.grid(interaction.depth = 1:2, n.trees = 100, shrinkage = 0.1)
trainControl <- trainControl(method = "cv", number = 5, verboseIter = TRUE)
gbmFit <- train(diagnosis ~ ., data = data, method = "gbm", trControl = trainControl, tuneGrid = tuneGrid)
使用此参数网格不会再出现错误:
tuneGrid <- expand.grid(interaction.depth = 1, n.trees = 100:101, shrinkage = 0.1)
然而,我仍然得到了一切nan
是在ValidDeviance
柱子。这是正常的吗?
注意:我原来的问题已经解决,这是评论部分的延续。注释部分中的代码块格式不可读,因此我将其发布在这里。这不再是关于插入符号的问题,而是关于 GBM 的问题。
然而,我仍然遇到问题,使用指定 cv.folds 的单个预测器直接调用 gbm 。这是代码:
library("AppliedPredictiveModeling")
library("caret")
data("AlzheimerDisease")
diagnosis <- as.numeric(diagnosis)
diagnosis[diagnosis == 1] <- 0
diagnosis[diagnosis == 2] <- 1
data <- data.frame(diagnosis, predictors[, 1])
gbmFit <- gbm(diagnosis ~ ., data = data, cv.folds = 5)
同样,这可以在不指定 cv.folds 的情况下工作,但使用它会返回错误:
Error in checkForRemoteErrors(val) : 5 nodes produced errors; first error: incorrect number of dimensions