[머신러닝] 회귀예측 5 - 모델학습/성능평가코드 : 리팩토링 2
오늘은 저번시간에 이어서 모델학습과 검증/평가까지의 코드를 리팩토링해보았다.
저번시간 내용)
모델을 학습시키는 기나긴 코드들을 리팩토링하였다.
-> 가독성을 늘리고, 중복되는 코드를 없애고, 불필요한 변수,리스트 등의 저장공간을 줄였다.
https://jayindustry.tistory.com/31
[머신러닝] 회귀 모델학습 코드 리팩토링
오늘은 저번시간에 다뤘던 모델들을 한번에 학습시키도록 코드를 리팩토링 해보았다. 이전에 올린 포스트 중에서, 머신러닝 회귀예측 프로젝트를 다뤘었다. https://jayindustry.tistory.com/27 [머신러
jayindustry.tistory.com
저번 포스팅에선 train data set으로만 학습시키는 모델들만 만들었다면,
오늘은 코드를 더 업그레이드 시켰다 !
1. val data set으로 모델학습하는 코드를 추가
2. Evaluation(RMSLE) : 모델별로 정확도를 점수로 평가하는 코드 추가
3. train과 val data셋으로 학습시킨 모델들을 담은 딕셔너리 2개를 전역변수로 추가
4. 위 모든 코드를 하나의 클래스로 묶음
[ 수정 전 코드 ]
모델 6가지를 각각 평가하였다.
각각의 셀을 실행시켜, 원하는 모델의 평가점수만 얻을 수 있는 장점은 있으나
불필요한 중복된 코드가 매우 많다.
[ 수정 후 코드 ]
1. 먼저 학습을 위한 기본적인 세팅을 마치고,
2. 학습코드와 평가코드를 함께 클래스로 묶어, 변수를 공유할 수 있게 하였다.
함수는 각각 따로하여 목적에 맞게 독립적으로 호출할 수 있도록 하였다.
3. 끝으로 스태킹 앙상블할때 필요한 딕셔너리들은 전역변수화 시켰다.
[ 결과 ]
이렇게 학습과 평가하는 코드를 묶어서 편리하게 리팩토링해보았다.
확실히 중복되는 코드가 줄고, 불필요한 저장공간을 줄여서 좋았다.
가독성이 올라가며 코드의 수준이 조금 더 높아짐을 느낀다.
앞으로 리팩토링 연습을 더 많이 해야겠다!