Data_10기

머신러닝 지도학습 방법 - kNN, RF, XGBoost

senu 2025. 12. 15. 21:06

오늘은 머신러닝 지도학습 방법에 대해 정리해 보았다. 지난 글에 머신러징 지도학습으로써의 로지스틱을 다뤘으니 이번에는 그 외 지도학습 방식에 대해 간략히 정리해보겠다.


Ⅰ. k-NN (k-Nearest Neighbors)

k-NN은 "비슷한 데이터는 비슷한 범주에 속한다"는 가정을 기반으로 동작하는 분류 알고리즘이다. 새로운 데이터가 들어왔을 때, 주변에 있는 데이터 중 가장 가까운 k개의 이웃을 참고하여 분류한다.

 

1. 기본 개념

  • 데이터 간 거리(distance)를 기준으로 유사성을 판단
  • 가까운 데이터들이 속한 클래스 중 가장 많이 등장한 클래스로 예측
  • 분류뿐만 아니라 이상치 탐지(outlier detection)에도 활용 가능

2. 거리 측정 방식

유클리드 거리 (Euclidean Distance) 맨해튼 거리 (Manhattan Distance)
  • 두 점 사이의 일직선 거리
  • 가장 일반적으로 사용됨
  • p = 2
  • 수평 + 수직 이동 거리 합
  • 격자 형태 데이터에서 유용
  • p = 1

 

3. 주요 파라미터

  • n_neighbors : 고려할 이웃의 개수 (기본값: 5)
  • weights : 예측에 사용되는 가중치
    • uniform : 모든 이웃에 균일한 가중치 (기본값)
    • distance: 가까운 이웃일수록 더 큰 가중치
    • 일반적으로 기본값 사용 권장됨
  • algorithm : 가장 가까운 이웃에 계산하는데 사용되는 알고리즘 (기본값: auto)
  • p : 거리를 재는 방법
    • 1 : 맨해튼거리
    • 2 : 유클리드거리 (기본값)

4. k-NN 특징

구현이 간단하고 직관적이지만, 데이터가 많아질수록 계산 비용이 증가하고, 스케일에 민감해 정규화/표준화가 필수이다.


Ⅱ. Random Forest

Random Forest는 여러 개의 Decision Tree를 조합하여 예측 성능을 높인 앙상블 모델이다.

 

1. Decision Tree란?

  • 데이터를 조건문(if-else)으로 쪼개서 예측하는 분류 머신러닝 모델
  • 구조가 직관적이고 해석이 쉬움
  • 하나의 트리만 사용 → 과적합 발생 가능성 높음

2. 동작 원리

여러 개의 Decision Tree를 무작위로 생성
→ 각 트리가 예측한 결과를 모아서 가장 많이 나온 결과(최빈값)를 최종 예측값으로 선택

3. RF 특징

  • Decision Tree 대비 과적합 방지
  • 변수 중요도(Feature Imortance) 확인 가능
  • 단일 모델보다 일반화 성능 뛰어남
  • 데이터 전처리에 비교적 덜 민감함

Ⅲ. XGBoost