0

我已经使用 r 中的 caret 包成功创建了一个多层感知器模型。如何绘制神经网络模型?我的代码如下

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,如下所示: 在此处输入图像描述

4

1 回答 1

0

它不太有效,因为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)

在此处输入图像描述

于 2020-05-27T22:56:42.057 回答