
이 문서는 머신러닝 강의를 실습하면서 다양한 모델을 비교하고
K-Fold Cross Validation 기법을 활용해 최적의 모델을 선택하는 과정을 정리한 내용입니다.
머신러닝 프로젝트에서는 하나의 모델만 사용하는 것보다
여러 모델을 실험하고 성능을 비교하는 것이 일반적입니다.
이번 실습에서는 다음과 같은 모델들을 사용했습니다.
각 모델은 동일한 전처리 과정과 피처셋을 바탕으로 학습되었고,
정확도(Accuracy)를 중심으로 비교하였습니다.
K-Fold 교차 검증은 데이터를 K개의 구간으로 나누고,
K번의 학습-검증을 반복하여 평균 성능을 평가하는 방식입니다.
예시 (K=5일 경우):
아래는 K-Fold 기반 평균 정확도를 바탕으로 정리한 모델별 성능입니다.
| 모델 | 평균 정확도 |
|---|---|
| Logistic Regression | 0.843 |
| Random Forest | 0.861 |
| LightGBM | 0.874 |
| SVM | 0.851 |
가장 높은 평균 정확도를 보인 LightGBM 모델을 최종 선택하였습니다.
최종 선택된 LightGBM 모델을 전체 학습 데이터에 학습시킨 뒤,
테스트 데이터셋에 대해 예측을 수행하였습니다.
from lightgbm import LGBMClassifier
final_model = LGBMClassifier(n_estimators=100, max_depth=5, learning_rate=0.1)
final_model.fit(X_train, y_train)
y_pred = final_model.predict(X_test)