Gradient Boosting 모델
이번에는 gradient boosting(GB) 모델을 학습해 보겠습니다. 흔히들 말하듯이, 선형 모델이 Toyota Camry라면 GB는 Black Hawk 헬리콥터에 비유합니다. GB는 경우에 따라 랜덤 포레스트보다 더 좋은 성능을 낼 수 있지만, 항상 그런 것은 아닙니다. 이를 무상점심 정리(no free lunch theorem)라고 하며, 문제마다 다양한 모델을 시도해야 한다는 뜻입니다.
GB는 랜덤 포레스트와 비슷하지만, 나무를 순차적으로 만든다는 점이 다릅니다. 각 반복(iteration)에서 다음 나무는 이전 나무의 잔차 오차를 학습해 적합도를 개선합니다.
이번에는 하이퍼파라미터 탐색을 하지 않겠습니다 — 이미 최적값이 제공되어 있습니다.
이 연습은 강의의 일부입니다
Python으로 배우는 금융 분야 Machine Learning
연습 안내
- 미리 설정된 하이퍼파라미터로
GradientBoostingRegressor객체를 만드세요. gbr모델을train_features와train_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))
____