Tôi chưa quen với việc mô hình hóa với các mạng thần kinh, nhưng tôi đã quản lý để thiết lập một mạng lưới thần kinh với tất cả các điểm dữ liệu có sẵn phù hợp với dữ liệu được quan sát. Mạng thần kinh được thực hiện trong R với gói 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
Dữ liệu tôi đang phân tích trông như sau, trong đó DOC là biến phải được mô hình hóa (có khoảng 17.000 quan sát):
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
Bây giờ, tôi đã đọc rằng mô hình nên được đào tạo với 70% số điểm dữ liệu và được xác nhận với 30% số điểm dữ liệu còn lại. Làm thế nào để tôi làm điều này? Những chức năng nào tôi phải sử dụng?
Tôi đã sử dụng chức năng đào tạo từ gói caret để tính toán các tham số cho kích thước và phân rã.
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)
Bất kỳ trợ giúp trực tiếp hoặc liên kết đến các trang web / bài viết khác được đánh giá rất cao.