Brian Feeny
2012-Nov-29 23:55 UTC
[R] Help with this error "kernlab class probability calculations failed; returning NAs"
I have never been able to get class probabilities to work and I am relatively new to using these tools, and I am looking for some insight as to what may be wrong. I am using caret with kernlab/ksvm. I will simplify my problem to a basic data set which produces the same problem. I have read the caret vignettes as well as documentation for ?train. I appreciate any direction you can give. I realize this is a very small dataset, the actual data is much larger, I am just using 10 rows as an example: trainset <- data.frame( outcome=factor(c("0","1","0","1","0","1","1","1","1","0")), age=c(10, 23, 5, 28, 81, 48, 82, 23, 11, 9), amount=c(10.11, 22.23, 494.2, 2.0, 29.2, 39.2, 39.2, 39.0, 11.1, 12.2) )> str(trainset)'data.frame': 7 obs. of 3 variables: $ outcome: Factor w/ 2 levels "0","1": 2 1 2 2 2 2 1 $ age : num 23 5 28 48 82 11 9 $ amount : num 22.2 494.2 2 39.2 39.2 ...> colSums(is.na(trainset))outcome age amount 0 0 0 ## SAMPLING AND FORMULA dataset <- trainset index <- 1:nrow(dataset) testindex <- sample(index, trunc(length(index)*30/100)) trainset <- dataset[-testindex,] testset <- dataset[testindex,-1] ## TUNE caret / kernlab set.seed(1) MyTrainControl=trainControl( method = "repeatedcv", number=10, repeats=5, returnResamp = "all", classProbs = TRUE ) ## MODEL rbfSVM <- train(outcome~., data = trainset, method="svmRadial", preProc = c("scale"), tuneLength = 10, trControl=MyTrainControl, fit = FALSE ) There were 50 or more warnings (use warnings() to see the first 50)> warnings()Warning messages: 1: In train.default(x, y, weights = w, ...) : At least one of the class levels are not valid R variables names; This may cause errors if class probabilities are generated because the variables names will be converted to: X0, X1 2: In caret:::predictionFunction(method = method, modelFit = mod$fit, ... : kernlab class prediction calculations failed; returning NAs
Max Kuhn
2012-Nov-30 03:10 UTC
[R] Help with this error "kernlab class probability calculations failed; returning NAs"
You didn't provide the results of sessionInfo(). Upgrade to the version just released on cran and see if you still have the issue. Max On Thu, Nov 29, 2012 at 6:55 PM, Brian Feeny <bfeeny@mac.com> wrote:> I have never been able to get class probabilities to work and I am > relatively new to using these tools, and I am looking for some insight as > to what may be wrong. > > I am using caret with kernlab/ksvm. I will simplify my problem to a basic > data set which produces the same problem. I have read the caret vignettes > as well as documentation for ?train. I appreciate any direction you can > give. I realize this is a very small dataset, the actual data is much > larger, I am just using 10 rows as an example: > > trainset <- data.frame( > outcome=factor(c("0","1","0","1","0","1","1","1","1","0")), > age=c(10, 23, 5, 28, 81, 48, 82, 23, 11, 9), > amount=c(10.11, 22.23, 494.2, 2.0, 29.2, 39.2, 39.2, 39.0, 11.1, 12.2) > ) > > > str(trainset) > 'data.frame': 7 obs. of 3 variables: > $ outcome: Factor w/ 2 levels "0","1": 2 1 2 2 2 2 1 > $ age : num 23 5 28 48 82 11 9 > $ amount : num 22.2 494.2 2 39.2 39.2 ... > > > colSums(is.na(trainset)) > outcome age amount > 0 0 0 > > > ## SAMPLING AND FORMULA > dataset <- trainset > index <- 1:nrow(dataset) > testindex <- sample(index, trunc(length(index)*30/100)) > trainset <- dataset[-testindex,] > testset <- dataset[testindex,-1] > > > ## TUNE caret / kernlab > set.seed(1) > MyTrainControl=trainControl( > method = "repeatedcv", > number=10, > repeats=5, > returnResamp = "all", > classProbs = TRUE > ) > > > ## MODEL > rbfSVM <- train(outcome~., data = trainset, > method="svmRadial", > preProc = c("scale"), > tuneLength = 10, > trControl=MyTrainControl, > fit = FALSE > ) > > There were 50 or more warnings (use warnings() to see the first 50) > > warnings() > Warning messages: > 1: In train.default(x, y, weights = w, ...) : > At least one of the class levels are not valid R variables names; This > may cause errors if class probabilities are generated because the variables > names will be converted to: X0, X1 > 2: In caret:::predictionFunction(method = method, modelFit = mod$fit, > ... : > kernlab class prediction calculations failed; returning NAs > > ______________________________________________ > R-help@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide > http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. >-- Max [[alternative HTML version deleted]]