Я обучение glmnet регуляризованная модель логистической регрессии с использованием функции trainControl и поезда CARET как следует с помощью метрики = «РПЦ» и получить следующее сообщение об ошибке:Ошибка с использованием glmnet регрессии с метрикой, как РПЦ в CARET
> ctrl_s10_2class <- trainControl(method = "repeatedcv", number = 10, repeats = 10 , savePredictions = TRUE, classProbs = TRUE)
> model_train_glmnet_s10_2class <- train(Class ~ ZCR + Energy + SpectralC + SpectralS + SpectralE + SpectralF + SpectralR + MFCC1 + MFCC2 + MFCC3 + MFCC4 + MFCC5 + MFCC6 + MFCC7 + MFCC8 + MFCC9 + MFCC10 + MFCC11 + MFCC12 + MFCC13, data = training_s10_2class, method="glmnet", trControl = ctrl_s10_2class, metric = "ROC")
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()
In addition: Warning messages:
1: In train.default(x, y, weights = w, ...) :
You are trying to do regression and your outcome only has two possible values Are you trying to do classification? If so, use a 2 level factor as your outcome column.
2: In train.default(x, y, weights = w, ...) :
cannnot compute class probabilities for regression
Но Я уже включил classProbs = TRUE в функции trainControl. Кроме того, для устранения предупреждающих сообщений, я понял, что я должен relevel моего класса данных 2, которые я сделал, чтобы найти эту ошибку:
> sensor6data_s10_2class <- within(sensor6data_s10_2class, Class <- as.factor(Class))
> sensor6data_s10_2class$Class2 <- relevel(sensor6data_s10_2class$Class,ref="1")
> model_train_glmnet_s10_2class <- train(Class2 ~ ZCR + Energy + SpectralC + SpectralS + SpectralE + SpectralF + SpectralR + MFCC1 + MFCC2 + MFCC3 + MFCC4 + MFCC5 + MFCC6 + MFCC7 + MFCC8 + MFCC9 + MFCC10 + MFCC11 + MFCC12 + MFCC13, data = training_s10_2class, method="glmnet", trControl = ctrl_s10_2class, metric = "ROC")
Error in train.default(x, y, weights = w, ...) :
At least one of the class levels is not a valid R variable name; This will cause errors when class probabilities are generated because the variables names will be converted to X1, X0 . Please use factor levels that can be used as valid R variable names (see ?make.names for help).
Любой помощь, чтобы исправить это с помощью или без releveling очень ценятся! Благодарю.
в сообщение об ошибке говорит все. ваши уровни имеют неправильное название. 0 и 1 не могут быть преобразованы в действительные имена R. – phiver
Преобразуйте свои 0 и 1 во что-то вроде «Да», «Нет». –