Saya baru untuk pemodelan dengan jaringan saraf, tetapi saya berhasil membangun jaringan saraf dengan semua titik data yang tersedia yang cocok dengan data yang diamati dengan baik. Jaringan saraf dilakukan dalam R dengan paket 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
Data yang saya analisis terlihat sebagai berikut, di mana DOC adalah variabel yang harus dimodelkan (ada sekitar 17.000 pengamatan):
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
Sekarang, saya telah membaca bahwa model tersebut harus dilatih dengan 70% poin data, dan divalidasi dengan 30% poin data yang tersisa. Bagaimana saya melakukan ini? Fungsi apa yang harus saya gunakan?
Saya menggunakan fungsi kereta dari paket caret untuk menghitung parameter untuk ukuran dan pembusukan.
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)
Setiap bantuan atau tautan langsung ke situs web / posting lain sangat dihargai.