class_docstr: The XGBoost surrogate predicts a model's performance on a new dataset by
  using independent XGBoost regressors for each performance metric.
  
  For this, models and hyperparameters are converted to feature vectors.
class_docstr_tok: ["The","XGBoost","surrogate","predicts","a","model","'s","performance","on","a","new","dataset","by","using","independent","XGBoost","regressors","for","each","performance","metric",".","For","this",",","models","and","hyperparameters","are","converted","to","feature","vectors","."]
code: def required_cpus(self) -> int:
      return 4
  
file_path: gluonts/src/gluonts/nursery/tsbench/src/tsbench/surrogate/xgboost.py
imports: from typing import List, Literal, Optional
  import numpy
  import numpy.typing
  from sklearn.multioutput import MultiOutputRegressor
  from sklearn.preprocessing import LabelEncoder
  from xgboost.sklearn import XGBRanker, XGBRegressor
  from tsbench.config import Config, ModelConfig
  from tsbench.evaluations.tracking import ModelTracker
  from ._base import DatasetFeaturesMixin, OutputNormalization, Surrogate
  from ._factory import register_surrogate
  from .transformers import ConfigTransformer
label_desc: Use image node_id 2 for calling the XGBoostSurrogate obj's underlying member method code with example usage: obj.required_cpus() and returns: int