모델 성능 평가 지표 완전 정복
: 정확도, 정밀도, 재현율, F1-score
정확도만 높다고 좋은 모델일까요?
정밀도, 재현율, F1 점수까지 알고 나면, 진짜 성능이 보입니다.
안녕하세요!
머신러닝 공부 중이시라면, 모델을 평가할 때 단순히 ‘정확도’만 보는 것이 얼마나 위험할 수 있는지 한 번쯤 들어보셨을 거예요.
저도 초반에는 정확도만 90% 넘으면 다 잘 되는 줄 알았는데, 나중에 프로젝트에서 낭패를 보면서 진짜 중요한 지표들을 알게 됐죠.
이번 포스팅에서는 정확도(Accuracy), 정밀도(Precision), 재현율(Recall), F1-score의 개념과 활용법을 쉽고 확실하게 정리해드릴게요. 특히 Orange Data Mining 도구를 이용해 시각적으로 실습할 수 있도록 설명드리니, 따라 하시다 보면 평가 지표에 대한 감각이 팍! 생기실 거예요.
목차
1. 정확도(Accuracy)란 무엇인가?
정확도(Accuracy)는 모델이 전체 샘플 중에서 얼마나 정확하게 맞췄는지를 나타내는 아주 기본적인 평가 지표입니다. 말 그대로 전체 중 몇 개를 제대로 맞췄냐는 것이죠.
예를 들어, 고양이와 개를 분류하는 모델이 있다고 해볼게요.
총 100장의 이미지 중 90장을 맞췄다면 정확도는 90%입니다.
계산 공식은 다음과 같아요.
정확도(Accuracy) = (TP + TN) / (TP + TN + FP + FN)
- TP: 진짜 양성(True Positive) – 정답도 YES, 예측도 YES
- TN: 진짜 음성(True Negative) – 정답도 NO, 예측도 NO
- FP: 거짓 양성(False Positive) – 정답은 NO, 예측은 YES
- FN: 거짓 음성(False Negative) – 정답은 YES, 예측은 NO
🧪 Orange 실습 예제: 정확도 확인하기
Orange에서는 Test & Score 위젯을 이용해 다양한 분류 모델의 정확도를 쉽게 비교할 수 있어요.
Iris 데이터셋을 불러오고, 분류기(Classification) 위젯과 연결한 다음, Test & Score에 연결해보세요.
모델 | 정확도(Accuracy) | 정밀도 | 재현율 | F1-score |
---|---|---|---|---|
의사결정나무 | 0.94 | 0.93 | 0.94 | 0.93 |
로지스틱 회귀 | 0.96 | 0.96 | 0.95 | 0.95 |
이렇게 보면 로지스틱 회귀가 전체적으로 높은 정확도를 보여주고 있죠.
하지만 정확도가 전부가 아니라는 걸, 다음 지표에서 알게 됩니다.
특히 데이터가 불균형한 경우, 정확도는 오히려 오해를 불러올 수 있어요.
예를 들어, 95%가 음성이고 5%만 양성인 데이터에서 전부 "음성"이라고 예측해도 정확도는 95%입니다.
하지만 정작 양성을 하나도 못 잡는 모델이 되는 거죠.
그러니까요. 정확도만 믿었다가 큰코다칠 수 있다는 걸 꼭 기억해두세요!
2. 정밀도(Precision)와 오탐율(FP)의 관계
정밀도(Precision)는 예측한 양성 중에 진짜 양성이 얼마나 되는지를 말해요.
즉, 모델이 양성이라고 판단한 것 중에서 실제로 맞춘 비율이죠.
이 지표는 특히 False Positive(거짓 양성)이 얼마나 많은지를 보여주는 데 효과적이에요.
정밀도(Precision) = TP / (TP + FP)
🔍 실생활 예시로 이해하기
의학 테스트를 예로 들어볼게요.
어떤 사람이 암이라고 예측되었는데, 실제로는 암이 아니었다면?
이게 바로 False Positive입니다.
이 경우 환자에게 불필요한 걱정과 추가 검사, 비용 부담을 안겨줄 수 있어요.
이럴 땐 정밀도가 높은 모델이 더 중요하겠죠?
- 정밀도가 높다 → 모델이 ‘양성’이라 판단한 것 중 실제로 맞춘 비율이 높다.
- FP(거짓 양성)가 많을수록 정밀도는 낮아진다.
🧪 Orange 실습 예제: 정밀도 분석
Orange의 Confusion Matrix 위젯을 이용하면 각 클래스별 정밀도까지 확인할 수 있어요.
예를 들어, 세 가지 클래스가 있는 데이터셋에서 특정 클래스에 대해 정밀도가 낮게 나왔다면, 그 클래스에서 FP가 많았다는 뜻입니다.
클래스 | 정밀도(Precision) | FP (오탐 개수) | TP (정탐 개수) |
---|---|---|---|
클래스 A | 0.91 | 2 | 20 |
클래스 B | 0.78 | 5 | 18 |
보시는 것처럼 클래스 B의 정밀도가 더 낮은 이유는 FP가 많기 때문이에요.
이럴 때는 모델 튜닝을 통해 양성 예측 기준을 더 엄격하게 설정할 필요가 있죠.
정리하자면, 정밀도는 ‘맞춘 것 중 얼마나 진짜인가’를 보는 관점이고, 불필요한 오탐을 줄이는 데 핵심적인 지표입니다.
3. 재현율(Recall)이 중요한 이유
재현율(Recall)은 모델이 실제 양성을 얼마나 잘 찾아냈는지를 나타내는 지표예요.
즉, 진짜 양성 중에서 얼마나 예측에 성공했는지를 보는 거죠.
이건 False Negative(거짓 음성)을 얼마나 줄였느냐와 직결돼요.
재현율(Recall) = TP / (TP + FN)
재현율이 중요한 대표적인 상황은 암 진단, 범죄 탐지, 사기 거래 탐지처럼 놓치면 안 되는 케이스들이에요.
예측을 잘못해서 진짜 양성을 놓쳐버리면 심각한 결과를 초래할 수 있으니까요.
🚨 예시로 보는 재현율
100명의 환자 중 20명이 실제로 암인데, 모델이 15명만 암이라고 판단하고 나머지 5명을 놓쳤다면?
재현율은 75%예요. 놓친 5명이 진짜 암 환자인 거죠.
이건 치명적인 문제일 수 있어요.
- 재현율이 높다 = 실제 양성을 거의 다 잡아냈다.
- FN(거짓 음성)이 많으면 재현율이 떨어진다.
🧪 Orange에서 재현율 확인하는 법
Orange의 Test & Score 위젯은 다양한 성능 지표 중 하나로 Recall을 함께 보여줍니다.
예를 들어, 분류기를 바꾸거나 전처리를 조정했을 때 재현율이 어떻게 달라지는지 바로 확인할 수 있어요.
모델 | 정밀도 | 재현율 | FN |
---|---|---|---|
로지스틱 회귀 | 0.87 | 0.92 | 3 |
랜덤 포레스트 | 0.90 | 0.88 | 5 |
이렇게 FN이 줄어들수록 재현율이 올라가고, 그만큼 중요한 정보를 놓치지 않게 되죠.
상황에 따라선 정밀도보다 재현율이 더 중요할 수도 있다는 점! 꼭 기억해두세요.
결국 정밀도와 재현율은 트레이드 오프 관계예요.
하나를 올리면 다른 하나가 내려갈 수도 있거든요.
그래서 다음 장에서 소개할 F1-score가 둘 사이의 균형을 평가하는 핵심 지표로 등장하게 되는 거죠.
4. F1-score: 정밀도와 재현율의 조화
정확도는 그럴듯하지만 한쪽에 쏠린 데이터에선 불안하고, 정밀도와 재현율은 서로 줄다리기 중이고…
그럼 어떻게 해야 할까요? 바로 이럴 때 등장하는 지표가 F1-score입니다.
F1-score는 정밀도(Precision)와 재현율(Recall)의 조화 평균(Harmonic Mean)이에요.
둘 다 높아야 F1도 높아지고, 하나라도 낮으면 F1도 뚝 떨어져요.
그만큼 균형 잡힌 모델 성능을 측정하는 데 아주 유용하죠.
F1-score = 2 × (Precision × Recall) / (Precision + Recall)
⚖️ 왜 평균이 아니라 ‘조화 평균’일까?
F1-score가 일반 평균이 아니라 ‘조화 평균’인 이유는 극단적으로 한쪽에 치우친 값을 더 엄격하게 반영하기 위해서예요. 정밀도가 1인데 재현율이 0.1이면, 단순 평균은 0.55로 괜찮아 보이지만, F1-score는 0.18밖에 안 됩니다.
즉, 둘 다 잘해야 진짜 좋은 점수를 주는 거죠.
🎓 Orange 실습: F1-score 확인 및 비교
Orange의 Test & Score 위젯에서 F1 점수도 자동 계산돼요.
여러 모델을 학습시킨 후 이 지표를 기준으로 가장 균형 잡힌 모델을 찾을 수 있죠.
특히, 클래스 불균형 데이터에선 정확도보다 F1-score가 훨씬 신뢰할 수 있어요.
모델 | 정밀도 | 재현율 | F1-score |
---|---|---|---|
KNN | 0.88 | 0.82 | 0.85 |
SVM | 0.84 | 0.91 | 0.87 |
이처럼 모델마다 정밀도와 재현율은 다르게 나오지만, F1-score는 그 균형점을 보여줘요.
어떤 모델을 선택할지 고민될 때, 특히 둘 사이의 밸런스를 중요하게 본다면 F1-score를 우선 확인하는 습관을 들여보세요.
여기까지 왔다면 이제 단순히 '정확도 몇 퍼센트!'라는 숫자보다 훨씬 풍부한 모델 성능 평가 지표를 활용할 수 있게 된 거예요. 👏👏👏
5. Orange에서 평가 지표 확인하기
이제까지 배운 정확도, 정밀도, 재현율, F1-score를 Orange에서는 어떻게 확인할 수 있을까요?
다행히도 Orange는 이런 지표들을 시각적으로 확인할 수 있는 기능이 아주 잘 갖춰져 있어서 초보자도 쉽게 다룰 수 있어요 😊
🔧 Step-by-Step 실습 가이드
- 📁 File 위젯으로 데이터를 불러옵니다. 예: Iris.csv 또는 Titanic.csv
- ⚙️ Preprocess 위젯으로 전처리 설정 (결측값 처리, 변수 선택 등)
- 🧠 Classifier 위젯에서 사용할 알고리즘 선택 (예: Decision Tree, Logistic Regression 등)
- 🧪 Test & Score 위젯에 연결하여 성능 평가
- 📊 Confusion Matrix나 ROC Analysis로 시각적으로 평가 결과 확인
📋 Orange Test & Score 위젯 예시
모델 | Accuracy | Precision | Recall | F1 | AUC |
---|---|---|---|---|---|
Decision Tree | 0.94 | 0.92 | 0.91 | 0.91 | 0.96 |
Naive Bayes | 0.90 | 0.89 | 0.90 | 0.89 | 0.93 |
📌 참고 꿀팁!
- Orange에서는 여러 모델을 동시에 연결해 비교 실험 가능하므로, 가장 좋은 성능을 보이는 모델을 직관적으로 확인할 수 있어요.
- ROC Curve 위젯을 연결하면 민감도/특이도 조절을 시각적으로 분석할 수 있어요.
Orange는 이렇게 모델 성능 평가의 핵심 지표들을 단 한 번의 클릭으로 확인할 수 있게 도와주는 정말 강력한 도구입니다. 특히 초보자 분들이 머신러닝 개념을 감각적으로 익히는 데 이보다 더 좋은 도구는 드물어요!
6. 지표별 비교 전략과 실무 활용 팁
여기까지 오셨다면 이제 정확도, 정밀도, 재현율, F1-score가 각각 어떤 의미인지 감이 잡히셨을 거예요.
하지만 진짜 어려운 건 “그래서 실제로 어떤 지표를 봐야 하냐?”는 거죠.
상황에 따라 중요한 지표는 달라지기 때문에 비즈니스 목적에 맞는 평가 전략을 세우는 게 핵심입니다.
🎯 언제 어떤 지표를 봐야 할까?
상황 | 우선 고려 지표 | 이유 |
---|---|---|
정상/이상 거래 탐지 | 정밀도 (Precision) | 거짓 경보(FP)를 줄이는 것이 중요 |
암/질병 진단 | 재현율 (Recall) | 실제 환자를 놓치면 안 되므로 FN 최소화가 중요 |
전체적인 밸런스 평가 | F1-score | 정밀도와 재현율의 균형 잡힌 평가가 필요할 때 |
데이터가 균형잡힌 상황 | 정확도 (Accuracy) | 클래스 간 비율이 비슷할 때 전체 정확도 판단 가능 |
📌 실무에서 유용한 팁 5가지
- 정밀도와 재현율은 항상 함께 봐야 합니다. 하나만 높고 하나가 낮으면 위험!
- 데이터가 불균형하다면 반드시 F1-score 중심으로 판단하세요.
- 혼동 행렬(Confusion Matrix)은 모든 지표의 근거가 되는 중요한 시각 도구입니다.
- Orange에서는 여러 모델을 비교 실험하여 가장 높은 F1 또는 Recall 값을 기준으로 최적 모델을 선택하세요.
- 상황에 따라선 정확도는 무시해도 될 만큼 쓸모없는 지표일 수 있다는 점, 명심!
결론적으로, 어떤 지표를 쓸지는 당신이 해결하려는 문제의 맥락에 따라 달라집니다.
정답은 없지만, 현명한 선택은 있습니다.
지표를 똑똑하게 활용하면 모델이 훨씬 더 신뢰도 높은 파트너가 될 수 있어요 💡
🔚 지표를 읽을 줄 알면 머신러닝이 보인다
지금까지 정확도, 정밀도, 재현율, F1-score라는 네 가지 핵심 성능 평가 지표에 대해 알아봤어요.
처음에는 그냥 숫자처럼 느껴지겠지만, 알고 보면 이 숫자 하나하나에 모델의 진짜 모습이 숨어 있어요.
Orange를 활용하면 이 지표들을 시각적으로 비교하고 해석하는 게 훨씬 쉬워지고, 초보자도 빠르게 실무 감각을 익힐 수 있다는 점이 정말 매력적이죠.
특히 모델을 실제로 사용할 상황을 상상하면서 "이건 정확도보다는 재현율이 중요하겠네" 같은 판단을 할 수 있다면, 이미 여러분은 초급자를 넘어선 거예요! 🙌
앞으로 다양한 데이터와 문제를 만날 때마다 이 지표들을 기준으로 더 나은 모델을 만들 수 있도록 도와줄 거예요. 지표를 읽을 줄 아는 개발자, 분석가가 진짜 실력자입니다.
오늘 내용을 바탕으로, 여러분만의 분석 감각을 점점 키워가보세요!
'OrangeDataMining' 카테고리의 다른 글
비지도학습 개념과 필요성 (0) | 2025.04.24 |
---|---|
모델 검증 및 교차 검증(Cross Validation) 완전 정복 (0) | 2025.04.23 |
K‑최근접 이웃(K‑Nearest Neighbors, KNN) 알고리즘 완전 정복 (0) | 2025.04.23 |
서포트 벡터 머신(SVM) 개념 완벽 이해하기 (0) | 2025.04.22 |
랜덤 포레스트(Random Forest)와 배깅(Bagging)의 모든 것 (0) | 2025.04.22 |