R caret train Error in evalSummaryFunction: cannnot compute class probabilities for regression -


> 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 classprobs option of traincontrol() in addition: warning message: in train.default(x, y, weights = w, ...) :   cannnot compute class probabilities 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 ... 

since cv.ctrl has classprobs set true, not understand why error message appears.

can advise?

apparently error due fact y not factor.

following code works fine:

library(caret) library(mlbench) data(sonar)  ctrl <- traincontrol(method = "cv",                       summaryfunction = twoclasssummary,                       classprobs = true) set.seed(1) gbmtune <- train(class ~ ., data = sonar,                  method = "gbm",                  metric = "roc",                  verbose = false,                                      trcontrol = ctrl) 

then doing:

sonar$class = as.numeric(sonar$class) 

and same code throws error:

> gbmtune <- train(class ~ ., data = sonar, +                  method = "gbm", +                  metric = "roc", +                  verbose = false,                     +                  trcontrol = ctrl) error in evalsummaryfunction(y, trcontrol, classlevels, metric, method) :    train()'s use of roc codes requires class probabilities. see classprobs option of traincontrol() in addition: warning message: in train.default(x, y, weights = w, ...) :   cannnot compute class probabilities regression 

but caret train documentation says:

y   numeric or factor vector containing outcome each sample. 

Comments

Popular posts from this blog

how to proxy from https to http with lighttpd -

android - Automated my builds -

python - Flask migration error -