# for 루프문을 활용해 상관계수가 높은 은닉층과 뉴런수 구하기
for (i in 10:20){
for (j in 5:10){
for (k in 5:10){
for (L in 1:5){
set.seed(1)
concrete_model <- neuralnet(formula = strength ~ cement + slag + ash + water +
superplastic + coarseagg + fineagg + age,
data = train_data, hidden = c(i, j, k, L))
result <- compute(concrete_model, test_data[ , 1:8])
a <- cor(result$net.result, test_data[ , 9])
print(paste('h1:', i, 'h2:', j, 'h3:', k, 'h4:', L, a))
}
}
}
}
# 필요한 패키지 로드
library(plotly)
# 데이터 생성
data <- data.frame(
Experiment = c('1번 실험', '2번 실험', '3번 실험', '4번 실험', '5번 실험'),
Correlation_Coefficient = c(0.82, 0.94, 0.956, 0.957, 0.968)
)
# 막대 그래프 생성
plot_ly(
data,
x = ~Experiment,
y = ~Correlation_Coefficient,
type = 'bar',
marker = list(color = c('lightgreen'))
) %>%
layout(
title = 'Correlation Coefficient by Experiment',
xaxis = list(title = 'Experiment'),
yaxis = list(title = 'Correlation Coefficient', range = c(0, 1)),
showlegend = FALSE
)
| 층수 | 은닉층의 뉴런수 | 상관계수 | 개선방법 |
1번 실험 | 2층 | 1개 | 0.82 | |
2번 실험 | 3충 | 7개 | 0.94 | hidden = c(5, 2) |
3번 실험 | 3층 | 11개 | 0.956 | for loop 문 실행 결과 hidden = c(8, 3) |
4번 실험 | 4층 | 14개 | 0.957 | hidden = c(9, 3, 2) |
5번 실험 | 5층 | 28개 | 0.968 | hidden = c(10, 5, 9, 4) |