은닉층이 늘어날수록 학습셋의 예측률이 점점 올라가다가 결국 24개의 층에 이르면 100% 예측률을 보입니다. 우리가 조금 전 실행했던 것과 같은 결과군요! 그런데 이 모델을 토대로 테스트한 결과는 어떤가요? 테스트셋 예측률은 은닉층의 개수가 12개일 때 90.4%로 최고를 이루다 24개째에서는 다시 89.2%로 떨어지고 맙니다. 즉, 식이 복잡해지고 학습량이 늘어날수록 학습 데이터를 통한 예측률은 계속해서 올라가지만, 적절하게 조절하지 않을 경우 테스트셋을 이용한 예측률은 오히려 떨어지는 것을 확인할 수 있습니다.
그러면 예제에 주어진 데이터를 학습셋과 테스트셋으로 나누는 예제를 만들어 보겠습니다.
잠 깐 만 요
이 실습에는 사이킷런(scikit-learn) 라이브러리가 필요합니다. 코랩은 기본으로 제공하지만, 주피터 노트북을 이용해서 실습 중이라면 다음 명령으로 사이킷런 라이브러리를 설치해야 합니다. 사이킷런은 파이썬으로 머신 러닝을 실행할 때 필요한 전반적인 것들이 담긴 머신 러닝의 필수 라이브러리입니다.
!pip install sklearn