연구 노트/R Python

R Keras - 모델링 결과가 loss: NaN, mae: NaN 등으로 나올때

airmaster 2021. 11. 5. 18:19
728x90

여기서는 모델이 수행되는 과정에서는 에러가 없었으나, 최종 결과가 loss: NaN, accuracy:NaN, mae:NaN 등으로 나오는 경우, 필자가 찾아낸 문제해결 법이다.

 

지금까지 2가지 경우에 대해서 경험하였고, 다음과 같이 해결할 수 있다. 

 

1. 입력 데이터에 NA 가 들어있는 경우

   이때 아래와 같이 데이터 셋에서 NA를 제거해 준 다음 사용하면 된다. 

    > data.set <- na.omit(<INPUT DATA>)

    > str(data.set)


2. 활성화 함수 선택이 문제인 경우

   1번으로 해결되지 않을 때, layer_dense 내 activation 함수를 "softmax"에서 "relu"로 바꾸면 된다. single output 인 경우, softmax를 사용하면 이런 현상이 발생할 수 있다. 여기(https://github.com/keras-team/keras/issues/2134) 내용의 댓글들을 참고하시오. 

 

3. 입력 데이터에 Inf 가 들어있는 경우

  아래 블로그를 참조하시라. 

 

https://klavier.tistory.com/entry/R%EC%97%90%EC%84%9C-NAN%EC%9D%B4%EB%82%98-INF%EB%A1%9C-%EC%9D%B8%ED%95%B4-%EC%A0%9C%EB%8C%80%EB%A1%9C-%EC%BD%94%EB%93%9C%EA%B0%80-%EB%8F%8C%EC%A7%80-%EC%95%8A%EC%9D%84-%EB%95%8C-%EC%A1%B0%EC%B9%98%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95

728x90