> cv.ctrl <- trainControl(method = "repeatedcv", repeats = 3,
+ summaryFunction = twoClassSummary,
+ classProbs = TRUE)
>
> set.seed(35)
> glm.tune.1 <- train(y ~ bool_3,
+ data = train.batch,
+ method = "glm",
+ metric = "ROC",
+ trControl = cv.ctrl)
Error in evalSummaryFunction(y, trControl, classLevels, metric, method) :
train()'s use of ROC codes requires class probabilities. See the classProbs option of trainControl()
In addition: Warning message:
In train.default(x, y, weights = w, ...) :
cannnot compute class probabilities for regression
> str(train.batch)
'data.frame': 128046 obs. of 42 variables:
$ offer : int 1194044 1194044 1194044 1194044 1194044 1194044 1194044 1194044 1194044 1194044 ...
$ avgPrice : num 2.68 2.68 2.68 2.68 2.68 ...
...
$ bool_3 : int 0 0 0 0 0 0 0 1 0 0 ...
$ y : num 0 1 0 0 0 1 1 1 1 0 ...
由于cv.ctrl的classProbs设置为TRUE,我不明白为什么会出现这个错误信息。有人可以给些建议吗?
train
函数可以用于回归(当y为数字时)和分类(当y为因子时)。 - topepo