Skip to content
PART 3 · 17장

로지스틱 회귀

확률을 예측하는 회귀

예 또는 아니오 -- 결과가 둘 중 하나라면

고객이 이탈할 것인가, 남을 것인가? 대출 신청자가 상환할 것인가, 부도낼 것인가? 환자가 회복할 것인가, 악화될 것인가?

이런 문제의 공통점은 결과(Y)가 0 또는 1이라는 것입니다. 지금까지 배운 선형회귀(Y = b0 + b1*X)를 그대로 적용하면 어떻게 될까요? 예측값이 -0.3이나 1.5처럼 확률 범위(0~1)를 벗어나는 문제가 생깁니다.

왜 일반 회귀를 쓰면 안 되는가 -- 시각적으로 생각해보기: Y축에 0과 1만 있는 산점도를 상상하세요. 데이터 점들은 바닥(0)과 천장(1)에만 붙어 있습니다. 여기에 직선을 그으면 어떻게 될까요? 직선은 왼쪽 끝에서 0 아래로 내려가고, 오른쪽 끝에서 1 위로 솟구칩니다. "확률이 -30%"나 "확률이 150%"는 말이 되지 않습니다. 마치 온도계에 0도부터 100도까지만 표시되어 있는데, 자를 대고 직선을 긋다 보니 -20도와 130도를 가리키는 것과 같습니다.

로지스틱 회귀는 이 문제를 우아하게 해결합니다. 시그모이드 함수가 어떤 값이든 0과 1 사이로 눌러줍니다.

실습 1: 왜 선형회귀는 안 되는가?

직접 비교: 아래에서 이진(0/1) 데이터에 선형회귀를 적합한 결과와 로지스틱 회귀를 적합한 결과를 나란히 봅니다. 선형회귀의 직선이 0 아래와 1 위로 튀어나가는 것을 확인하세요. 그다음 "로지스틱 전환" 버튼을 눌러 시그모이드 곡선으로 바뀌는 모습을 관찰하세요.
모형
-
0 미만 예측
-
확률이 음수?
1 초과 예측
-
확률이 100% 초과?
선형확률모형(LPM)의 한계: 이진 결과에 선형회귀를 적용하는 것을 선형확률모형이라 합니다. 간단하지만 예측값이 [0,1] 범위를 벗어나고, 이분산성이 내재하며, X와 확률의 관계가 항상 직선이라는 비현실적 가정을 합니다.

시그모이드 함수: 모든 것을 0과 1 사이로

로지스틱 회귀의 핵심은 시그모이드(logistic) 함수입니다. 어떤 실수 z를 넣어도, 출력은 반드시 0과 1 사이입니다.

p(Y=1) = 1 / (1 + e^(-z))   where   z = b0 + b1*X
시그모이드의 직관:
- z가 매우 크면 (양의 무한대) -> p는 1에 수렴
- z가 매우 작으면 (음의 무한대) -> p는 0에 수렴
- z = 0이면 -> p = 0.5 (반반)

쉽게 말하면: S자 곡선은 "아무리 커도 1을 넘지 않고, 아무리 작아도 0 아래로 안 간다"는 성질을 가집니다. 수도꼭지를 생각해보세요. 아무리 세게 돌려도 물은 100% 이상 나올 수 없고, 아무리 잠가도 음수만큼 나올 수는 없습니다. 시그모이드 함수가 바로 이 "수도꼭지 역할"을 합니다 -- 어떤 입력(z)이 들어와도 출력을 0과 1 사이의 확률로 자연스럽게 눌러줍니다. 중간 구간에서는 민감하게 반응하고, 극단적 값에서는 거의 변하지 않는 것이 S자 곡선의 특징입니다.

실습 2: 시그모이드 탐색기

매개변수 조절 실습: b0(절편)과 b1(기울기)을 슬라이더로 조절하면서 시그모이드 곡선의 변화를 관찰하세요. b0은 곡선을 좌우로 이동시키고, b1은 곡선의 가파르기를 조절합니다. 데이터 점(0과 1)이 곡선에 잘 맞도록 조절해보세요.
-2.0 0.50
결정경계 (X값)
-
p=0.5인 점
Log-Likelihood
-
클수록 좋은 적합
최대우도추정(MLE): OLS처럼 잔차 제곱합을 최소화하는 대신, 로지스틱 회귀는 우도(likelihood)를 최대화합니다. "관찰된 데이터가 나올 확률이 가장 높은 b0, b1을 찾는다"는 것이 MLE의 원리입니다. "MLE 최적 적합" 버튼을 눌러 비교해보세요.

로짓, 오즈, 그리고 오즈비

