[आर] न्यूरलनेट फ़ंक्शन में त्रुटि होने पर क्या करें

2018 11 年 月 日 15

न्यूरलनेट फ़ंक्शन

न्यूरलनेट फ़ंक्शन आर में तंत्रिका नेटवर्क पुस्तकालयों में से एक है।इस पुस्तकालय का लाभ यह है कि निर्मित शिक्षार्थी को सीधे प्लॉट () द्वारा देखा जा सकता है, और गणना ग्राफ और वजन / पूर्वाग्रह मूल्यों को एक नज़र में देखा जा सकता है।
निम्नलिखित एक ज्ञापन है जो ज्ञापन के रूप में भी कार्य करता है क्योंकि जब मैंने अभ्यास के रूप में आईरिस डेटासेट के साथ बहु-श्रेणी वर्गीकरण किया तो मैंने विभिन्न ठोकरें खाईं।वास्तव में आर में तंत्रिका नेटवर्क का प्रयास करते समय, मैं अन्य पुस्तकालयों को चुनने की सलाह देता हूं जिनके साथ काम करना आसान होता है।

न्यूरलनेट चलाते समय त्रुटियां और समाधान

गुणात्मक चर में इनपुट त्रुटि

R के कई कार्यों में, जब एक गुणात्मक चर को एक कारक प्रकार के रूप में परिभाषित किया जाता है, तो इसे स्वचालित रूप से एक डमी चर के रूप में माना जाता है (अजगर में कोई कारक प्रकार नहीं होता है, और पांडा का get_dummies फ़ंक्शन आदि गुणात्मक चर को 0 या 1 में विभाजित करता है। कॉलम जो इंगित करता है कि कौन संबंधित है)। चूंकि न्यूरलनेट फ़ंक्शन केवल मात्रात्मक चर को संभाल सकता है, परितारिका में "प्रजाति" जैसे गुणात्मक चर को सही ढंग से पहचाना नहीं जा सका और त्रुटियां हुईं।गुणात्मक चरों को डमी चरों में बदलने के लिए निम्न कोड निष्पादित करें।

library(caret) 
tmp <- dummyVars(~.,data=train) 
dummy <- as.data.frame(predict(tmp, train))

बहु-श्रेणी वर्गीकरण के लिए सूत्र

नेट फ़ंक्शन को निम्नानुसार लिखा जा सकता है।यहाँ, प्रजातियों के लिए, अन्य चरों को व्याख्यात्मक चर के रूप में निर्दिष्ट किया गया है (".” का अर्थ उद्देश्य चर के अलावा है)।

library(nnet) 
nn1 <- nnet(formula = Species ~ ., size=5, data=train)

चूँकि व्याख्यात्मक चरों को डमी चरों में बनाया गया है, इसलिए सूत्र को "+" के साथ वर्गीकृत किए जाने वाले सभी वर्गों को जोड़कर वर्णित किया गया है।

library("neuralnet") f = Species.setosa + Species.versicolor + Species.virginica       
~ Sepal.Length + Sepal.Width + Petal.Length + Petal.Width 
nn2 <- neuralnet(formula = f, data = dummy)

結果

आपने आईरिस का सफलतापूर्वक वर्गीकरण कर लिया है।