로지스틱 회귀(Logistic Regression) 완전 정복!
Orange로 배우는 분류의 모든 것
"분류 문제를 푸는 알고리즘 중, 가장 쉽고 강력한 무기 하나 소개해드릴게요!"
바로, 로지스틱 회귀(Logistic Regression)입니다.
안녕하세요, 여러분! 😄
오늘은 머신러닝 분류(Classification) 문제의 기본 중 기본인 로지스틱 회귀에 대해 깊이 있게 알아보는 시간을 가질 거예요.
회귀라는 이름을 가졌지만 실제로는 이진 분류(Binary Classification)를 위한 모델이라는 사실, 혹시 알고 계셨나요?
Orange Data Mining 도구를 활용해 시각적으로 모델을 이해하고,
실제 예제를 통해 “왜 로지스틱 회귀가 아직도 널리 쓰이는가”를 몸소 체험해보실 수 있도록 구성했어요.
오늘도 초보자의 눈높이에서, 실무에서 바로 쓸 수 있는 실전 중심으로 알려드릴게요.
자, 그럼 본격적으로 시작해볼까요? 📊
목차
1. 로지스틱 회귀란 무엇인가요?
로지스틱 회귀(Logistic Regression)는 이름은 '회귀'지만, 실제로는 이진 분류(Binary Classification)에 사용되는 대표적인 머신러닝 알고리즘입니다.
예를 들어 어떤 이메일이 스팸인지 아닌지를 판단하거나, 환자가 질병을 가졌는지 아닌지를 예측하는 데에 사용돼요.
로지스틱 회귀는 입력값을 바탕으로 확률을 예측하고,
이 확률이 특정 기준(보통 0.5)을 넘으면 1, 아니면 0으로 분류하는 방식이에요.
이 방식 덕분에 단순하지만 꽤나 강력하죠!
🎯 로지스틱 회귀의 핵심 개념 3가지
- 선형 결합: 입력 변수들의 가중합(𝑤𝑥 + b)을 계산해요.
- 시그모이드 함수: 이 가중합을 0~1 사이의 확률로 변환시켜주는 역할을 해요.
- 결과 판별: 예측 확률이 0.5보다 크면 1, 작으면 0으로 분류하죠.
🧠 왜 이렇게 동작할까요?
사람이 어떤 선택을 할 확률처럼, 로지스틱 회귀는 결과를 '예/아니오'로 나누기 위해 확률 값을 이용합니다.
이게 바로 회귀가 분류로 사용되는 이유! 🙌
📋 로지스틱 회귀 vs 선형 회귀
구분 | 선형 회귀 | 로지스틱 회귀 |
---|---|---|
출력 | 연속값 (예: 23.5) | 0~1 확률값 |
사용 목적 | 예측(회귀 문제) | 분류(클래스 판단) |
주요 함수 | 직선 함수 | 시그모이드 함수 |
이처럼 로지스틱 회귀는 회귀 모양을 빌린 분류기라고 이해하면 쉬워요.
다음 단계에서는 "왜 굳이 이렇게 확률로 바꿔서 분류할까?"를 더 깊이 있게 살펴볼게요!
2. 왜 회귀인데 분류에 쓰일까요? 🤔
처음에 로지스틱 회귀를 배울 때 가장 헷갈리는 포인트가 이거예요.
‘회귀’라는 이름인데 왜 이걸로 0 또는 1을 예측하냐는 것이죠.
사실 여기에는 꽤 합리적인 이유가 있습니다.
로지스틱 회귀도 선형 회귀처럼 입력값 x
에 가중치 w
와 절편 b
를 곱한 선형 결합을 계산해요.
그런데 여기서 멈추지 않고, 그 결과를 시그모이드(sigmoid)라는 특수한 함수에 넣어 확률로 바꿔주죠.
🌀 시그모이드 함수란?
시그모이드 함수는 아래와 같은 식을 사용합니다:
σ(z) = 1 / (1 + e^-z)
이 함수의 놀라운 점은 어떤 입력이 들어오든 간에 결과가 항상 0과 1 사이의 값으로 나옵니다.
즉, 이 값을 확률로 해석할 수 있다는 거죠.
예를 들어 어떤 학생이 시험에 합격할 확률을 알고 싶다고 해볼게요.
이 학생의 공부 시간, 수업 참여도, 숙제 제출률 등의 데이터를 통해 합격할 확률이 0.87이라고 나오면, 우리는 이 학생이 합격할 가능성이 높다고 말할 수 있죠.
🚦 예측 결과를 분류로 바꾸는 방법
- 0.5 이상이면 1로 분류 → 예: “이메일은 스팸이다”
- 0.5 미만이면 0으로 분류 → 예: “이메일은 스팸이 아니다”
🎈 이렇게 생각해보세요!
로지스틱 회귀는 "결과를 확률로 예측하고, 이 확률을 기준으로 결정하는 분류기"예요.
‘선형 회귀+시그모이드 함수+기준값’이라는 3단 콤보를 기억하세요!
이제 이 개념들을 바탕으로 Orange Data Mining 도구를 통해 직접 실습해보며 이해도를 더 높여볼 차례입니다!
다음 챕터에서는 손쉽게 드래그 앤 드롭으로 로지스틱 회귀 모델을 구성하고 훈련시키는 방법을 알아볼게요! 🧡
3. 로지스틱 함수와 확률의 개념
로지스틱 회귀의 핵심은 바로 ‘확률로 예측한다’는 점이에요.
단순한 이진 분류를 넘어서, 특정 입력이 어떤 클래스에 속할 확률을 계산하고 그것을 기준으로 분류 결정을 내리는 구조입니다.
🧪 로지스틱 함수(sigmoid)의 정체
로지스틱 함수는 수학적으로 다음과 같이 표현됩니다:
σ(z) = 1 / (1 + e^(-z))
여기서 z = w₁x₁ + w₂x₂ + ... + b
는 입력 특성들의 선형 결합입니다.
이 z
값을 시그모이드 함수에 넣으면 결과는 항상 0에서 1 사이의 값으로 나와요.
이 값을 우리는 '확률'로 해석합니다.
📈 왜 확률로 해석할 수 있을까요?
시그모이드 함수는 입력 값이 커질수록 1에 가까워지고, 작아질수록 0에 가까워집니다.
이 특성 때문에 ‘예측된 값이 1일 가능성’이라고 해석하기에 아주 자연스러운 구조예요.
예를 들어,
어떤 환자가 질병에 걸렸을 확률이 0.92라고 하면, 우리는 이 환자가 거의 확실히 질병이 있다고 말할 수 있겠죠.
🔎 임계값(Threshold)의 역할
우리가 흔히 사용하는 임계값은 0.5입니다.
예측 확률이 0.5 이상이면 클래스 1로, 미만이면 클래스 0으로 분류하죠.
하지만 이 기준은 상황에 따라 달라질 수 있어요.
예를 들어,
의료 진단처럼 놓치면 안 되는 경우라면 0.3처럼 낮은 기준을 설정해서 더 많은 긍정 케이스를 감지할 수 있게 만들 수도 있습니다.
- 0.9 이상의 확률 → 거의 확신에 가까운 긍정
- 0.5 근처 → 애매한 예측, 다른 변수 필요
- 0.1 이하의 확률 → 부정 클래스에 매우 가까움
이처럼 로지스틱 회귀는 예측 결과를 단순한 ‘Yes or No’가 아니라 확률 분포로 보는 관점을 가르쳐줍니다.
이것이 바로 통계적 해석이 가능한 ML 알고리즘이라는 점에서 큰 강점이 되죠!
4. Orange로 로지스틱 회귀 실습하기
자, 이론은 충분히 살펴봤으니 이제 Orange Data Mining을 활용해서 로지스틱 회귀 실습을 해볼 시간이에요!
Orange는 초보자도 쉽게 머신러닝 모델을 만들 수 있도록 도와주는 비주얼 기반 분석 도구랍니다. 📊🧡
이번 실습에서는 타이타닉 생존자 데이터셋을 사용해서, 승객이 살아남았는지를 로지스틱 회귀로 예측해볼 거예요.
생존 여부는 0 또는 1로 구성된 전형적인 이진 분류 문제죠!
🧩 Orange 실습 워크플로우 구성
- File → 타이타닉 데이터 불러오기 (CSV 혹은 내장 데이터셋)
- Select Columns → '생존(Survived)'을 목표 변수(Target)로 설정
- Logistic Regression → 모델 선택
- Test & Score → 교차 검증을 통한 평가
- Confusion Matrix → 예측 결과 분석
Orange에서는 마우스로 위젯을 드래그해서 연결하는 방식이기 때문에, 프로그래밍 지식이 없어도 누구나 로지스틱 회귀를 쉽게 구현하고 테스트할 수 있어요! 🖱️✨
📌 위젯별 주요 역할 정리
위젯 이름 | 역할 |
---|---|
File | 데이터셋 불러오기 (CSV 혹은 내장 데이터) |
Select Columns | 분석 대상 특성과 목표 변수 선택 |
Logistic Regression | 모델 구성 및 훈련 |
Test & Score | 모델의 정확도 및 평가 지표 확인 |
Confusion Matrix | 모델이 실제와 얼마나 잘 맞는지 확인 |
Orange의 로지스틱 회귀 위젯에서는 정규화 옵션이나 클래스 균형 맞추기 같은 설정도 가능해서 성능 향상에 도움이 됩니다.
초보자 분들은 기본 설정으로 시작하고, 결과를 조금씩 비교하면서 조절해보세요!
다음은 이렇게 훈련한 모델이 어떤 결과를 만들어냈는지 해석하고, 평가하는 방법을 다룰 거예요.
Confusion Matrix가 어떤 의미를 담고 있는지 꼭 알아야 합니다! 💡
5. 결과 해석과 혼동 행렬 이해하기
Orange로 로지스틱 회귀 모델을 훈련시킨 다음,
Test & Score 위젯이나 Confusion Matrix 위젯을 통해 모델 성능을 확인하게 됩니다.
여기서 나오는 숫자들이 무엇을 의미하는지 정확히 아는 것이 중요해요! 📊
🧮 Confusion Matrix란?
Confusion Matrix(혼동 행렬)는 예측 결과와 실제 정답이 어떻게 일치하거나 어긋났는지를 보여주는 표 형태의 시각화 도구입니다.
구분 | 실제 긍정 (1) | 실제 부정 (0) |
---|---|---|
예측 긍정 (1) | TP (True Positive) | FP (False Positive) |
예측 부정 (0) | FN (False Negative) | TN (True Negative) |
- TP: 실제로도 1이고, 예측도 1 → 정확히 맞췄다!
- FP: 실제는 0인데 1로 예측 → 과잉 판단
- FN: 실제는 1인데 0으로 예측 → 놓쳤다!
- TN: 실제도 0이고, 예측도 0 → 또 정확히 맞췄다!
📊 평가 지표 해석하기
Orange의 Test & Score 위젯은 아래와 같은 지표들을 보여줍니다:
- Accuracy (정확도): 전체 중에 맞춘 비율
- Precision (정밀도): 예측한 긍정 중에 진짜 긍정 비율
- Recall (재현율): 실제 긍정 중에서 맞춘 비율
- F1-score: 정밀도와 재현율의 조화 평균
💡 어떤 지표가 제일 중요할까?
정답은 “상황에 따라 다르다”예요.
의료 진단처럼 놓치면 큰일 나는 경우엔 재현율(Recall)이 중요하고, 스팸 필터링처럼 잘못 걸러내면 불편한 경우엔 정밀도(Precision)가 중요하죠.
Orange의 혼동 행렬은 클릭 한 번이면 전체 숫자뿐만 아니라 각 예측 값들이 어떤 클래스에 잘못 들어갔는지까지 시각적으로 보여줍니다. 진짜 직관적이죠!
자, 다음은 진짜 흥미로운 파트!
바로 실제 사례인 타이타닉 생존자 예측을 가지고 로지스틱 회귀를 활용하는 방법을 정리해볼게요. 🚢
6. 실제 사례: 타이타닉 생존자 예측
실제로 로지스틱 회귀가 어떻게 쓰이는지 궁금하셨죠? 그래서 준비했습니다.
머신러닝 입문자들에게 가장 인기 있는 타이타닉 생존자 예측 문제를 로지스틱 회귀로 해결해보는 실전 예제입니다. 🛳️
이 문제는 승객의 정보(성별, 나이, 객실 등급 등)를 이용해 생존 여부(Survived: 0 또는 1)를 예측하는 이진 분류 문제예요. Orange를 통해 데이터를 불러오고 시각적으로 분석해보면서 실력을 키워봐요!
🔍 분석에 사용된 주요 특성
변수명 | 설명 |
---|---|
Pclass | 객실 등급 (1, 2, 3) |
Sex | 성별 |
Age | 나이 |
Fare | 요금 |
Embarked | 탑승한 항구 (C/Q/S) |
Orange에서는 File → Select Columns → Logistic Regression → Test & Score → Confusion Matrix의 흐름으로 분석을 진행할 수 있습니다.
📈 실험 결과 및 인사이트
- 정확도: 약 78% 수준
- 정밀도/재현율: 성별과 객실 등급 변수에 따라 크게 달라짐
- 특성 중요도: ‘Sex’(여성일수록 생존률↑), ‘Pclass’(1등급일수록 생존률↑)
이 결과를 보면 로지스틱 회귀가 단순하지만 꽤 실용적인 모델이라는 걸 알 수 있어요.
해석이 쉬우면서도 기본적인 패턴을 잘 잡아주니까 입문자용 첫 모델로 딱이죠.
🎯 왜 이 사례가 중요한가요?
현실의 데이터는 늘 깔끔하지 않고 변수 간의 관계도 복잡해요.
하지만 타이타닉 예제처럼 직관적인 특성과 분류 결과가 있는 문제를 해결하면서 로지스틱 회귀의 원리를 체득할 수 있어요.
이번 실습이 끝나고 나면, 여러분도 자신만의 데이터에 로지스틱 회귀를 적용해보고 싶어질 거예요. 😊
그게 바로 머신러닝 공부의 첫걸음입니다!
로지스틱 회귀는 언제나 든든한 시작점!
자, 여러분! 🎉
오늘은 로지스틱 회귀의 이론부터 실습, 그리고 실제 사례까지 모두 정복해봤습니다.
처음에는 “회귀인데 왜 분류를 하지?” 하는 의문도 있었겠지만, 이제는 확률 기반 분류의 개념이 머릿속에 뚜렷이 자리 잡았을 거예요.
로지스틱 회귀는 단순하지만, 오히려 그 단순함 때문에 데이터의 본질을 꿰뚫는 연습에 아주 좋아요.
모델이 예측하는 이유를 직접 분석하고 설명할 수 있기 때문이죠.
머신러닝을 시작하는 분들께 가장 먼저 추천하는 이유도 여기에 있어요.
Orange를 활용하면 코드 없이도 실전 감각을 익힐 수 있고, 혼동 행렬과 다양한 지표를 한눈에 비교하면서 모델의 강점과 약점을 파악할 수 있어요.
“왜 이 예측이 나왔는지 설명할 수 있는 모델”이라는 점에서, 앞으로의 다양한 머신러닝 알고리즘 학습에 기반이 되는 지식을 제공해준답니다.
여기까지 따라오신 여러분 정말 수고 많으셨고요, 다음 블로그에서는 분류 성능 평가 지표들을 더 깊이 있게 다뤄볼 예정이에요.
그러니 꼭 구독과 북마크! 😉 잊지 마시고요!
'OrangeDataMining' 카테고리의 다른 글
머신러닝 핵심 알고리즘 - 의사결정나무(Decision Tree)를 쉽게 이해하기 (0) | 2025.04.22 |
---|---|
분류(Classification)의 개념과 모델 평가 지표 완전정복 (0) | 2025.04.21 |
다항 회귀(Polynomial Regression) 및 과적합(Overfitting) 개념 (0) | 2025.04.21 |
선형 회귀(Linear Regression) 이론 & 구현 (0) | 2025.04.06 |
회귀 분석(Regression)의 모든 것, 기초부터 차근차근! (1) | 2025.04.05 |