본문 바로가기
데이터 분석/혼자 공부하는 머신러닝 + 딥러닝

3주차_다양한 분류 알고리즘

by yEvery 2025. 7. 20.

기본 숙제(필수): Ch04(04-1) 확인 문제(p.208) 2번 풀고, 설명하기

답: 1번

로지스틱 회귀에서는 시그모이드 함수를 사용해서 이진 분류에서 확률을 출력한다.

소프트맥스는 다중분류에서 확률을 출력하기 위해 사용한다.


추가 숙제(선택): Ch04(04-2) 과대 적합 / 과소 적합 손코딩(p.220) 하고 코랩 화면 캡처하기

 

에포크 횟수가 적으면 모델이 훈련 세트를 적게 학습하기 때문에 과소적합이 발생하고, 에포크 횟수가 크면 모델이 훈련 세트에만 최적화되어 테스트 세트를 잘 맞추지 못하는 과대적합이 발생하게 된다. 

 

위 코드는 에포크를 0에서 300까지로 학습시켰을 때의 훈련 세트와 테스트 세트에 대한 정확도를 그래프로 나타낸것이다.

그래프를 보면 에포크가 작았을 때는 둘 다 정확도가 낮아 과소적합인 것을 알 수 있다.

에포크가 100일 때를 기점으로 해서 훈련 세트와 테스트 세트에 대한 정확도가 차이가 나는 것을 알 수 있다.

따라서 이 데이터를 학습시킬 때는 에포크를 100으로 하는 것이 적당하게 학습시킨 것으로 볼 수 있다.

  에포크를 100으로 하고 학습시켰을 때의 점수를 출력해보면, 훈련 세트의 경우에는 약 0.96, 테스트 세트의 경우에는 약 0.93으로 훈련 세트의 점수가 테스트 세트보다 살짝 크고 둘 다 그렇게 작지는 않은 적절한 점수가 나온 것을 확인할 수 있다.

SGDClassifier는 확률적 경사 하강법을 제공하는 클래스이다. 이 경우 손실함수를 정하는 매개변수인 loss는 기본값이 hinge이다.

지금까지는 log_loss로 로지스틱 손실함수를 손실함수로 지정해서 진행하였는데 기본값으로도 진행해보았다.

훈련 세트와 테스트 세트의 점수를 보면 로지스틱 손실함수로 했을 때보다는 낮은 것을 알 수 있었다.