Metoda w pakiecie caret
wywołuje funkcję mlp
w RSNNS
. W pakiecie RSNNS
mogę ustawić dowolną liczbę ukrytych warstw w sieci neuronowej, tak jak lubię, ustawiając parametr wielkości, np.Czy istnieje sposób na skonfigurowanie sieci neuronowej z wieloma ukrytymi warstwami za pomocą metody mlp w pakiecie z maską?
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)
Skonfiguruje sieć neuronową z dwiema ukrytymi warstwami odpowiednio 5 i 7 węzłów. Chcę użyć pakietu caret
, ponieważ ma on funkcjonalność do wyszukiwania parametrów/modeli, a także równoległe implementacje dla klastra. W przypadku caret
, gdy sprawdzam metodę, można ją dostroić tylko za pomocą jednego parametru: size
, np.
data(iris)
mlpGrid <- data.frame(.size=3)
model2<-caret::train(Species~. , iris, method='mlp', tuneGrid=mlpGrid)
Ustawia sieć neuronową z 3-węzłową pojedynczą warstwą ukrytą.
Próbowałem dodać inne kolumny do mlpGrid
i takie, ale wydaje się, że caret
nie pozwala na dodanie drugiej (lub więcej) ukrytej warstwy.