클라이언트/ 서버/ 엔지니어 " 게임 개발자"를 향한 매일의 공부일지

머신러닝 12 - 선형 분류 모델 실습해보기 4 : 직원 이직 분석 : 훈련용 및 평가용 데이터 분리 및 학습시키기 본문

인공지능/머신러닝

머신러닝 12 - 선형 분류 모델 실습해보기 4 : 직원 이직 분석 : 훈련용 및 평가용 데이터 분리 및 학습시키기

huenuri 2024. 9. 18. 22:47

이어서 직원 이직 관련 실습을 진행해보겠다. 현재 모델링 작업을 진행 중이고 훈련용 데이터와 평가용 데이터를 분리하는 작업부터 시작하게 될 것 이다.


 

 

 

 

직원 이직 예측 실습해보기

훈련용과 평가용 데이터를 분리하는 이유는 인공지능을 믿을 수 없기 때문이다. 그냥 데이터를 준다고 해서 학습이 되는 것이 아니고 계속해서 평가를 해야 모델을 검증할 수 있다.

 

 

먼저 앞 부분에 라이브러리를 불러오는 코드를 하나 추가해주었다. 선생님은 하나의 셀에 만들어주었지만, 난 어떤 것을 먼저 실행하는지 알기 위해서 처음 작성할 때부터 분리해주었다.


 

 

 


 

 

 

 


 

 

 

 

테스트를 할 때 한번만 하는 것이 아니라 여러 번 하며 신뢰성을 확보하는 것이 좋다. 하지만 인공지능을 할 때 테스트를 여러 번 하는 것은 쉽지 않다. 필요한 데이터가 많지 않기 때문이다.

이것을 대체할 수 있는 기법이 교차 검증이다. 트레인 데이터를 여러 조각으로 나눠 여러 번 학습시키는 기법을 활용한다.

 

 

 

두번째에서는 앞의 3번을 학습용에 네번째는 테스트용으로 이렇게 다르게 변화를 준다. 마치 새로운 데이터를 5번 평가하는 것 같은 효과를 준다.  가능하면 테스트 데이터를 30% 확보하는 것이 좋지만, 없으니 이 방법으로 대체하는 것이다. 이렇게 여러 번 평가함으로 안정적인 모델 평가를 할 수 있다. 그리고 최종 테스트도 하게 되면 6번 일어난다.


 

 

교차 검증하기

교차 검증 함수를 추가해주는데 이전 코드에서 추가했으므로 생략했다.

 

 

 


 

 

 

학습을 마치고

마지막 교시의 수업 분량은 많지 않았다. 아마도 다음 실습까지만 하면 이 실습 프로젝트는 끝이 날 것 같다. 너무 오랫동안 했더니 빨리 다음 과정으로 넘어가고 싶다. 그래도 깊은 학습을 통해 많은 것들을 배우고 있다.

이 다음에는 텍스트 마이닝 수업인데 오늘 이 부분도 어느 정도는 학습을 진행해볼 예정이다. 내일부터 이틀 동안 다 공부하기에는 분량이 많을 테니까 말이다.

교차 검증이라는 새로운 개념도 학습하며 정말 유익한 시간이었다.