2026. 4. 21. 20:40ㆍ내일배움캠프 TIL
오늘은 머신러닝의 이해와 라이브러리 심화 2챕터를 들었다.
의사결정나무 (Decision Tree)
의사결정나무는 데이터를 특정 기준(피처)에 따라 나무 구조로 분할하여 분류하거나 예측하는 알고리즘이다. 타이타닉 데이터에서 성별을 기준으로 생존 여부를 나누는 것이 대표적인 예시다.
핵심 개념들:
- 루트 노드: 최초 분할 지점
- 리프 노드: 최종 분류 결과가 담기는 노드
- 지니 계수(Gini): 불순도 측정 지표. 0이면 완벽한 순도, 1에 가까울수록 불순. 리프 노드로 내려갈수록 불순도가 낮아지는 방향으로 나무가 성장한다.
장점: 해석이 쉽고, 분류/회귀 모두 가능하며, 이상치에 강하고 스케일링이 불필요하다.
단점: 나무가 깊어지면 과적합 위험이 크고, 훈련 데이터의 작은 변화에도 구조가 크게 달라지는 불안정성이 있다.
랜덤 포레스트 (Random Forest)
의사결정나무의 과적합 문제를 해결하기 위해 나무 여러 개를 만들어 숲을 구성하는 앙상블 기법이다.
배깅(Bagging) = Bootstrapping + Aggregating
- Bootstrapping: 원본 데이터에서 복원 추출하여 여러 개의 유사하지만 다른 데이터셋을 생성
- Aggregating: 각 트리의 예측 결과를 다수결로 합산하여 최종 결론 도출
이 방식 덕분에 개별 트리가 훈련 데이터에 민감한 문제를 극복하면서도 의사결정나무의 장점은 유지할 수 있다. 변수 중요도를 추출할 수 있다는 것도 큰 장점이다. 다만 컴퓨터 리소스가 많이 들고 해석이 어려워진다.
KNN (K-Nearest Neighbor)
"유유상종"의 아이디어. 새로운 데이터가 들어오면 가장 가까운 K개의 이웃을 찾아서 다수결로 분류한다.
- K=3이면 가장 가까운 3개 데이터의 클래스를 보고 판단
- K=7이면 7개를 보므로 결과가 달라질 수 있음 → K값 자체가 하이퍼파라미터
거리 측정: 유클리드 거리(피타고라스 정리)가 기본이며, 맨해튼 거리 등도 사용 가능하다.
중요 포인트: 거리 기반 알고리즘이므로 피처 표준화(스케일링)가 필수다. 단위가 다르면 거리 계산이 왜곡된다.
여기서 파라미터 vs 하이퍼파라미터 개념도 정리했다:
- 파라미터: 모델이 학습 중 자동으로 결정하는 값 (예: 선형회귀의 가중치)
- 하이퍼파라미터: 사람이 직접 설정하는 외부 변수 (예: KNN의 K값). 이걸 조정하며 실험하는 것이 데이터 사이언스의 핵심이다.
부스팅 (Boosting)
여러 개의 약한 학습기(weak learner)를 순차적으로 학습시키면서, 이전 모델이 틀린 데이터에 가중치를 부여하여 점점 성능을 개선해나가는 방식이다.
주요 알고리즘 3가지:
| Gradient Boosting | 경사하강법으로 가중치 업데이트 |
| XGBoost | 병렬학습 가능, 속도 빠름, Kaggle 상위 알고리즘 |
| LightGBM | XGBoost보다 학습시간 짧고 메모리 효율적, 단 1만 건 이하 데이터에서는 과적합 주의 |
'내일배움캠프 TIL' 카테고리의 다른 글
| 스파르타클럽 내일배움캠프 QA/QC 5기 04/23 TIL (1) | 2026.04.23 |
|---|---|
| 스파르타클럽 내일배움캠프 QA/QC 5기 04/22 TIL (0) | 2026.04.22 |
| 스파르타클럽 내일배움캠프 QA/QC 5기 04/20 TIL (0) | 2026.04.20 |
| 스파르타클럽 내일배움캠프 QA/QC 5기 04/17 TIL (0) | 2026.04.17 |
| 스파르타클럽 내일배움캠프 QA/QC 5기 04/16 TIL (0) | 2026.04.16 |