로지스틱 회귀를 깊이 이해하려면 세 가지 개념의 관계를 알아야 합니다.

확률 (p)

사건이 일어날 가능성. 0에서 1 사이.

예: 이탈 확률 = 0.7 (70%)

오즈 (Odds)

p / (1-p). 실패 대비 성공의 비율. 0에서 무한대.

예: 0.7 / 0.3 = 2.33 ("이탈이 잔류의 2.33배")

로짓 (Logit)

log(Odds). 음의 무한대에서 양의 무한대.

예: log(2.33) = 0.847

logit(p) = log(p / (1-p)) = b0 + b1*X1 + b2*X2 + ...
핵심 연결 고리: 로지스틱 회귀는 사실 로짓(log-odds)을 X의 선형 함수로 모형화합니다. 시그모이드 함수는 이 로짓을 다시 확률로 변환하는 역할을 합니다. 따라서 계수 b1은 "X가 1 증가하면 로짓이 b1만큼 변한다"고 해석합니다.
오즈비(Odds Ratio)의 실무 해석: e^b1 = 오즈비(OR). b1 = 0.83이면 OR = e^0.83 = 2.3. "X가 1 증가하면 오즈가 2.3배가 된다" = "성공 확률이 실패 확률 대비 2.3배로 늘어난다." 의학, 마케팅, 금융에서 가장 많이 쓰이는 해석 방식입니다.
쉽게 말하면 -- 오즈비를 일상 언어로: "야근하는 직원의 이탈 오즈비가 2.3이다"를 한국어로 풀면 이렇습니다:
"야근 여부를 제외한 다른 조건(월급, 근속연수, 만족도 등)이 모두 같을 때, 야근하는 직원이 이탈할 가능성은 야근하지 않는 직원보다 2.3배 높다."

오즈비 1 = 차이 없음, 1보다 크면 = 위험 증가, 1보다 작으면 = 위험 감소. 예를 들어 OR = 0.5라면 "이 변수가 1 늘면 오히려 이탈 가능성이 절반으로 줄어든다"는 뜻입니다.

실습 3: ROC 커브와 분류 성능

로지스틱 회귀는 확률을 출력합니다. 이 확률을 "예/아니오"로 바꾸려면 임계값(threshold)을 정해야 합니다. "확률이 0.5 이상이면 이탈로 분류"가 흔한 기본값이지만, 최적은 아닐 수 있습니다.

혼동행렬(Confusion Matrix)의 4가지 칸:
TP (True Positive): 실제 1을 1로 맞춤
FP (False Positive): 실제 0을 1로 잘못 분류 (거짓 경보)
TN (True Negative): 실제 0을 0으로 맞춤
FN (False Negative): 실제 1을 0으로 놓침 (놓침 오류)
임계값 조절 실습: 슬라이더로 분류 임계값을 0에서 1까지 움직여보세요. 혼동행렬의 값이 변하고, 민감도(Sensitivity)와 특이도(Specificity)가 업데이트됩니다. ROC 곡선 위의 점이 이동하는 것을 관찰하세요.
0.50
혼동행렬
예측: 0
예측: 1
실제: 0
-
-
실제: 1
-
-
정확도
-
민감도
-
TP / (TP+FN)
특이도
-
TN / (TN+FP)
ROC 곡선
AUC
-
1에 가까울수록 우수
AUC (Area Under the Curve): ROC 곡선 아래 면적. 0.5이면 동전 던지기 수준(무작위), 1이면 완벽한 분류. 일반적으로 AUC > 0.8이면 양호, > 0.9이면 우수한 모형으로 봅니다.
쉽게 말하면 -- ROC 곡선은 암 검진 비유로: 건강검진에서 암 여부를 판별하는 검사를 생각해보세요.
민감도(Sensitivity)는 "진짜 암 환자 중에서 검사가 '양성'으로 잡아낸 비율"입니다. 이 값이 높으면 암 환자를 놓칠 확률이 줄어듭니다.
특이도(Specificity)는 "건강한 사람 중에서 검사가 '음성'으로 정확히 판별한 비율"입니다. 이 값이 높으면 건강한 사람을 불필요하게 겁주는 일이 줄어듭니다.

