为什么XGBoost安装中没有booster参数,同时它在文档中?

时间:2017-05-19 15:41:31

标签: python machine-learning xgboost

我已经安装了XGBoost。 这些是它在执行时显示的参数:     打印(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 个答案:

答案 0 :(得分:0)

恕我直言,这是一个不一致的错误,你应该为此开一个问题。

但是XGB python类或多或少都是围绕这样一个事实设计的:你可以通过train方法在包中设置参数。

所以你可以通过以下方式提供助推器方法:

clf = xgb.XGBClassifier()
params = {"booster" : "gbtree"}
xgb.train(params, ...)