mlp
पैकेज में विधि caret
RSNNS
में mlp
फ़ंक्शन को कॉल करती है। RSNNS
पैकेज में, मैं तंत्रिका नेट में कई छिपी परतों को स्थापित कर सकता हूं क्योंकि मुझे आकार पैरामीटर सेट करके पसंद है, उदा।क्या कैरेट पैकेज में एमएलपी विधि के साथ एक बहु-छिपी हुई परत तंत्रिका नेटवर्क स्थापित करने का कोई तरीका है?
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)
क्रमश: 5 और 7 नोड्स की दो छिपी हुई परतों के साथ एक तंत्रिका नेट स्थापित करेगा। मैं caret
पैकेज का उपयोग करना चाहता हूं क्योंकि इसमें पैरामीटर/मॉडल खोज करने के साथ-साथ क्लस्टर के समानांतर कार्यान्वयन करने की कार्यक्षमता भी है। caret
में, जब मैं विधि को देखता हूं, तो इसे केवल एक पैरामीटर के साथ ट्यून किया जा सकता है, size
, उदा।
data(iris)
mlpGrid <- data.frame(.size=3)
model2<-caret::train(Species~. , iris, method='mlp', tuneGrid=mlpGrid)
3-नोड एकल छिपी हुई परत के साथ एक तंत्रिका नेट सेट करता है।
मैंने mlpGrid
पर अन्य कॉलम जोड़ने का प्रयास किया है और ऐसे में, लेकिन caret
एक दूसरी (या अधिक) छिपी परत जोड़ने की अनुमति नहीं देता है।