Adrian Simmons
Adrian Simmons

Reputation: 51

Error in evalSummaryFunction Caret R

I have this data set

 'data.frame':  212300 obs. of  19 variables:

 $ FL_DATE_MDD_MMDD     : int  101 101 101 101 101 101 101 101 101 101 ...

 $ FL_DATE              : int  1012013 1012013 1012013 1012013 1012013 1012013 1012013 1012013 1012013 1012013 ...

 $ UNIQUE_CARRIER       : Factor w/ 13 levels "9E","AA","AS",..: 11 10 2 5 8 9 11 10 10 10 ...

 $ DEST                 : Factor w/ 150 levels "ABE","ABQ","ALB",..: 111 70 82 8 8 31 110 44 53 80 ...

 $ DEST_CITY_NAME       : Factor w/ 148 levels "Akron, OH","Albany, NY",..: 107 61 96 9 9 29 106 36 97 78 ...

 $ ROUNDED_TIME         : int  451 451 551 551 551 551 551 551 551 551 ...

 $ CRS_DEP_TIME         : int  500 520 600 600 600 600 600 600 602 607 ...

 $ DEP_DEL15            : Factor w/ 2 levels "No","Yes": 1 2 1 1 1 1 1 2 1 1 ...

 $ CRS_ARR_TIME         : int  746 813 905 903 855 815 901 744 901 841 ...

 $ Conditions           : Factor w/ 28 levels "Blowing Snow",..: 2 2 2 2 2 2 2 2 2 2 ...

 $ Dew.PointC           : num  -14.4 -14.4 -14.4 -14.4 -14.4 -14.4 -14.4 -14.4 -14.4 -14.4 ...

 $ Events               : Factor w/ 10 levels "","Fog","Fog-Rain",..: 1 1 1 1 1 1 1 1 1 1 ...

 $ Humidity             : int  68 68 71 71 71 71 71 71 71 71 ...

 $ Sea.Level.PressurehPa: num  1021 1021 1022 1022 1022 ...

 $ TemperatureC         : num  -9.4 -9.4 -10 -10 -10 -10 -10 -10 -10 -10 ...

 $ VisibilityKm         : num  16.1 16.1 16.1 16.1 16.1 16.1 16.1 16.1 16.1 16.1 ...

 $ Wind.Direction       : Factor w/ 18 levels "Calm","East",..: 9 9 7 7 7 7 7 7 7 7 ...

 $ WindDirDegrees       : int  320 320 330 330 330 330 330 330 330 330 ...

 $ Wind.SpeedKm.h       : num  20.4 20.4 13 13 13 13 13 13 13 13 ...

 - attr(*, "na.action")=Class 'omit'  Named int [1:22539] 3 32 45 87 94 325 472 548 949 1333 ...

  .. ..- attr(*, "names")= chr [1:22539] "3" "32" "45" "87" ...

and when I execute the following in Caret

plsFit3x10cv <-train(DEP_DEL15~., data=training3, method="pls",trControl=ctrl,metric="ROC",preProc=c("center","scale"))

I get the error:

Error in evalSummaryFunction(y, wts = weights, ctrl = trControl, lev = classLevels, : train()'s use of ROC codes requires class probabilities. See the classProbs option of trainControl()

Upvotes: 0

Views: 558

Answers (1)

howaj
howaj

Reputation: 735

The answer to your question is in the error message. It says train()'s use of ROC codes requires class probabilities. See the classProbs option of trainControl(). So, you need to use classProbs = TRUE in trainControl(), and of course, set summaryFunction = twoClassSummary (if you have not already done so).

ctrl <- trainControl(method = "repeatedcv", 
                     repeats = 3, 
                     classProbs = TRUE,
                     summaryFunction = twoClassSummary)

plsFit3x10cv <-train(DEP_DEL15~., 
                     data=training3, 
                     method="pls",
                     preProc=c("center","scale"),
                     metric="ROC",
                     trControl=ctrl)

Upvotes: 0

Related Questions