[R] ما يجب القيام به عند حدوث خطأ في وظيفة الشبكة العصبية
وظيفة الشبكة العصبية
تعد وظيفة الشبكة العصبية إحدى مكتبات الشبكات العصبية في R.ميزة هذه المكتبة هي أنه يمكن تصور المتعلم الذي تم إنشاؤه مباشرة باستخدام المؤامرة () ، ويمكن رؤية الرسم البياني للحساب وقيم الوزن / التحيز في لمحة.
فيما يلي مذكرة تعمل أيضًا كمذكرة لأنني تعثرت بطرق مختلفة عند إجراء تصنيف متعدد الفئات باستخدام مجموعة بيانات القزحية كممارسة.عند تجربة الشبكات العصبية في R ، يوصى باختيار مكتبة أخرى سهلة الاستخدام.
الخطأ والتعامل مع تنفيذ الشبكة العصبية
خطأ إدخال متغير نوعي
في العديد من وظائف R ، إذا حددت متغيرًا نوعيًا كنوع عامل ، فسيتم التعامل معه تلقائيًا كمتغير وهمي (لا يحتوي Python على نوع عامل ، ووظيفة pandas get_dummies إلخ. عمود للإشارة إلى ما إذا كان ينتمي). نظرًا لأن وظيفة الشبكة العصبية يمكنها التعامل مع المتغيرات الكمية فقط ، فإنها لا تستطيع التعرف بشكل صحيح على المتغيرات النوعية مثل "أنواع" القزحية ، وحدث خطأ.لتحويل متغير نوعي إلى متغير وهمي ، قم بتشغيل الكود التالي.
library(caret)
tmp <- dummyVars(~.,data=train)
dummy <- as.data.frame(predict(tmp, train))
حول الصيغة في وقت التصنيف متعدد الفئات
في وظيفة nnet وما إلى ذلك ، يمكن كتابتها على النحو التالي.هنا ، بالنسبة للأنواع ، يتم تحديد المتغيرات الأخرى كمتغيرات توضيحية ("".يعني غير المتغير الهدف).
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)
結果
لقد تمكنت من تصنيف القزحية بأمان.
نقاش
قائمة التعليقات
لا توجد أي تعليقات حتى الآن