Почему в установке XGBoost нет параметра бустера, а в документации?
Я установил XGBoost. Это параметры, которые он отображает при выполнении: print(xgboost.XGBClassifier())
XGBClassifier(base_score=0.5, colsample_bylevel=1, colsample_bytree=1,
gamma=0, learning_rate=0.1, max_delta_step=0, max_depth=3,
min_child_weight=1, missing=None, n_estimators=100, nthread=-1,
objective='binary:logistic', reg_alpha=0, reg_lambda=1,
scale_pos_weight=1, seed=0, silent=True, subsample=1)
Но в документации Scikit-Learn API появляется параметр "бустер". Почему его у меня нет?
Scikit-Learn API
Scikit-Learn Wrapper interface for XGBoost.
class xgboost.XGBRegressor(max_depth=3, learning_rate=0.1,
n_estimators=100, silent=True, objective='reg:linear',
**booster='gbtree'**, nthread=-1, gamma=0, min_child_weight=1,
max_delta_step=0, subsample=1, colsample_bytree=1, colsample_bylevel=1,
reg_alpha=0, reg_lambda=1, scale_pos_weight=1, base_score=0.5, seed=0,
missing=None)
РЕДАКТИРОВАТЬ
Вот что я получаю:
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-63-26499cfcb8f8> in <module>()
18 #Inicio de Cross-validation
19 clf = Pipeline([('rcl', RobustScaler()),
---> 20 ('clf', xgboost.XGBClassifier(booster='gbtree', objective='multi:softmax', seed=0, nthread=-1))])
21 ##############4 epoch x sujeto###########
22 print("4 epoch x sujeto en test_size")
TypeError: __init__() got an unexpected keyword argument 'booster'
1 ответ
ИМХО, это плохое несоответствие, для которого вы должны открыть вопрос.
Но классы XGB Python более или менее разработаны вокруг того факта, что вы можете устанавливать параметры в сумке через train
метод.
Таким образом, вы можете предоставить метод повышения с помощью:
clf = xgb.XGBClassifier()
params = {"booster" : "gbtree"}
xgb.train(params, ...)