[R] Apa yang harus dilakukan ketika terjadi kesalahan pada fungsi neuralnet
fungsi jaringan saraf
Fungsi neuralnet adalah salah satu perpustakaan jaringan saraf di R.Kelebihan dari library ini adalah learner yang dibuat dapat divisualisasikan langsung oleh plot(), dan grafik komputasi serta nilai bobot/bias dapat dilihat secara sekilas.
Berikut ini adalah memo yang juga berfungsi sebagai memorandum karena saya tersandung dengan berbagai cara ketika saya melakukan klasifikasi multi-kelas dengan dataset iris sebagai latihan.Saat benar-benar mencoba jaringan saraf di R, saya sarankan memilih perpustakaan lain yang lebih mudah digunakan.
Kesalahan dan solusi saat menjalankan neuralnet
Kesalahan input dalam variabel kualitatif
Dalam banyak fungsi R, ketika variabel kualitatif didefinisikan sebagai tipe faktor, itu secara otomatis diperlakukan sebagai variabel dummy (python tidak memiliki tipe faktor, dan fungsi get_dummies panda dll. membagi variabel kualitatif menjadi 0 atau 1 membuat a kolom yang menunjukkan milik siapa). Karena fungsi neuralnet hanya dapat menangani variabel kuantitatif, variabel kualitatif seperti "Spesies" di iris tidak dapat dikenali dengan benar dan terjadi kesalahan.Jalankan kode berikut untuk mengonversi variabel kualitatif menjadi variabel dummy.
library(caret)
tmp <- dummyVars(~.,data=train)
dummy <- as.data.frame(predict(tmp, train))
Formula untuk klasifikasi multi-kelas
Fungsi nnet dapat ditulis sebagai berikut.Di sini, untuk Spesies, variabel lain ditetapkan sebagai variabel penjelas (".” berarti selain variabel tujuan).
library(nnet)
nn1 <- nnet(formula = Species ~ ., size=5, data=train)
Karena variabel penjelas telah dibuat menjadi variabel dummy, rumusnya dijelaskan dengan menghubungkan semua kelas yang akan diklasifikasikan dengan "+".
library("neuralnet") f = Species.setosa + Species.versicolor + Species.virginica
~ Sepal.Length + Sepal.Width + Petal.Length + Petal.Width
nn2 <- neuralnet(formula = f, data = dummy)
结果
Anda telah berhasil mengklasifikasikan iris.
diskusi
Daftar komentar
Belum ada komentar