2017-05-19 2 views
1

J'ai installé le XGBoost. Ce sont les paramètres qu'il affiche lorsque vous effectuez: impression (xgboost.XGBClassifier())Pourquoi il n'y a pas de paramètre Booster dans l'installation de XGBoost, alors que c'est dans la documentation?

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) 

Mais dans la documentation Scikit-Learn API, un paramètre "booster" » apparaît Pourquoi je ne l'ai pas

.?
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) 

EDIT

Voici ce que je reçois:

--------------------------------------------------------------------------- 
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' 

Répondre

0

IMHO c'est une mauvaise incohérence, vous devriez ouvrir un problème pour. Mais les classes python XGB sont plus ou moins conçues autour du fait que vous pouvez définir des paramètres dans un sac à travers la méthode train.

Alors là, vous pouvez effectivement fournir la méthode de rappel via:

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

Eh bien, si j'ajoute le paramètre que je reçois cette erreur: TypeError: __init __() a obtenu un argument de mot-clé inattendu 'booster'. Des idées? – Aizzaac

+0

@Aizzaac pouvez-vous ajouter le stacktrace s'il vous plaît? Difficile de suivre le code pour moi autrement. –

+0

Je l'ai ajouté sur EDIT. – Aizzaac