Je suis la formation d'un modèle de régression logistique régularisé glmnet en utilisant les fonctions trainControl et former de Caret comme suit en utilisant métrique = « ROC » et obtenir l'erreur suivante:Erreur utilisant une régression glmnet avec métrique ROC dans 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
Mais J'ai déjà activé classProbs = TRUE dans la fonction trainControl. En outre, pour répondre aux messages d'avertissement, je me suis dit que je dois mon 2 de remise à niveau des données de classe que je l'ai fait pour trouver cette erreur:
> 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).
Toute aide pour résoudre ce problème avec ou sans releveling est grandement appréciée! Merci.
la message d'erreur dit tout. vos niveaux ont le mauvais nom. 0 et 1 ne peuvent pas être transformés en noms R valides. – phiver
Convertissez votre 0 et 1 en quelque chose comme "Oui", "Non". –