Итак, у меня есть набор данных, на котором я выполняю алгоритмы машинного обучения. Я выполнил MLR, пошаговую регрессию, SVM и Random Forest на наборе данных, который равен 180 x 160. Я моделирую одну переменную против 159 других переменных, с 179 случаями. Это все регрессионное моделирование. Я использую пакет caret, в котором я использую функцию поезда, чтобы выполнить 10-кратное перекрестное подтверждение 10 раз с помощью различных алгоритмов машинного обучения. Мне сказали прочитать документ, в котором вместо этого использовались модели нейронных сетей и получили лучшие результаты, поэтому я пытался найти способ сделать то же самое, но с нейронной сетевой моделью.Как смоделировать нейронную сеть с помощью каретки, R
Я имел взгляд на выполнив следующие действия: -
model <- train(RT..seconds.~., data = cadets, method = "AMORE", trControl = ctrl)
, но он не работает. Мне сказали, что это не сработает, так как в функции поезда еще нет упакованного пакета AMORE. Поэтому я искал использовать nnet вместо: -
model <- train(RT..seconds.~., data = cadets, method = "nnet", trControl = ctrl)
который работал. Тем не менее, значение RMSE, которое я получил, составило 171, и когда я посмотрел на свои предсказанные и наблюдаемые значения, предсказанные значения были всего лишь 1 с и 0,9999 с. Кто-нибудь знает, что я делаю неправильно?
спасибо!
Я не думаю, что это хорошая идея использовать NN в наборе данных 180x160. –
Вы пытались дать 'skip = TRUE' в команде« nnet »? –
Я только что попробовал, я сделал: - 'cadets.nn <- train (RT..seconds. ~., Data = cadets, method = "nnet", trControl = ctrl, skip = TRUE)' и Я получил одно и то же значение RMSE, при этом предсказанные значения равны 1 или 0. – user2062207