[ML] Boosting Algorithm - GBM, XGBoostm LightGBM

박무연·2023년 3월 22일
0

🟤Mahine Learning

목록 보기
13/13
post-thumbnail

Boosting Algorithm

GBM

- 데이터 로드

  • HAR 데이터 생략

- 데이터 학습하기

from sklearn.ensemble import GradientBoostingClassifier
from sklearn.metrics import accuracy_score
import time
import warnings
warnings.filterwarnings('ignore')

gb_clf = GradientBoostingClassifier(random_state=13)
gb_clf.fit(X_train, y_train)
gb_pred = gb_clf.predict(X_test)

print(f'AAC : {accuracy_score(y_test, gb_pred)}')
  • 성능 자체는 랜덤 포레스트보다 좋다고 알려져 있다
  • 하지만 Gradient 방식이기 때문에 느리다,,

- GridSearch

from sklearn.model_selection import GridSearchCV

params = {
    'n_estimators' : [100,500],
    'learning_rate' : [0.05,0.1]
}

grid = GridSearchCV(gb_clf, param_grid=params , cv = 2, verbose=1, n_jobs=-1)
grid.fit(X_train, y_train)

XGBoost

  • 트리 기반의 앙상블 학습에서 가장 각광받는 알고리즘 중 하나
  • GBM 기반이지만 다양한 규제를 통해 해결
  • 병렬 학습이 가능하도록 설계
  • 반복 수행 시마다 내부적으로 학습데이터와 검증데이터를 교차검증을 수행
  • 교차검증을 통해 최적화되면 반복을 중단하는 조기 중단 기능을 가지고 있음

- 학습하기 전에!

  • 현제 XGBoost
profile
Easy day!

0개의 댓글