데이터 분석 또는 머신러닝을 공부하면서 가장 처음 접하게 되는 개념 중 하나가 바로 "분류"와 "회귀"이다.
둘 다 입력 데이터로부터 결과를 예측한다는 공통점이 있지만,
예측하려는 값이 ‘카테고리’냐, ‘숫자’냐에 따라 적용되는 방식과 모델이 완전히 달라진다.
이 글에서는 직접 학습하면서 두 개념의 차이와 예시를 이해한만큼 설명하려고 한다.
분류 (Classification)
개념 :
분류는 데이터를 사전에 정의된 그룹(클래스) 중 하나로 나누는 작업이다.
결국에 "이 데이터는 어떤 범주에 속하나요?"라는 질문에 답하는 문제이다.
예시는 다음과 같다
이메일 분류 | 스팸/일반 | 0 또는 1 |
동물 이미지 분류 | 고양이/개/토끼 | 고양이 |
고객 이탈 예측 | 이탈/유지 | 이탈 |
질병 진단 | 질병A / 질병B / 정상 | 질병B |
- 대부분의 의사결정, 위험탐지, 품질 분류 등의 문제에서 사용한다.
- 맞다(1) 아니다(0) 와 같은 이진분류(binary classification)와
- 여러 개의 레이블이 있는 다중분류(multi-class classification)가 있다.
사용가능 한 알고리즘은 다음과 같다. 최근에는 상위 3개 알고리즘을 사용해보기도 하였다
- 로지스틱 회귀(Logistic Regression)
- 의사결정나무(Decision Tree)
- 랜덤 포레스트(Random Forest)
- 서포트 벡터 머신(SVM)
- 나이브 베이즈(Naive Bayes)
- 신경망 기반 분류 모델 (MLP, CNN 등)
평가 지표
- Accuracy (정확도)
- Precision / Recall / F1-score
- ROC-AUC Score
- 부트 캠프에서는 혼동 행렬(confusion matrix) 기반 해석도 사용하였다.
회귀 (Regression)
개념 :
회귀는 숫자(연속값)를 예측하는 문제이다.
즉, "이 데이터의 결과 값은 얼마인가요?" 질문에 예측하는 것이다.
예시 :
아파트 가격 예측 | 가격 (만원) | 32,400 |
온도 예측 | 내일 기온 (℃) | 21.5 |
매출 예측 | 다음 달 매출 | 85,000,000 |
주식 가격 예측 | 종가 | 97,200 |
- 가격, 수치, 확률, 비율 등을 예측하는 데 사용한다.
- 수학적으로는 입력과 출력 사이의 함수 관계를 모델링하는 것이다.
사용 알고리즘은 다음과 같다. (위의 분류모델과는 확실히 다르다. 이제 구분을 할줄 알아야한다.)
- 선형 회귀(Linear Regression)
- 의사결정 회귀 트리(Decision Tree Regressor)
- 랜덤 포레스트 회귀(Random Forest Regressor)
- 딥러닝 회귀 모델 (Dense NN, LSTM, Transformer 등)
- 서포트 벡터 회귀(SVR)
- 릿지/라쏘 회귀 (Ridge/Lasso Regression)
평가 지표
- MSE (Mean Squared Error)
- RMSE (Root MSE)
- MAE (Mean Absolute Error)
- R² Score (결정계수)
분류와 회귀, 어떻게 구분해야 할까?
보다 쉬운 설명을 위해 분류와 회귀를 표로 비교해보았다.
예측 대상 | 범주형(카테고리) | 연속형(수치) |
출력 예 | 고양이/개/토끼, 합격/불합격 | 32.5도, 1억 2천만원 |
모델 결과 | 클래스 레이블 또는 확률 | 숫자 값 |
대표 지표 | Accuracy, F1-score, AUC | RMSE, MAE, R² |
활용 분야 | 진단, 이탈 예측, 품질 검사 | 수요 예측, 가격 예측, 시간 예측 |
학습하면서 배운 인사이트
나는 하나의 문제를 여러 시각으로 바라보고자 한다.
동일한 데이터를 가지고도 문제를 분류/회귀 중 어떤 방식으로 정의하느냐에 따라 접근이 달라질 수 있다.
학생 성적 데이터를 예시로 설명을 해보고자 한다.
접근 방식 설명 모델 종류
접근 방식 | 설명 모델 | 종류 |
분류 | 점수로 합격/불합격 예측 | 분류 |
회귀 | 최종 점수(100점 만점) 예측 | 회귀 |
기존에 대학교에서 3학년 때 머신러닝을 들었을 때와 다르게 이제는 쉽게 이해되어가고 있다.
사실 대학교에서는 정기고사를 잘 보기위해 외웠다면, 지금은 에이블스쿨을 통해 실제 구현하며 하다보니 쉽게 체득되어가고 있다.
다음은 직접 pandas와 keras를 활용하여 분류 과정을 기술해보고자 한다
'머신러닝 & 딥러닝 & AI 맛보며 친해지기' 카테고리의 다른 글
실시간 객체탐지 YOLO란? (2) | 2025.04.24 |
---|---|
RAG(Retrieval-Augmented Generation)와 Vector DB 란? (3) | 2025.04.21 |
Sequential vs Class: PyTorch 모델 정의 방법과 비교 (1) | 2025.04.14 |
[OpenCV] Ubuntu 22.04 버전에서 OpenCV 4.10.0 GPU 적용하기 (2) | 2024.10.20 |
NVIDIA Tensor RT 에 대해 알아보기 (3) | 2023.08.28 |