100 개의 숫자 기능을 가진 50k 개 이상의 그라디언트 부스팅 모델을 훈련하려고합니다. XGBClassifier
동안 내 컴퓨터 43 초 이내에 핸들 (500) 나무, GradientBoostingClassifier
핸들 10 나무 (!) 일분 2 초 :( 내가 귀찮게하지 않았다에서 그것은 시간이 걸릴 것으로 500 그루의 나무를 성장하려고합니다. 나는 같은 사용하고 있습니다 learning_rate
및 max_depth
설정 아래를 참조하십시오.
XGBoost를 훨씬 더 빠르게 만드는 것은 무엇입니까? sklearn 녀석들이 모르는 그라디언트 부스팅을 위해 새로운 구현을 사용합니까? 아니면 "모서리를 자르고"더 얕은 나무를 자라고 있습니까?
추신 : 나는이 토론에 대해 알고 있습니다 : https://www.kaggle.com/c/higgs-boson/forums/t/10335/xgboost-post-competition-survey 그러나 거기에 대답을 얻을 수 없습니다 ...
XGBClassifier(base_score=0.5, colsample_bylevel=1, colsample_bytree=1,
gamma=0, learning_rate=0.05, max_delta_step=0, max_depth=10,
min_child_weight=1, missing=None, n_estimators=500, nthread=-1,
objective='binary:logistic', reg_alpha=0, reg_lambda=1,
scale_pos_weight=1, seed=0, silent=True, subsample=1)
GradientBoostingClassifier(init=None, learning_rate=0.05, loss='deviance',
max_depth=10, max_features=None, max_leaf_nodes=None,
min_samples_leaf=1, min_samples_split=2,
min_weight_fraction_leaf=0.0, n_estimators=10,
presort='auto', random_state=None, subsample=1.0, verbose=0,
warm_start=False)