Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 7,R 3.0.2,插入符号6.0-21上插入符号中的train()出现致命错误_R_R Caret - Fatal编程技术网

Windows 7,R 3.0.2,插入符号6.0-21上插入符号中的train()出现致命错误

Windows 7,R 3.0.2,插入符号6.0-21上插入符号中的train()出现致命错误,r,r-caret,R,R Caret,我试图在插入符号中使用train(),以适应分类模型,但遇到某种未处理的异常,我的R会话在R控制台中输出任何错误信息之前崩溃。 Windows错误: R for Windows终端前端已停止工作 我正在运行Windows7、R3.0.2、caret 6.0-21,并在R Studio和R控制台中尝试在32/64版本的R上运行此操作,每次都得到相同的结果 这是我对火车的呼唤: library("AppliedPredictiveModeling") library("caret") data("

我试图在插入符号中使用
train()
,以适应分类模型,但遇到某种未处理的异常,我的R会话在R控制台中输出任何错误信息之前崩溃。
Windows错误:

R for Windows终端前端已停止工作

我正在运行Windows7、R3.0.2、caret 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)
同样,这在不指定cv.fold的情况下工作,但使用它会返回一个错误:

Error in checkForRemoteErrors(val) :  5 nodes produced errors; first error: incorrect number of dimensions

method='gbm'
与单个模型一起使用时(即
nrow(tuneGrid)==1
),会出现此错误。我即将发布一个新版本,因此我将在该版本中修复此问题

一个旁注。。。看起来你想做分类。在这种情况下,
y
应该是一个因子(不应该只使用整数作为类),否则它将进行回归。这些变化将暂时起作用:

 y <- factor(paste("Class", y, sep = ""))

y可能的调试路径:运行
train
,减少依赖项,即,而不是
Class~。
尝试
Class~一些数据帧名称
,如果这在您的模型中有意义的话。我刚刚尝试再次使用gbm,但仍然得到相同的结果。您能告诉我们有关数据的更多信息吗(可能是“
str(data)
”的结果)?我以前没有看到过这个问题,虽然我没有windows机器可以测试,但我需要重现这个问题。同时,尝试1)使用更少的树。我不认为这是问题所在,但我从来没有运行过那么多2)在
trainControl()
中使用
verbositer=TRUE
,看看哪个模型失败,3)鉴于#2的结果,你能在没有训练的情况下运行gbm模型吗?我编辑了我的问题,用从已知分布中采样的数据替换了我的数据,减少了树木的数量,但我仍然看到同样的问题。验证偏差未被计算的事实是否为危险信号?如果我尝试使用带有一个预测器的直接
gbm()
调用来拟合模型
rnorm(1000)
,我会在R中得到以下错误:
checkForRemoteErrors(val)中的错误:5个节点产生错误;第一个错误:维数不正确
。但是,如果我
cbind
另一个
rnorm(1000)
到数据帧并将其用作第二个预测器,则
gbm()
调用将工作。
gbm
将与单个预测器一起工作。创建矩阵时,R很可能会删除维度。尝试使用`矩阵(rnorm(1000),ncol=1)`或
data.frame(x=rnorm(1000))
。你能给我们一个代码(创建数据和模型拟合)吗?你过去仅仅使用gbm就可以得到错误。我认为这个问题可能与n.trees有关-我在expand.grid(interaction.depth=1:2,n.trees=100,收缩率=0.1)上也遇到了同样的问题。
但是你给出的例子没有错误。
Error in checkForRemoteErrors(val) :  5 nodes produced errors; first error: incorrect number of dimensions
 y <- factor(paste("Class", y, sep = ""))
 tuneGrid <- expand.grid(interaction.depth = 1, 
                         n.trees = 100:101, 
                         shrinkage = 0.1)