Allow sklearn grid search over parameters specified as kwargs (#3791)
This commit is contained in:
@@ -181,6 +181,27 @@ class XGBModel(XGBModelBase):
|
||||
raise XGBoostError('need to call fit or load_model beforehand')
|
||||
return self._Booster
|
||||
|
||||
def set_params(self, **params):
|
||||
"""Set the parameters of this estimator.
|
||||
Modification of the sklearn method to allow unknown kwargs. This allows using
|
||||
the full range of xgboost parameters that are not defined as member variables
|
||||
in sklearn grid search.
|
||||
Returns
|
||||
-------
|
||||
self
|
||||
"""
|
||||
if not params:
|
||||
# Simple optimization to gain speed (inspect is slow)
|
||||
return self
|
||||
|
||||
for key, value in params.items():
|
||||
if hasattr(self, key):
|
||||
setattr(self, key, value)
|
||||
else:
|
||||
self.kwargs[key] = value
|
||||
|
||||
return self
|
||||
|
||||
def get_params(self, deep=False):
|
||||
"""Get parameters."""
|
||||
params = super(XGBModel, self).get_params(deep=deep)
|
||||
|
||||
Reference in New Issue
Block a user