Tôi đang sử dụng gói nnet trong R để cố gắng xây dựng ANN để dự đoán giá bất động sản cho căn hộ (dự án cá nhân). Tôi chưa quen với điều này và không có nền tảng toán học, vì vậy hãy cởi trần với tôi.
Tôi có các biến đầu vào là cả nhị phân và liên tục. Ví dụ, một số biến nhị phân ban đầu có / không được chuyển đổi thành 1/0 cho mạng lưới thần kinh. Các biến khác là liên tục như thế Sqft
.
Tôi đã chuẩn hóa tất cả các giá trị theo tỷ lệ 0-1. Có lẽ Bedrooms
và Bathrooms
không nên bình thường hóa vì phạm vi của chúng chỉ là 0-4?
Những đầu vào hỗn hợp này có gây ra vấn đề cho ANN không? Tôi đã nhận được kết quả tốt, nhưng khi kiểm tra kỹ hơn các trọng số ANN đã chọn cho một số biến nhất định dường như không có ý nghĩa. Mã của tôi là dưới đây, bất kỳ đề nghị?
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)
CẬP NHẬT: Dựa trên các ý kiến dưới đây liên quan đến việc chia các đầu vào nhị phân thành các trường riêng biệt cho từng lớp giá trị, mã của tôi bây giờ trông như sau:
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)
Các nút ẩn trong mã trên là 12, nhưng tôi đã thử một loạt các nút ẩn từ 3 đến 25 và tất cả đều cho kết quả tồi tệ hơn các tham số ban đầu tôi có ở trên trong mã gốc được đăng. Tôi cũng đã thử nó với đầu ra tuyến tính = true / false.
Tôi đoán là tôi cần cung cấp dữ liệu cho nnet theo một cách khác bởi vì nó không diễn giải đúng đầu vào nhị phân. Hoặc là, hoặc tôi cần cung cấp cho nó các tham số khác nhau.
Có ý kiến gì không?