我尝试使用R中的Caret和gbm软件包在数据框架上训练增强模型。我已经能够使用默认参数成功构建模型;但是,当我尝试自定义汇总功能时,我继续遇到此错误:
Error in vector(type, length) :
vector: cannot make a vector of mode 'NULL'.
这是我发布的第一个问题,因为我通常能够根据信息来解决问题。在这种情况下,我似乎无法找到类似的问题。
以下代码旨在重现错误。如果它没有,或者我是否应该包含其他信息,请告诉我,因为我非常乐意这样做。
System.info:
sysname :Windows
发布:7 x64
版本:build 7601,Service Pack 1
version.string :R版本3.1.3(2015-03-09)
系统:x86_64,mingw32
library(plyr)
library(caret)
library(dplyr)
example <- data.frame(response = rnorm(100), predictor1 = rnorm(100), predictor2 = rnorm(100))
aeSummary <- function(data, lev = NULL, model = NULL) {
out <- abs(data$obs-data$pred)
names(out) <- "AE"
out
}
modelFit <- train(response ~ .,
data = example,
method = "gbm",
tuneGrid = data.frame(n.trees = 5,
interaction.depth = 5,
shrinkage = 0.05,
n.minobsinnode = 6),
metric = "AE",
maximize = FALSE,
trControl = trainControl(
summaryFunction = aeSummary))