R의 nnet 패키지를 사용하여 콘도 (개인 프로젝트)의 부동산 가격을 예측하기 위해 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로 시도했습니다.
내 생각에 바이너리 입력을 올바르게 해석하지 않기 때문에 데이터를 다른 방식으로 nnet에 공급해야한다고 생각합니다. 그 중 하나이거나 다른 매개 변수를 제공해야합니다.
어떤 아이디어?