library(readxl)
library(neuralnet)
library(Metrics)
library(readxl)
datainput <- read_excel(path ="neuronetwork.xlsx")
datainput
## # A tibble: 15 x 4
##    nilai_rapot nilai_sekolah nilai_ujian_nasional nilai
##          <dbl>         <dbl>                <dbl> <dbl>
##  1        80.6          80.3                   41 0.346
##  2        79.3          77.2                   41 0.335
##  3        79.3          77.2                   41 0.338
##  4        80            77                     42 0.342
##  5        79            77                     46 0.364
##  6        79            77                     40 0.330
##  7        75            76                     40 0.318
##  8        80            75                     41 0.330
##  9        78            78                     39 0.324
## 10        81            79                     40 0.337
## 11        80            79                     41 0.341
## 12        80            78                     41 0.342
## 13        82            80                     42 0.353
## 14        83            79                     43 0.358
## 15        76            75                     39 0.311
jmlBaris <- NROW(datainput)
data_training <- datainput[1:(jmlBaris -2),]
data_training
## # A tibble: 13 x 4
##    nilai_rapot nilai_sekolah nilai_ujian_nasional nilai
##          <dbl>         <dbl>                <dbl> <dbl>
##  1        80.6          80.3                   41 0.346
##  2        79.3          77.2                   41 0.335
##  3        79.3          77.2                   41 0.338
##  4        80            77                     42 0.342
##  5        79            77                     46 0.364
##  6        79            77                     40 0.330
##  7        75            76                     40 0.318
##  8        80            75                     41 0.330
##  9        78            78                     39 0.324
## 10        81            79                     40 0.337
## 11        80            79                     41 0.341
## 12        80            78                     41 0.342
## 13        82            80                     42 0.353
data_testing <- datainput[(jmlBaris-2) :jmlBaris,]
data_testing
## # A tibble: 3 x 4
##   nilai_rapot nilai_sekolah nilai_ujian_nasional nilai
##         <dbl>         <dbl>                <dbl> <dbl>
## 1          82            80                   42 0.353
## 2          83            79                   43 0.358
## 3          76            75                   39 0.311
nnmodel <- neuralnet(nilai ~ nilai_rapot + nilai_sekolah, data = data_training, hidden = c(3), linear.output = T)
plot(nnmodel)
result_nn <- compute(nnmodel, data_testing[,2:3])
result_nn[["net.result"]]
##           [,1]
## [1,] 0.3387687
## [2,] 0.3387687
## [3,] 0.3387687
errornn = rmse(data_testing$nilai, result_nn$net.result)
errornn
## [1] 0.02126721