Постройте модель нейронной сети для модели MLP, созданной с использованием пакета каретки - PullRequest
0 голосов
/ 25 мая 2020

Я успешно создал многослойную модель персептрона, используя пакет каретки в r. Как построить модель нейронной сети? Мой код выглядит следующим образом:

ctrl <- trainControl(method="repeatedcv", number=10, repeats =5)
mlpMLFit <- train(demand ~ ., data = datatrain, method = "mlpML", trControl = ctrl, preProcess = c("center", "scale"), tuneLength = 20)
mlpMLFit
plot(mlpMLFit)
summary(mlpMLFit)

код plot(mlpMLFit) отображает только RMSE для скрытых единиц, как показано ниже: enter image description here

1 Ответ

0 голосов
/ 28 мая 2020

Это не совсем работает, потому что mlpMLFit в вашем примере - это объект train для каретки. Я думаю, что хороший и безопасный способ - это снова подогнать модель с вашими лучшими параметрами настройки, например:

library(caret)
library(mlbench)
data(BostonHousing)
ctrl <- trainControl(method="cv", number=4)
TG = expand.grid(layer1=2:4,layer2=2:4,layer3=2:4)
mlpMLFit <- train(medv ~ ., data = BostonHousing, method = "mlpML", trControl = ctrl, preProcess = c("center", "scale"), tuneGrid=TG)

Мы используем mlp() для переоборудования модели:

library(RSNNS)
library(devtools)
source_url('https://gist.githubusercontent.com/fawda123/7471137/raw/466c1474d0a505ff044412703516c34f1a4684a5/nnet_plot_update.r')

fit = mlp(x=model.matrix(medv ~ .,data=BostonHousing),
y=BostonHousing$medv,size=as.numeric(mlpMLFit$bestTune))

И вы можете использовать функцию построения графика, описанную здесь :

library(devtools)
source_url('https://gist.githubusercontent.com/fawda123/7471137/raw/466c1474d0a505ff044412703516c34f1a4684a5/nnet_plot_update.r')

plot.nnet(fit)

enter image description here

...