#3. 학습결과 평가하기
우리가 예측한 결과가 잘 맞는다는 것을 어떻게 확인할 수 있을까요.
먼저 실제 output과, 계산된 output 데이터를 가져옵시다. 지난시간까지 만든 코드를 실행하면 됩니다. 코드는 아래와 같습니다.
library(neuralnet)
#data 생성
set.seed(1)
input=rnorm(1000)
output=dnorm(input)
#train 데이터를 배정합니다.
input_train=input[1:500]
output_train=output[1:500]
#test데이터를 배정합니다.
input_test=input[501:1000]
output_test=output[501:1000]
#train 데이터 input,output을 하나의 행렬로 묶기
my_data_train=cbind(input_train,output_train)
#neuralnet 함수를 이용하여 학습시키기
my_NN=neuralnet(output_train~input_train, data=my_data_train,
hidden=c(3,3),
threshold=0.01)
#test 데이터를 이용하여 ouptut 계산하기
input_test=as.matrix(input[501:1000],ncol=1)
output_predict=compute(my_NN,input_test)
비교할 데이터는 output_test와 output_predict$net.result 입니다. output_test는 실제값이고, output_predict$net.result는 우리가 학습시킨 신경망을 통해 계산된 값입니다.
1) 상관계수
실제값과 계산값 사이의 상관계수를 구합니다.
> cor(output_test,output_predict$net.result)
[,1]
[1,] 0.9996308
2) 평균 제곱근 오차(RMSE)
실제값과 계산값 사이의 RMSE를 구합니다.
> rmse(output_test,output_predict$net.result)
[1] 0.00314433
'3. 딥러닝 (neuralnet 패키지) > 2) 정규분포 학습 예제' 카테고리의 다른 글
[R 딥러닝 예제] 표준정규분포함수 만들기 #2. 학습결과 확인하기 (0) | 2019.12.14 |
---|---|
[R 딥러닝 예제] 표준정규분포함수 만들기 #1. neuralnet 패키지로 신경망 만들기 (0) | 2019.12.13 |
댓글