본문 바로가기
## 오래된 게시글 (미관리) ##/Python (Linux)

15. Python - 테스트 세트로 평가하기

by #Glacier 2018. 11. 25.
반응형

어느 정도 모델을 튜닝하면, 마침내 만족할 만한 모델을 얻게 됩니다.

그럼 이제 테스트 세트에서 최종 모델을 평가합니다.



테스트 세트에서 예측변수와 레이블을 얻은 후, 

full_pipeline을 사용해 데이터를 변환하고 fit_transform()이 아니라 transform()을 호출하여 평가합니다.



하이퍼파라미터 튜닝을 많이 했다면 교차 검증을 사용해 측정한 것보다 조금 성능이 낮은 것이 보통입니다.

(검증 데이터에서 좋은 성능을 내도록 세밀하게 튜닝되었기 때문에, 새로운 데이터셋에는 잘 작동하지 않을 가능성이 큽니다.)


이 예제에서는 성능이 낮아지지는 않았지만, 이런 경우가 생기더라도 테스트 세트에서 성능 수치를 좋게 하려고

하이퍼파라미터를 튜닝하려 시도하면 안됩니다. 그렇게 향상된 성능은 일반화되기 어렵습니다.


자 이제, 완성된 시스템을 론칭하려면, 모니터링과 시스템 유지 보수가 필요합니다.

시스템의 성능을 평가하려면, 시스템의 예측을 샘플링해서 평가해야 합니다.

일반적으로 이런 과정에는 사람의 분석이 필요하고, 시스템의 입력 데이터 품질 역시 평가해야 합니다.

또, 실시간 성능을 체크할 모니터링 코드도 필요합니다.


특히 온라인 학습 시스템에서는 입력을 모니터링하는 일이 중요합니다.

마지막으로, 새로운 데이터를 사용해 정기적으로 모델을 훈련시켜야 합니다. 

가능하면 이 과정을 자동화해야 하는데, 그렇지 않으면 6개월 마다 모델을 갱신하게 되며 시스템의 성능이

시간에 따라 심하게 출렁일 것입니다. 온라인 학습 시스템이라면 일정 간격으로 시스템의 상태를 스냅샷으로 저장해서

이전 상태로 쉽게 되돌릴 수 있도록 해야 합니다.


이렇게 모델을 찾았는데요. 이제 연습문제를 통해 주택 가격 데이터셋을 이용하여 연습해보도록 하겠습니다.


 블로그 

출처


이 글의 상당 부분은  [핸즈온 머신러닝, 한빛미디어/오렐리앙 제롱/박해선] 서적을 참고하였습니다.


나머지는 부수적인 함수나 메서드에 대해 부족한 설명을 적어두었습니다.

학습용으로 포스팅 하는 것이기 때문에 복제보다는 머신러닝에 관심이 있다면 구매해보시길 추천합니다.


도움이 되셨다면 로그인 없이 가능한

아래 하트♥공감 버튼을 꾹 눌러주세요! 



반응형