부스팅 알고리즘
loss(Default : deviance) : 경사 하강법에서 사용할 비용 함수
learning_rate(Default : 0.1) : GBM이 학습을 진행할 때마다 적용하는 학습률
n_estimators(Default : 100) : weak learner(학습기)의 개수
subsample(Default : 1) : weak learner(학습기)가 사용하는 데이터 샘플링 비율
from sklearn.ensemble import GradientBoostingClassifier
import time
import warnings
warnings.filterwarnings('ignore')
X_train, X_test, y_train, y_test = get_human_dataset()
# GBM 수행 시간 측정을 위함. 시작 시간 설정.
start_time = time.time()
gb_clf = GradientBoostingClassifier(random_state=0)
gb_clf.fit(X_train , y_train)
gb_pred = gb_clf.predict(X_test)
gb_accuracy = accuracy_score(y_test, gb_pred)
print('GBM 정확도: {0:.4f}'.format(gb_accuracy))
print("GBM 수행 시간: {0:.1f} 초 ".format(time.time() - start_time))
랜덤 포레스트보다 나은 성능을 보여줌
시간이 오래걸린다는 단점이 존재(병렬처리 지원 안함)