분류(Classification) 완전 정복: 머신러닝의 핵심 개념

발라·2025년 5월 22일

AI 이해의 첫걸음

목록 보기
7/21
post-thumbnail

분류란?

분류(Classification)는 머신러닝에서 입력 데이터를 사전에 정의된 클래스(label) 중 하나로 분류하는 문제입니다.

  • 예측 결과가 범주형(categorical)일 때 적용
  • 예: 이메일 → "스팸" 또는 "일반"

분류의 대표 예시

문제입력 데이터 예출력 라벨 (클래스)
이메일 분류이메일 본문 텍스트스팸 or 일반
암 진단유방암 관련 수치양성 or 음성
손글씨 숫자 인식이미지 픽셀값0~9 중 하나
뉴스 기사 분류기사 텍스트정치, 경제, 연예, 스포츠 등
고객 이탈 예측나이, 계약 기간 등이탈 or 유지

분류의 종류

1. 이진 분류 (Binary Classification)

  • 두 개의 클래스 중 하나를 예측
  • 예: 0 or 1, 예 or 아니오, True or False

2. 다중 클래스 분류 (Multiclass Classification)

  • 세 개 이상의 클래스 중 하나를 예측
  • 예: 손글씨 숫자 (0~9), 질병 종류 (A, B, C)

3. 다중 레이블 분류 (Multilabel Classification)

  • 한 샘플이 여러 클래스를 동시에 가질 수 있음
  • 예: 영화 → 액션 + SF + 로맨스

지도학습과의 관계

분류는 지도학습(Supervised Learning)의 대표적인 형태입니다.
즉, 입력(X)과 출력(Y)의 짝이 있는 학습을 의미해요.


분류 알고리즘 종류

알고리즘설명장점
로지스틱 회귀확률 기반 이진/다중 분류빠르고 해석 쉬움
결정 트리조건 분기 구조시각화 가능
KNN가장 가까운 이웃 기반간단하고 직관적
SVM결정 경계 최대화고차원 분류에 강함
나이브 베이즈조건부 확률 기반빠르고 가벼움
랜덤 포레스트트리 앙상블높은 정확도
신경망(CNN, RNN 등)복잡한 패턴 분류이미지, 텍스트에 강함

scikit-learn 예시 (이진 분류)

from sklearn.datasets import load_breast_cancer
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import accuracy_score

X, y = load_breast_cancer(return_X_y=True)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)

model = LogisticRegression(max_iter=1000)
model.fit(X_train, y_train)

y_pred = model.predict(X_test)
print("정확도:", accuracy_score(y_test, y_pred))

분류 성능 평가 지표

지표설명
Accuracy전체 중 맞춘 비율
Precision양성 예측 중 실제 양성 비율
Recall실제 양성 중 맞춘 비율
F1 Score정밀도와 재현율의 조화 평균
ROC-AUC이진 분류에서의 전체 성능 평가 지표
Confusion Matrix예측/실제 조합을 시각적으로 표시

분류 vs 회귀 차이

항목분류회귀
출력 값범주형 (클래스)연속형 수치
고양이 vs 개, 긍정 vs 부정집값, 온도 예측
평가 지표Accuracy, F1 등MSE, RMSE, R2 등
주요 함수시그모이드, 소프트맥스항등 함수

요약 정리

개념설명
분류범주형 결과 예측 문제
이진 분류두 클래스 중 하나 예측
다중 분류세 개 이상 클래스 중 하나
다중 레이블여러 클래스에 동시에 속함
주요 알고리즘로지스틱 회귀, SVM, 트리, 신경망
평가 지표정확도, 정밀도, 재현율, F1 등

분류는 머신러닝의 가장 널리 쓰이는 기본 문제 유형 중 하나입니다.
텍스트 분석, 이미지 인식, 바이너리 판단 등 거의 모든 분야에서 활용됩니다!


결론

분류(Classification)는 머신러닝에서 가장 기본적이면서도 강력한 도구입니다.
실생활에 가장 많이 적용되는 분야이기도 하며, 알고리즘 선택과 평가 지표 이해가 중요합니다.

  • 단순한 로지스틱 회귀부터 복잡한 신경망까지 다양한 방식이 존재하며,
  • 문제의 성격(이진/다중/다중 레이블)에 따라 접근 방식도 달라집니다.
  • 올바른 데이터 전처리와 하이퍼파라미터 튜닝이 좋은 분류 모델을 만듭니다.

감사합니다.

바이브코딩부터 머신러닝까지 인공지능에 조금 더 알아가는 코딩 입문자 드림

profile
능숙한 바이브코딩을 할 수 있게 됨을 꿈꾸며

0개의 댓글