Machine Learning

[Machine Learning] XGBoost

joo_ 2022. 5. 17. 19:26

Boosting에 대해 다시 정리하자면,

여러 개의 의사결정나무(Decision Tree)를 조합해서 사용하는 앙상블(Ensemble) 기법 중 하나로,

약한 예측 모형들의 학습 에러에 가중치를 두고 순차적으로 다음 학습 모델에 반영하여 강한 예측모형을 만든다.

 

XGBoost는 Boosting 기법 중 하나로,

Extreme Gradient Boosting의 약자이고

Regression, Classification 문제를 모두 지원한다.

 

병렬 처리로 학습, 분류하여 속도가 빠르고,

과적합 규제가 가능하며,

Early Sopping 기능이 있다.

 

# python 사용 시 윈도우에 xgboost 설치 필요 (참고: https://lsjsj92.tistory.com/546)

import xgboost as xgb
from xgboost import XGBClassifier

xgb = XGBClassifier()
xgb.fit(X_train,Y_train)

Y_pred = xgb.predict(X_test)
xgb.score(X_train,Y_train)
!pip install xgboost

from xgboost import XGBClassifier

xgbc = XGBClassifier()
xgbc.fit(x_train,y_train)

y_red = xgbc.predict(x_valid)

[출처 1] https://seethefuture.tistory.com/91#:~:text=XGBoost%EC%97%90%20%EB%8C%80%ED%95%B4%20%EC%95%8C%EC%95%84%EB%B3%B4%EC%9E%90&text=XGBoost%20%EB%9E%80%3F&text=%EC%9D%B4%20%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98%EC%9D%84%20%EB%B3%91%EB%A0%AC%20%ED%95%99%EC%8A%B5,%EC%9E%88%EA%B2%8C%20%EC%82%AC%EC%9A%A9%EB%90%98%EB%8A%94%20%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98%20%EC%9D%B4%EB%8B%A4.