Saya menggunakan paket nnet dalam R untuk mencoba membangun JST untuk memprediksi harga real estat untuk kondominium (proyek pribadi). Saya baru dalam hal ini dan tidak memiliki latar belakang matematika, jadi tolong beri tahu saya.
Saya memiliki variabel input yang bersifat biner dan kontinu. Misalnya beberapa variabel biner yang awalnya ya / tidak dikonversi ke 1/0 untuk neural net. Variabel lain seperti terus menerus Sqft
.
Saya telah menormalkan semua nilai pada skala 0-1. Mungkin Bedrooms
dan Bathrooms
seharusnya tidak dinormalisasi karena kisaran mereka hanya 0-4?
Apakah input campuran ini menimbulkan masalah bagi JST? Saya mendapatkan hasil yang baik-baik saja, tetapi setelah memeriksa dengan cermat bobot yang telah dipilih JST untuk variabel-variabel tertentu tampaknya tidak masuk akal. Kode saya di bawah, ada saran?
ANN <- nnet(Price ~ Sqft + Bedrooms + Bathrooms + Parking2 + Elevator +
Central.AC + Terrace + Washer.Dryer + Doorman + Exercise.Room +
New.York.View,data[1:700,], size=3, maxit=5000, linout=TRUE, decay=.0001)
UPDATE: Berdasarkan komentar di bawah ini tentang memecah input biner ke bidang yang terpisah untuk setiap kelas nilai, kode saya sekarang terlihat seperti:
ANN <- nnet(Price ~ Sqft + Studio + X1BR + X2BR + X3BR + X4BR + X1Bath
+ X2Bath + X3Bath + X4bath + Parking.Yes + Parking.No + Elevator.Yes + Elevator.No
+ Central.AC.Yes + Central.AC.No + Terrace.Yes + Terrace.No + Washer.Dryer.Yes
+ Washer.Dryer.No + Doorman.Yes + Doorman.No + Exercise.Room.Yes + Exercise.Room.No
+ New.York.View.Yes + New.York.View.No + Healtch.Club.Yes + Health.Club.No,
data[1:700,], size=12, maxit=50000, decay=.0001)
Node tersembunyi dalam kode di atas adalah 12, tetapi saya telah mencoba berbagai node tersembunyi dari 3 hingga 25 dan semuanya memberikan hasil yang lebih buruk daripada parameter asli yang saya miliki di atas dalam kode asli yang diposting. Saya juga sudah mencobanya dengan output linear = true / false.
Dugaan saya adalah bahwa saya perlu memberi makan data ke nnet dengan cara yang berbeda karena itu tidak menafsirkan input biner dengan benar. Entah itu, atau saya perlu memberikan parameter yang berbeda.
Ada ide?