문제는 민감도를 올리면 특이도가 내려가고, 특이도를 올리면 민감도가 내려간다는 것입니다. ROC 곡선은 임계값을 바꿔가며 이 두 가지의 트레이드오프를 그래프로 보여줍니다. 곡선이 왼쪽 위 모서리에 가까울수록 "민감도와 특이도 둘 다 높은" 좋은 모형입니다.
임계값 선택의 비즈니스 맥락: 기본 임계값 0.5가 항상 최선은 아닙니다. 비즈니스 상황에 따라 달라져야 합니다.
- 암 검진: 놓침(FN)이 치명적이므로 임계값을 낮춰 "조금이라도 의심되면 양성 판정"
- 스팸 필터: 중요한 이메일을 스팸으로 잘못 분류(FP)하면 큰 문제이므로 임계값을 높여 "확실한 경우만 스팸 처리"
- 고객 이탈: 이탈 고객을 놓치는 비용과 잔류 고객에게 불필요한 혜택을 제공하는 비용을 비교하여 결정

실습 4: 오즈비 해석기

직원 이탈 데이터에 로지스틱 회귀를 적합한 결과를 해석해봅니다. 각 변수의 오즈비(OR)가 무엇을 의미하는지, 예측 변수 값을 변경하면 예측 확률이 어떻게 변하는지 체험합니다.

오즈비 탐색: 아래 계수 테이블에서 오즈비를 확인하세요. 슬라이더로 각 변수의 값을 바꾸면 예측 이탈 확률이 실시간으로 변합니다.
변수 계수 (b) 오즈비 (e^b) 95% CI 해석

예측 시뮬레이터: 이 직원은 이탈할까?

400
5
3
예측 이탈 확률
-
-

실습 5: 비용 기반 임계값 최적화

분류 오류의 비용이 대칭이 아닌 경우가 대부분입니다. 암 진단에서 놓침(FN)은 치명적이지만 거짓 경보(FP)는 추가 검사 정도입니다. 고객 이탈에서도 마찬가지입니다.

비용 최적화 실습: 고객 이탈 시나리오를 가정합니다. FN(이탈 고객을 놓침)의 비용과 FP(잔류 고객에게 불필요한 혜택 제공)의 비용을 설정하면, 총비용을 최소화하는 최적 임계값이 계산됩니다.
500만원 50만원
최적 임계값
-
최소 총비용
-
만원
기본(0.5) 총비용
-
만원
절감액
-
최적화 효과
비즈니스 시나리오: 이탈 고객을 놓치면 고객 생애가치(CLV) 500만원을 잃습니다. 하지만 잔류 고객에게 불필요한 할인 쿠폰을 보내면 50만원 비용이 듭니다. 놓침이 거짓 경보보다 10배 비싸므로, 임계값을 0.5보다 낮춰서 "의심스러우면 일단 이탈 위험으로 분류"하는 전략이 유리합니다.
FN:FP 비용 비율의 영향: FN 비용이 FP보다 훨씬 크면 임계값이 낮아집니다 (더 많이 양성으로 분류). 반대로 FP 비용이 더 크면 임계값이 올라갑니다 (확실한 경우만 양성으로 분류). 슬라이더를 극단적으로 조정해보며 이 관계를 확인하세요.

로지스틱 회귀 결과 읽기

항목 선형회귀 로지스틱 회귀
종속변수 Y연속형 (가격, 매출)이진형 (0 또는 1)
예측값Y 자체 (실수)P(Y=1) 확률 (0~1)
함수 형태직선시그모이드(S자) 곡선
추정 방법OLS (잔차 제곱합 최소)MLE (우도 최대화)
적합도R-squaredAUC, Log-Likelihood, Pseudo R-squared
계수 해석Y의 변화량로짓(log-odds)의 변화량, 또는 오즈비
가정LINE (선형, 독립, 정규, 등분산)독립, 선형적 로짓, 다중공선성 없음
Pseudo R-squared: 로지스틱 회귀에는 전통적 R-squared가 없습니다. 대신 McFadden R-squared = 1 - (Log-Likelihood_model / Log-Likelihood_null)을 사용합니다. 0.2~0.4 정도면 양호한 적합으로 봅니다 (선형회귀의 0.7~0.9에 해당).
이 장의 핵심
  • 이진 결과(0/1)에 선형회귀를 적용하면 예측이 [0,1] 범위를 벗어난다.
  • 로지스틱 회귀는 시그모이드 함수로 출력을 0~1 확률로 변환한다.
  • 계수 b는 로짓(log-odds)의 변화량이며, e^b = 오즈비(OR)로 해석한다.
  • 분류 임계값에 따라 혼동행렬이 달라지고, ROC 곡선과 AUC로 전체 성능을 평가한다.
  • 임계값은 비용 구조(FN vs FP 비용)에 따라 최적화해야 한다.

다음 장 예고: 지금까지 배운 회귀 기법들은 "지도학습"의 핵심 도구입니다. 다음 장에서는 이들을 종합하여 실제 데이터셋에 적용하는 캡스톤 프로젝트를 진행합니다.