내일배움캠프

로지스틱 회귀분석

snu7256 2024. 8. 13. 18:55

 

 

일반 선형회귀 모델은

하나 이상의 독립변수와 연속형 종속변수 간의 통계적 관계를 설명하는 모델입니다.

 

만약 종속변수가 범주형 자료이거나 정규성을 만족하지 못할 경우에는

일반 선형 모델을 사용하지 못하는데요,

 

이 때 사용하는 게 일반화 선형 모델입니다.

일반화 선형 모델 중 하나인 로지스틱회귀에 대해서 알아보려고 합니다.

 

 

로지스틱회귀분석

 

 

로지스틱회귀분석은 2개의 값만을 가지는 종속변수와 독립변수들 간의 인과관계를

로지스틱이라는 연결 함수를 사용하여 추정하는 통계 기법입니다.

 

선형모델의 경우 (-) 무한대에서부터 (+) 무한대 사이의 값을 가지는데

우리가 구하려는 로지스틱회귀분석 모델의 종속변수는 0과 1로 이루어져 있기 때문에

로지스틱이라는 연결 함수를 사용하여 0과 1 사이의 값을 가지도록 변환해주는 것입니다.

 

로지스틱 연결함수를 쓰는 이유

 

어떤 사건이 발생할 확률을 예측해주는데

그 확률이 0.5를 넘으면 그 사건이 일어나며,

0.5를 넘지 못할 경우 그 사건이 일어나지 않는 것으로 예측합니다.

 

두 번째 값이 사건이 일어날 확률

 

예측한 확률에 따라서 사건이 일어나는 것과 일어나지 않는 것을 명확히 구분해주는 것에서

일반선형모델에 비해 가지는 장점입니다.

 

 

로지스틱회귀분석 모델을 사용하는 방법은 매우 간단합니다.

model = LogisticRegression()
model.fit(X, y)

 

이 코드는 최대가능도(우도) 추정법이라는 수학적 방식을 이용합니다.

 

 

분류 평가 방법은 혼돈 행렬(Confusion Matrix)를 이용합니다.

 

 

이 표를 바탕으로 추가 연산을 거쳐서

정확도, f1 - score 등을 구해줄 수 있습니다.

 

from sklearn.metrics import accuracy_score, f1_score

accuracy_score(y, y_pred)
f1_score(y, y_pred)

 

분류 평가 결과

 

 

간단하게 위 코드를 이용해서 분류 평가 결과값을 얻을 수 있습니다.

정확도와 f1-score모두 1에 가까울수록 잘 분류되었다고 할 수 있습니다.