시작하기무료로 시작하기

Gradient Boosting 모델

이번에는 gradient boosting(GB) 모델을 학습해 보겠습니다. 흔히들 말하듯이, 선형 모델이 Toyota Camry라면 GB는 Black Hawk 헬리콥터에 비유합니다. GB는 경우에 따라 랜덤 포레스트보다 더 좋은 성능을 낼 수 있지만, 항상 그런 것은 아닙니다. 이를 무상점심 정리(no free lunch theorem)라고 하며, 문제마다 다양한 모델을 시도해야 한다는 뜻입니다.

GB는 랜덤 포레스트와 비슷하지만, 나무를 순차적으로 만든다는 점이 다릅니다. 각 반복(iteration)에서 다음 나무는 이전 나무의 잔차 오차를 학습해 적합도를 개선합니다.

이번에는 하이퍼파라미터 탐색을 하지 않겠습니다 — 이미 최적값이 제공되어 있습니다.

이 연습은 강의의 일부입니다

Python으로 배우는 금융 분야 Machine Learning

강의 보기

연습 안내

  • 미리 설정된 하이퍼파라미터로 GradientBoostingRegressor 객체를 만드세요.
  • gbr 모델을 train_featurestrain_targets에 적합(fit)하세요.
  • 학습과 테스트의 features와 targets에 대한 점수를 출력하세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

from sklearn.ensemble import GradientBoostingRegressor

# Create GB model -- hyperparameters have already been searched for you
gbr = ____(max_features=4,
                                learning_rate=0.01,
                                n_estimators=200,
                                subsample=0.6,
                                random_state=42)
gbr.fit(____)

print(gbr.score(train_features, train_targets))
____
코드 편집 및 실행