ฉันใช้แพ็คเกจ 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)
UPDATE: ตามความคิดเห็นด้านล่างเกี่ยวกับการแบ่งอินพุตไบนารีออกเป็นฟิลด์แยกสำหรับแต่ละคลาสค่าตอนนี้โค้ดของฉันดูเหมือน:
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 และทั้งหมดให้ผลลัพธ์ที่เลวร้ายยิ่งกว่าพารามิเตอร์เดิมที่ฉันมีอยู่ด้านบนในรหัสต้นฉบับที่โพสต์ ฉันได้ลองใช้มันด้วย linear output = true / false
ฉันเดาว่าฉันต้องป้อนข้อมูลไปยัง nnet ด้วยวิธีที่ต่างกันเพราะมันไม่ได้แปลความหมายของอินพุตไบนารีอย่างถูกต้อง ไม่ว่าจะเป็นหรือฉันต้องให้พารามิเตอร์ที่แตกต่างกัน
ความคิดใด ๆ