Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # [Q5] ANN Bagging 모델
- cl <- makeCluster(16) # the number of cores
- registerDoParallel(cl)
- # [Q5-1] Bootstrap의 수를 30부터 30단위로 300까지 증가
- Bootstrap <- seq(from=30, to=300, by=135) # 30부터 135씩 증가하며 체크
- val_perf <- matrix(0, 6 * length(Bootstrap), 8) # 각 순서대로 6번만 반복
- colnames(val_perf) <- c("Bootstrap","num", "TPR", "Precision", "TNR", "Accuracy", "BCR", "F1-Measure")
- k = 1
- for (i in 1:length(Bootstrap)){
- j = 1
- while (j <= 6){
- cat(i, j)
- Bagging.ANN.model <- avNNet(ANN.trn.input, ANN.trn.target, size = 10, rang = 0.5, decay = 5e-4,
- repeats = Bootstrap[i], bag = TRUE, allowParallel = TRUE, trace = TRUE)
- # Performance evaluation
- Bagging.ANN.prey <- predict(Bagging.ANN.model, ANN.tst.input)
- Bagging.ANN.cfm <- table(max.col(ANN.tst.target), max.col(Bagging.ANN.prey ))
- Bagging.Ann_nCar <- ncol(Bagging.ANN.cfm)
- if (Bagging.Ann_nCar > 2){
- val_perf[k,1] <- Bootstrap[i]
- val_perf[k,2] <- j
- val_perf[k,3:8] <- perf_eval(Bagging.ANN.cfm)
- j = j + 1
- k = k + 1
- }
- }
- }
- ANN_val_perf <- val_perf
- # Boostrap 30의 평균, 표준편차 (6열 = ACC, 7열 = BCR)
- mean(ANN_val_perf[1:6,6])
- sd(ANN_val_perf[1:6,6])
- mean(ANN_val_perf[1:6,7])
- sd(ANN_val_perf[1:6,7])
- # Boostrap 165의 평균, 표준편차
- mean(ANN_val_perf[7:12,6])
- sd(ANN_val_perf[7:12,6])
- mean(ANN_val_perf[7:12,7])
- sd(ANN_val_perf[7:12,7])
- # Boostrap 300의 평균, 표준편차
- mean(ANN_val_perf[12:18,6])
- sd(ANN_val_perf[12:18,6])
- mean(ANN_val_perf[12:18,7])
- sd(ANN_val_perf[12:18,7])
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement