Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

XGBClassifier default parameters printed as None in Python

I am trying to use XGBClassifier in python notebook as:

from xgboost import XGBClassifier

To see the value of default parameters used I did:

XGBClassifier()

It prints the following output with None being the default value of all parameters:

XGBClassifier(base_score=None, booster=None, colsample_bylevel=None,
          colsample_bynode=None, colsample_bytree=None,
          enable_categorical=False, gamma=None, gpu_id=None,
          importance_type=None, interaction_constraints=None,
          learning_rate=None, max_delta_step=None, max_depth=None,
          min_child_weight=None, missing=nan, monotone_constraints=None,
          n_estimators=100, n_jobs=None, num_parallel_tree=None,
          predictor=None, random_state=None, reg_alpha=None,
          reg_lambda=None, scale_pos_weight=None, subsample=None,
          tree_method=None, validate_parameters=None, verbosity=None)

Can someone please tell me why all these values are None?

like image 411
AMAN SANGAL Avatar asked Sep 13 '26 09:09

AMAN SANGAL


1 Answers

Somewhat unfortunately, those are the default parameters for the python class (source). The real default hyperparameters are stored in the C++ code that the python wrapper calls on.

like image 100
Ben Reiniger Avatar answered Sep 15 '26 23:09

Ben Reiniger



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!