ฉันใหม่กับการสร้างแบบจำลองด้วยเครือข่ายประสาท แต่ฉันจัดการเพื่อสร้างเครือข่ายประสาทด้วยจุดข้อมูลที่มีอยู่ทั้งหมดที่เหมาะกับข้อมูลที่สังเกตได้ดี เครือข่ายประสาทเทียมทำใน R ด้วยแพ็คเกจ nnet:
require(nnet)
##33.8 is the highest value
mynnet.fit <- nnet(DOC/33.80 ~ ., data = MyData, size = 6, decay = 0.1, maxit = 1000)
mynnet.predict <- predict(mynnet.fit)*33.80
mean((mynnet.predict - MyData$DOC)^2) ## mean squared error was 16.5
ข้อมูลที่ฉันกำลังวิเคราะห์มีลักษณะดังต่อไปนี้โดยที่ DOC เป็นตัวแปรที่จะต้องมีแบบจำลอง (มีการสังเกตประมาณ 17,000):
Q GW_level Temp t_sum DOC
1 0.045 0.070 12.50 0.2 11.17
2 0.046 0.070 12.61 0.4 11.09
3 0.046 0.068 12.66 2.8 11.16
4 0.047 0.050 12.66 0.4 11.28
5 0.049 0.050 12.55 0.6 11.45
6 0.050 0.048 12.45 0.4 11.48
ตอนนี้ฉันได้อ่านแล้วว่าแบบจำลองควรได้รับการฝึกอบรมด้วยจุดข้อมูล 70% และตรวจสอบความถูกต้องกับจุดข้อมูล 30% ฉันจะทำสิ่งนี้ได้อย่างไร ฉันต้องใช้ฟังก์ชั่นใด
ฉันใช้ฟังก์ชันรถไฟจากชุดคาเร็ตเพื่อคำนวณพารามิเตอร์สำหรับขนาดและการสลายตัว
require(caret)
my.grid <- expand.grid(.decay = c(0.5, 0.1), .size = c(5, 6, 7))
mynnetfit <- train(DOC/33.80 ~ ., data = MyData, method = "nnet", maxit = 100, tuneGrid = my.grid, trace = f)
ความช่วยเหลือหรือการเชื่อมโยงโดยตรงไปยังเว็บไซต์ / โพสต์อื่น ๆ เป็นที่นิยมอย่างมาก