Il metodo mlp
nel pacchetto caret
chiama la funzione mlp
in RSNNS
. Nel pacchetto RSNNS
, posso impostare quanti più livelli nascosti nella rete neurale come mi piace impostando il parametro dimensione, ad es.C'è un modo per configurare una rete neurale a strati multi-nascosti con il metodo mlp nel pacchetto caret?
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)
Configurerà una rete neurale con due livelli nascosti di 5 e 7 nodi rispettivamente. Voglio utilizzare il pacchetto caret
perché ha funzionalità per eseguire ricerche di parametri/modelli, nonché implementazioni parallele per un cluster. In caret
, quando cerco il metodo, può essere sintonizzato solo con un parametro, size
, ad es.
Imposta una rete neurale con un singolo livello nascosto a 3 nodi.
Ho provato ad aggiungere altre colonne a mlpGrid
e simili, ma non è possibile aggiungere caret
per aggiungere un secondo (o più) livello nascosto.