ich trainiert habe ein glmnet logistische Regressionsmodell regularisiert mit Caret der trainControl und Zugfunktionen wie folgt mit metrischen = „ROC“ und erhalten folgende Fehlermeldung:Fehler glmnet Regression mit metrischen als ROC in Caret mit
> 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
Aber Ich habe ClassProbs = TRUE in der trainControl-Funktion bereits eingeschaltet. Auch die Warnmeldungen zu adressieren, ich dachte, ich muss meine 2 Klassendaten nivellieren, die ich tat, um diesen Fehler zu finden:
> 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).
Jede Hilfe dieses Problem zu beheben, mit oder ohne releveling ist sehr zu schätzen! Vielen Dank.
die nehmen sollte Fehlermeldung sagt alles. Deine Level haben die falsche Benennung. 0 und 1 können nicht in gültige R-Namen umgewandelt werden. – phiver
Konvertiere deine 0 und 1 in etwas wie "Ja", "Nein". –