в R упругая сеть отсутствует класс в модели классификации - PullRequest
0 голосов
/ 09 марта 2019

В проекте по назначению курса машинного обучения cousera.org я использую модель эластичной сети, чтобы найти лучшую модель классификации.

Данные обучения и тестирования сравниваются, чтобы найти то, что следует сохранить в качестве обучения. Я проверил NA и высоко коррелированные переменные.

Данные x - данные обучения, y - переменная "classe" в данных поезда. после удаления сильно коррелированных переменных x, было исключено 20, которые содержат 32 числовых и не содержат переменных NA. Данные y являются множителями "A" ~ "E".

elastic_model<-train(y=y,x=x,method="glmnet",trControl = trainControl("cv", number = 10),tuneLength=10)

выше полученной модели:

 elastic_model$bestTune

  alpha     lambda

1    0.1        0.01217372

coef(elastic_model$finalModel,s=elastic_model$bestTune$lambda)

Выше приведены результаты всех классов A ~ E, я вижу, что некоторые переменные могут быть удалены.

но ниже прогноза дают неверные результаты:

 predictions <- predict(elastic_model,testData)

 table(predictions,testData$classe)

predictions    A    B    C    D    E

          A  108   47   19   16   37

          B   12   82    0   25   41

          C 1121  606  758  233  472

          D  433  404  249  690  532

          E    0    0    0    0    0

в прогнозах, класс E полностью потерян. Я не могу найти причину.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...