docstr: A special Model class for handling XGBoost algorithms. Consider documentation to be
  identical to that of :class:`Model`, except where noted
  
  Parameters
  ----------
  model_initializer: :class:`xgboost.sklearn.XGBClassifier`, or :class:`xgboost.sklearn.XGBRegressor`
      See :class:`Model`
  initialization_params: See :class:`Model`
  extra_params: Dict, default={}
      Useful keys: ['fit', 'predict']. If 'fit' is a key with a dict value, its contents will
      be provided to :meth:`xgboost.sklearn.XGBModel.fit`, with the exception of the
      following: ['X', 'y']. If any of the aforementioned keys are in
      :attr:`extra_params['fit']` or if :attr:`extra_params['fit']` is provided, but is not a
      dict, an Exception will be raised
  train_input: See :class:`Model`
  train_target: See :class:`Model`
  validation_input: See :class:`Model`
  validation_target: See :class:`Model`
  do_predict_proba: See :class:`Model`
  target_metric: Tuple
      Used to determine the 'eval_metric' argument to :meth:`xgboost.sklearn.XGBModel.fit`.
      See the documentation for :attr:`XGBoostModel.extra_params` for more information
  metrics: See :class:`Model`
docstr_tok: ["A","special","Model","class","for","handling","XGBoost","algorithms",".","Consider","documentation","to","be","identical","to","that","of",":","class",":","`","Model","`",",","except","where","noted","Parameters","--","--","--","--","--","model_initializer",":",":","class",":","`","xgboost.sklearn.XGBClassifier","`",",","or",":","class",":","`","xgboost.sklearn.XGBRegressor","`","See",":","class",":","`","Model","`","initialization_params",":","See",":","class",":","`","Model","`","extra_params",":","Dict",",","default=","{","}","Useful","keys",":","[","'fit","'",",","'predict","'","]",".","If","'fit","'","is","a","key","with","a","dict","value",",","its","contents","will","be","provided","to",":","meth",":","`","xgboost.sklearn.XGBModel.fit","`",",","with","the","exception","of","the","following",":","[","'","X","'",",","'","y","'","]",".","If","any","of","the","aforementioned","keys","are","in",":","attr",":","`","extra_params","[","'fit","'","]","`","or","if",":","attr",":","`","extra_params","[","'fit","'","]","`","is","provided",",","but","is","not","a","dict",",","an","Exception","will","be","raised","train_input",":","See",":","class",":","`","Model","`","train_target",":","See",":","class",":","`","Model","`","validation_input",":","See",":","class",":","`","Model","`","validation_target",":","See",":","class",":","`","Model","`","do_predict_proba",":","See",":","class",":","`","Model","`","target_metric",":","Tuple","Used","to","determine","the","'eval_metric","'","argument","to",":","meth",":","`","xgboost.sklearn.XGBModel.fit","`",".","See","the","documentation","for",":","attr",":","`","XGBoostModel.extra_params","`","for","more","information","metrics",":","See",":","class",":","`","Model","`"]
code: def __init__(
      self,
      model_initializer,
      initialization_params,
      extra_params,
      train_input=None,
      train_target=None,
      validation_input=None,
      validation_target=None,
      do_predict_proba=False,
      target_metric=None,
      metrics=None,
  ):
      """A special Model class for handling XGBoost algorithms. Consider documentation to be
      identical to that of :class:`Model`, except where noted
  
      Parameters
      ----------
      model_initializer: :class:`xgboost.sklearn.XGBClassifier`, or :class:`xgboost.sklearn.XGBRegressor`
          See :class:`Model`
      initialization_params: See :class:`Model`
      extra_params: Dict, default={}
          Useful keys: ['fit', 'predict']. If 'fit' is a key with a dict value, its contents will
          be provided to :meth:`xgboost.sklearn.XGBModel.fit`, with the exception of the
          following: ['X', 'y']. If any of the aforementioned keys are in
          :attr:`extra_params['fit']` or if :attr:`extra_params['fit']` is provided, but is not a
          dict, an Exception will be raised
      train_input: See :class:`Model`
      train_target: See :class:`Model`
      validation_input: See :class:`Model`
      validation_target: See :class:`Model`
      do_predict_proba: See :class:`Model`
      target_metric: Tuple
          Used to determine the 'eval_metric' argument to :meth:`xgboost.sklearn.XGBModel.fit`.
          See the documentation for :attr:`XGBoostModel.extra_params` for more information
      metrics: See :class:`Model`"""
      if model_initializer.__name__ not in (
          "XGBClassifier",
          "XGBRegressor",
      ):
          raise ValueError(
              f"Invalid `model_initializer`: {model_initializer}"
          )
  
      super().__init__(
          model_initializer,
          initialization_params,
          extra_params,
          train_input=train_input,
          train_target=train_target,
          validation_input=validation_input,
          validation_target=validation_target,
          do_predict_proba=do_predict_proba,
          target_metric=target_metric,
          metrics=metrics,
      )
  
imports: from hyperparameter_hunter.sentinels import locate_sentinels
  from hyperparameter_hunter.settings import G
  from contextlib import suppress
  import inspect
  import sys
  import warnings
  import sklearn.utils
label_desc: Use image node_id 1 to create a new XGBoostModel object from inherited base classes: Model with example: obj = XGBoostModel(model_initializer, initialization_params, extra_params, train_input, train_target, validation_input, validation_target, do_predict_proba, target_metric, metrics)