Tôi đang cố gắng đào tạo một mô hình tăng cường độ dốc hơn 50 nghìn ví dụ với 100 tính năng số. XGBClassifierxử lý 500 cây trong vòng 43 giây trên máy của tôi, trong khi GradientBoostingClassifierchỉ xử lý 10 cây (!) trong 1 phút và 2 giây :( Tôi không buồn cố gắng trồng 500 cây vì sẽ mất hàng giờ. Tôi đang sử dụng tương tự learning_ratevà max_depthcài đặt , xem bên dưới.
Điều gì làm cho XGBoost nhanh hơn nhiều? Có phải nó sử dụng một số triển khai mới lạ để tăng cường độ dốc mà các chàng trai sklearn không biết? Hay là "cắt góc" và trồng cây nông?
ps Tôi biết về cuộc thảo luận này: https://www.kaggle.com/c/higgs-boson/forums/t/10335/xgboost-post-competition-survey nhưng không thể có câu trả lời ở đó ...
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)