머신러닝을 공부하다 보면 가장 먼저 마주치는 개념 중 하나가 바로 분류(Classification)와 회귀(Regression)입니다. 두 기법 모두 지도 학습(Supervised Learning)에 속하지만, 예측하는 값의 성격과 접근 방식에서 뚜렷한 차이를 보입니다. 이 글에서는 분류와 회귀의 핵심 차이점을 체계적으로 정리해 드립니다.
분류(Classification)란?
분류는 입력 데이터를 미리 정의된 여러 범주(클래스) 중 하나로 나누는 기법입니다. 주요 특징은 다음과 같습니다.
이산적인(discrete) 값을 출력합니다. 예를 들어 '스팸 메일 / 일반 메일', '양성 / 음성'처럼 정해진 범주로 결과가 나옵니다.
주어진 데이터 집합을 서로 다른 그룹으로 구분하는 데 활용됩니다.
데이터의 그룹화는 다양한 기준(criterion)에 따라 수행됩니다.
결과 값 사이에 순서가 존재하지 않는 비순서형(unordered) 데이터를 다룹니다.
매핑 함수(Mapping Function)를 사용해 입력 값을 사전에 정의된 클래스에 대응시킵니다.
대표적인 알고리즘으로는 결정 트리(Decision Tree), 로지스틱 회귀(Logistic Regression) 등이 있습니다.
회귀(Regression)란?
회귀는 연속적인 수치 값을 예측하는 기법으로, 주로 가격, 온도, 매출액처럼 무한히 많은 가능한 값 중 하나를 추정할 때 사용됩니다.
연속적인(continuous) 값을 출력합니다. 예를 들어 내일의 기온이나 아파트 가격처럼 실수 형태의 결과를 얻습니다.
매핑 함수를 통해 입력 값을 연속적인 출력 값에 대응시킵니다.
출력 값들 사이에 크기 순서가 존재하는 순서형(ordered) 데이터를 다룹니다.
종속 변수(dependent variable)와 독립 변수(independent variable) 간의 관계를 모델링합니다.
데이터에 가장 잘 맞는 직선, 즉 최적 적합선(best fit line)을 찾으려고 시도합니다.
그래프를 외삽(extrapolate)하여 알려지지 않은 값을 찾거나 미래 값을 예측합니다.
모델의 성능은 주로 평균 제곱근 오차(RMSE, Root Mean Square Error) 방식으로 평가합니다.
대표적인 알고리즘으로는 회귀 트리(랜덤 포레스트, Random Forest), 선형 회귀(Linear Regression) 등이 있습니다.
분류 vs 회귀 핵심 비교
| 구분 | 분류(Classification) | 회귀(Regression) |
|---|---|---|
| 출력 값 | 이산값 (범주) | 연속값 (실수) |
| 순서 여부 | 비순서형 | 순서형 |
| 목적 | 데이터를 클래스로 구분 | 수치 값 예측 |
| 대표 알고리즘 | 결정 트리, 로지스틱 회귀 | 선형 회귀, 랜덤 포레스트 |
| 평가 지표 | 정확도, F1 스코어 등 | RMSE, MAE 등 |
마무리
정리하면, 분류는 데이터를 정해진 범주로 나누는 문제이고, 회귀는 연속적인 수치를 예측하는 문제입니다. 해결하고자 하는 문제의 출력 값이 범주형인지 수치형인지에 따라 적절한 알고리즘을 선택하는 것이 머신러닝 프로젝트 성공의 첫걸음입니다.