Я використовую пакет nnet в R, щоб спробувати створити ANN для прогнозування ціни на нерухомість на кондо (особистий проект). Я новачок у цьому і не маю досвіду математики, тому, будь ласка, голі зі мною.
У мене є вхідні змінні, які є бінарними та безперервними. Наприклад, деякі бінарні змінні, які спочатку так / ні, були перетворені в 1/0 для нейронної мережі. Інші змінні є неперервними Sqft
.
Я нормалізував, щоб усі значення були за шкалою 0-1. Можливо, Bedrooms
і Bathrooms
не слід нормалізувати, оскільки їх діапазон становить лише 0-4?
Чи представляють ці змішані дані проблему для ANN? Я отримав нормальні результати, але при більш детальному вивченні ваги, які ANN обрав для певних змінних, не мають сенсу. Мій код нижче, будь-які пропозиції?
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)
ОНОВЛЕННЯ: На підставі коментарів нижче щодо розподілу двійкових входів на окремі поля для кожного класу значень тепер мій код виглядає так:
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)
Прихованих вузлів у наведеному вище коді 12, але я спробував діапазон прихованих вузлів від 3 до 25, і всі вони дають гірші результати, ніж вихідні параметри, які я мав вище в оригінальному коді, розміщеному вище. Я також спробував це з лінійним виходом = true / false.
Я здогадуюсь, що мені потрібно подавати дані в мережу по-різному, тому що вона не інтерпретує бінарний ввід належним чином. Або це, або мені потрібно надати йому різні параметри.
Будь-які ідеї?