본문 바로가기

Machine Learning/머신러닝 완벽가이드 for Python

ch.5.7 로지스틱 회귀

로지스틱 회귀 개요

 

로지스틱 회귀는 선형 회귀 방식을 분류에 적용한 알고리즘입니다. 즉 , 로지스틱 회귀는 분류에 사용됩니다.
로지스틱 회귀가 선형 회귀와 다른 점은 학습을 통해 선형 함수의 회귀 최적선을 찾는 것이 아니라 시그모이드(Sigmoid) 함수 최적선을 잦고 이 시고모이드 함수의 반환 값을 확률로 간주해 확률에 따라 분류를 결정한다는 것 입니다.

 

 

로지스틱 회귀 예측

 

로지스틱 회귀 주로 이진 분류 (0과 1) 에 사용됩니다. (물론 다중 클래스 분류에도 적용 될 수 있습니다). 로지스틱 회귀에서 예측 값은 예측확률을 의미하며, 예측값 즉 예측 확률이 0.5 이상이면 1로, 0.5 이하이면 0으로 예측합니다. 로지스틱 회귀의 예측 확률은 시그모이드 함수의 출력 값으로 계산됩니다.

 

 

시그모이드를 이용한 로지스틱 (Logistic) 회귀 예측

 

 

로지스틱 회귀 특징과 사이킷런 로지스틱 회귀 클래스

• 로지스틱 회귀는 가볍고 빠르지만, 이진 분류 예측 성능도 뛰어납니다. 이 때문에 로지스틱 회귀를 이진 분류의 기본 모델로 사용하는 경우가 많습니다. 또한 로지스틱 회귀는 희소한 데이터 세트 분류에도 뛰어난 성능을 보여서 텍스트 분류에서도 자주 사용됩니다. 
• 사이킷런은 LogisticRegression 클래스로 로지스틱 회귀를 구현합니다. 주요 하이퍼 파라미터로 penalty와 C가 있습니다 Penalty는 규제 (Regu|arization)의 유형1을 설정하며 '|2'로 설정 시 L2 규제를, '|1’으로 설정 시 L1 규제를 뜻합니다.

기본은 '|2입니다 C는 규제 강도를 조절하는 a|pha 값의 역수입니다. 즉 C = 1/alpha입니다 C 값이 작을수록 규제 강도가 큽니다.