Advertisement
gry1994tistorycom

Untitled

May 30th, 2020
265
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
R 1.61 KB | None | 0 0
  1. # [Q5] ANN Bagging 모델
  2. cl <- makeCluster(16) # the number of cores
  3. registerDoParallel(cl)
  4.  
  5. # [Q5-1] Bootstrap의 수를 30부터 30단위로 300까지 증가
  6.  
  7. Bootstrap <- seq(from=30, to=300, by=135) # 30부터 135씩 증가하며 체크
  8. val_perf <- matrix(0, 6 * length(Bootstrap), 8) # 각 순서대로 6번만 반복
  9.  
  10. colnames(val_perf) <- c("Bootstrap","num", "TPR", "Precision", "TNR", "Accuracy", "BCR", "F1-Measure")
  11. k = 1
  12. for (i in 1:length(Bootstrap)){
  13.   j = 1
  14.   while (j <= 6){
  15.     cat(i, j)
  16.     Bagging.ANN.model <- avNNet(ANN.trn.input, ANN.trn.target, size = 10, rang = 0.5, decay = 5e-4,
  17.                                 repeats = Bootstrap[i], bag = TRUE, allowParallel = TRUE, trace = TRUE)
  18.     # Performance evaluation
  19.     Bagging.ANN.prey <- predict(Bagging.ANN.model, ANN.tst.input)
  20.     Bagging.ANN.cfm <- table(max.col(ANN.tst.target), max.col(Bagging.ANN.prey ))
  21.     Bagging.Ann_nCar <- ncol(Bagging.ANN.cfm)
  22.     if (Bagging.Ann_nCar > 2){
  23.       val_perf[k,1] <- Bootstrap[i]
  24.       val_perf[k,2] <- j
  25.       val_perf[k,3:8] <- perf_eval(Bagging.ANN.cfm)
  26.       j = j + 1
  27.       k = k + 1
  28.     }
  29.   }
  30. }
  31. ANN_val_perf <- val_perf
  32.  
  33. # Boostrap 30의 평균, 표준편차 (6열 = ACC, 7열 = BCR)
  34. mean(ANN_val_perf[1:6,6])
  35. sd(ANN_val_perf[1:6,6])
  36. mean(ANN_val_perf[1:6,7])
  37. sd(ANN_val_perf[1:6,7])
  38. # Boostrap 165의 평균, 표준편차
  39. mean(ANN_val_perf[7:12,6])
  40. sd(ANN_val_perf[7:12,6])
  41. mean(ANN_val_perf[7:12,7])
  42. sd(ANN_val_perf[7:12,7])
  43. # Boostrap 300의 평균, 표준편차
  44. mean(ANN_val_perf[12:18,6])
  45. sd(ANN_val_perf[12:18,6])
  46. mean(ANN_val_perf[12:18,7])
  47. sd(ANN_val_perf[12:18,7])
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement