The mlp method in the caret package calls the mlp function in RSNNS . In the RSNNS package RSNNS I can configure as many hidden layers in the neural network as possible by setting the size parameter, for example.
data(iris) #shuffle the vector iris <- iris[sample(1:nrow(iris),length(1:nrow(iris))),1:ncol(iris)] irisValues <- iris[,1:4] irisTargets <- decodeClassLabels(iris[,5]) #irisTargets <- decodeClassLabels(iris[,5], valTrue=0.9, valFalse=0.1) iris <- splitForTrainingAndTest(irisValues, irisTargets, ratio=0.15) iris <- normTrainingAndTestSet(iris) model <- mlp(iris$inputsTrain, iris$targetsTrain, size=c(5,7), learnFuncParams=c(0.1), maxit=50, inputsTest=iris$inputsTest, targetsTest=iris$targetsTest)
A neural network will be created with two hidden layers of 5 and 7 nodes, respectively. I want to use the caret package because it has the functionality to search for parameters / models, as well as parallel implementations for the cluster. In caret , when I look at a method, it can be configured with only one size parameter, for example.
data(iris) mlpGrid <- data.frame(.size=3) model2<-caret::train(Species~. , iris, method='mlp', tuneGrid=mlpGrid)
Installs a neural network with a single hidden layer of 3 node.
I tried adding other columns to mlpGrid and such, but caret doesn't seem to allow adding a second (or more) hidden layer.
r machine-learning neural-network r-caret prediction
Tommy levi
source share