관리 메뉴

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

다양한 분류 알고리즘 2 - 로지스틱 회귀 2 : 스스로 실습하고 문제 풀어보는 시간 본문

인공지능/머신러닝

다양한 분류 알고리즘 2 - 로지스틱 회귀 2 : 스스로 실습하고 문제 풀어보는 시간

huenuri 2024. 9. 29. 12:55

새벽에 공부했던 로지스틱 회귀에 대한 실습을 진행해볼 것이다. 잘 이해했는지 확인해볼 수 있는 좋은 시간이다.


 

 

 

로지스틱 회귀 실습해보기

 


 

 

 


 

 

 


 

 

 

 

시그모이드 함수 출력은 0에서 1까지만 변한다.


 

 

 

 

두 번째 샘플을 제외하고 모두 도무리 예측했다. 예측 확률은 predict_proba() 메서드에서 제공한다.

 

 

 

이 z값을 시그모이드 함수에 통과시키면 확률을 얻을 수 있다. 파이썬의 사이파이 라이브러리에도 시그모이드 함수가 있다. 바로 expit()이다. np.exp() 함수ㄷ를 이용해 분소 계산을 하는 것보다 훨씬 편리하고 안전하다. decisions 배열의 값을 확률로 변환해보자.

 

 

이진 분류를 위해 2개의 생선 샘플을 골라냈고 이를 이용해 로지스틱 회귀 모델을 훈련했다. 이진 분류일 경우 predict_proba() 메서드는 음성 클래스와 양성 클래스에 대한 확률을 출력한다. 


 

 

 

 


 

 

 

 

다중 분류일 경우에는 클래스 개수만큼 방정식을 훈련한다. 그다음 각 방정식의 출력값을 소프트맥스 함수를 통과시켜 전체 클래스에 대한 합이 항상 1이 되도록 만든다. 이 값을 각 클래스에 대한 확률로 이해할 수 있다.


 

 

 

단원 마무리하기

 

 

 

 

 

 

 

3번 문제는 틀렸는데 이 문제는 손으로 다시 풀어 봐야할 것 같다.

 

 

따라서 이진 분류에서 decision_function()의 출력이 0보다 크면 시그모이드 함수의 값이 0.5보다 크므로 양성 클래스로 예측한다.

 


 

 

 

학습을 마치고

이렇게 해서 실습도 하고 확인문제까지 모두 풀어보았다. 강의를 듣고 책에 있는 내용을 읽으며 정리할 때는 솔직히 잘 이해하지 못했는데 실습을 하며 많은 것들을 이해할 수 있었다.

이제 다음 학습을 진행해도 될 것 같다.