반응형
이전 포스트에서 다양한 Feature Engineering 기법으로 모델 성능을 개선했습니다.
이번에는 한층 더 정밀한 예측을 위해 XGBoost 모델을 도입해보겠습니다.
XGBoost는 Kaggle에서 널리 사용되는 강력한 부스팅 기반 알고리즘입니다.
✅ 1. XGBoost 설치 (필요 시)
Google Colab이나 로컬 환경에서 다음과 같이 설치합니다:
pip install xgboost
✅ 2. 필요한 라이브러리 임포트
import xgboost as xgb
from sklearn.metrics import accuracy_score
from sklearn.model_selection import train_test_split
✅ 3. 학습 데이터 구성 (이전 에피소드의 피처 활용)
features = ['Pclass', 'Sex', 'Title', 'AgeBin', 'FareBin', 'FamilySize', 'IsAlone', 'Embarked']
X = train[features]
y = train['Survived']
X_test = test[features]
검증 세트 분리:
X_train, X_valid, y_train, y_valid = train_test_split(X, y, test_size=0.2, random_state=42)
✅ 4. XGBoost 모델 학습 및 예측
model = xgb.XGBClassifier(n_estimators=100, max_depth=4, learning_rate=0.1, use_label_encoder=False, eval_metric='logloss')
model.fit(X_train, y_train)
preds = model.predict(X_valid)
print("XGBoost 검증 정확도:", accuracy_score(y_valid, preds))
✅ 5. Kaggle 제출 파일 생성
final_preds = model.predict(X_test)
submission = pd.DataFrame({
'PassengerId': test['PassengerId'],
'Survived': final_preds
})
submission.to_csv('submission_xgb.csv', index=False)
📊 참고: Feature Importance 시각화
xgb.plot_importance(model)
plt.show()
이 그래프를 통해 어떤 변수들이 생존 예측에 큰 영향을 주었는지 확인할 수 있습니다.
✍️ 정리
- XGBoost는 일반적인 트리 기반 모델보다 높은 성능을 보여줌
- Feature Engineering + XGBoost 조합은 상위 점수를 노리기에 좋은 전략
- 앞으로는 GridSearchCV로 파라미터 튜닝을 해보면 좋음
🔜 다음 에피소드 예고
다음 편에서는 하이퍼파라미터 튜닝(GridSearchCV) 을 통해 점수를 더욱 개선해보겠습니다.
감사합니다 🙌
반응형
'04. 캐글' 카테고리의 다른 글
| 00012. [KAG-002] House Prices 예측 #1 - 대회 분석 및 계획 세우기 (0) | 2025.04.15 |
|---|---|
| 00011. [KAG-001] Titanic 생존자 예측 #7 - 하이퍼파라미터 튜닝으로 성능 끌어올리기 (0) | 2025.04.04 |
| 00009. [KAG-001] Titanic 생존자 예측 #5 - 특성 공학으로 성능 끌어올리기 (1) | 2025.04.04 |
| 00008. [KAG-001] Titanic 생존자 예측 #4 - 제출 파일 생성 및 Kaggle 업로드 (0) | 2025.04.04 |
| 00007. [KAG-001] Titanic 생존자 예측 #3 - 데이터 전처리와 모델 학습 (0) | 2025.04.04 |