catboost API Reference

Full documentation for catboost (1.2.10)

catboost.CatBoost
Python Library Documentation: class CatBoost in module catboost.core

class CatBoost(_CatBoostBase)
 |  CatBoost(params=None)
 |
 |  CatBoost model. Contains training, prediction and evaluation methods.
 |
 |  Method resolution order:
 |      CatBoost
 |      _CatBoostBase
 |      builtins.object
 |
 |  Methods defined here:
 |
 |  __init__(self, params=None)
 |      Initialize the CatBoost.
 |
 |      Parameters
 |      ----------
 |      params : dict
 |          Parameters for CatBoost.
 |          If  None, all params are set to their defaults.
 |          If  dict, overriding parameters present in dict.
 |
 |  calc_feature_statistics(self, data, target=None, feature=None, prediction_type=None, cat_feature_values=None, plot=True, max_cat_features_on_plot=10, thread_count=-1, plot_file=None)
 |      Get statistics for the feature using the model, dataset and target.
 |      To use this function, you should install plotly.
 |
 |      The catboost model has borders for the float features used in it. The borders divide
 |      feature values into bins, and the model's prediction depends on the number of the bin where the
 |      feature value falls in.
 |
 |      For float features this function takes model's borders and computes
 |      1) Mean target value for every bin;
 |      2) Mean model prediction for every bin;
 |      3) The number of objects in dataset which fall into each bin;
 |      4) Predictions on varying feature. For every object, varies the feature value
 |      so that it falls into bin #0, bin #1, ... and counts model predictions.
 |      Then counts average prediction for each bin.
 |
 |      For categorical features (only one-hot supported) does the same, but takes feature values
 |      provided in cat_feature_values instead of borders.
 |
 |      Parameters
 |      ----------
 |      data: numpy.ndarray or pandas.DataFrame or polars.DataFrame or catboost. Pool or dict {'pool_name': pool} if you want several pools
 |          Data to compute statistics on
 |      target: numpy.ndarray or pandas.Series or polars.Series or dict {'pool_name': target} if you want several pools or None
 |          Target corresponding to data
 |          Use only if data is not catboost.Pool.
 |      feature: None, int, string, or list of int or strings
 |          Features indexes or names in pd.DataFrame for which you want to get statistics.
 |          None, if you need statistics for all features.
 |      prediction_type: str
 |          Prediction type used for counting mean_prediction: 'Class', 'Probability' or 'RawFormulaVal'.
 |          If not specified, is derived from the model.
 |      cat_feature_values: list or numpy.ndarray or pandas.Series or
 |                          dict: int or string to list or numpy.ndarray or pandas.Series
 |          Contains categorical feature values you need to get statistics on.
 |          Use dict, when parameter 'feature' is a list to specify cat values for different features.
 |          When parameter 'feature' is int or str, you can just pass list of cat values.
 |      plot: bool
 |          Plot statistics.
 |      max_cat_features_on_plot: int
 |          If categorical feature takes more than max_cat_features_on_plot different unique values,
 |          output result on several plots, not more than max_cat_features_on_plot feature values on each.
 |          Used only if plot=True or plot_file is not None.
 |      thread_count: int
 |          Number of threads to use for getting statistics.
 |      plot_file: str
 |          Output file for plot statistics.
 |
 |      Returns
 |      -------
 |      dict if parameter 'feature' is int or string, else dict of dicts:
 |          For each unique feature contain
 |          python dict with binarized feature statistics.
 |          For float feature, includes
 |                  'borders' -- borders for the specified feature in model
 |                  'binarized_feature' -- numbers of bins where feature values fall
 |                  'mean_target' -- mean value of target over each bin
 |                  'mean_prediction' -- mean value of model prediction over each bin
 |                  'objects_per_bin' -- number of objects per bin
 |                  'predictions_on_varying_feature' -- averaged over dataset predictions for
 |                  varying feature (see above)
 |          For one-hot feature, returns the same, but with 'cat_values' instead of 'borders'
 |
 |  calc_leaf_indexes(self, data, ntree_start=0, ntree_end=0, thread_count=-1, verbose=False)
 |      Returns indexes of leafs to which objects from pool are mapped by model trees.
 |
 |      Parameters
 |      ----------
 |      data : catboost.Pool or list of features or list of lists or numpy.ndarray or pandas.DataFrame or pandas.Series
 |              or polars.DataFrame or polars.Series or catboost.FeaturesData
 |          Data to apply model on.
 |          If data is a simple list (not list of lists) or a one-dimensional numpy.ndarray it is interpreted
 |          as a list of features for a single object.
 |
 |      ntree_start: int, optional (default=0)
 |          Index of first tree for which leaf indexes will be calculated (zero-based indexing).
 |
 |      ntree_end: int, optional (default=0)
 |          Index of the tree after last tree for which leaf indexes will be calculated (zero-based indexing).
 |          If value equals to 0 this parameter is ignored and ntree_end equal to tree_count_.
 |
 |      thread_count : int (default=-1)
 |          The number of threads to use when applying the model.
 |          Allows you to optimize the speed of execution. This parameter doesn't affect results.
 |          If -1, then the number of threads is set to the number of CPU cores.
 |
 |      verbose : bool (default=False)
 |          Enable debug logging level.
 |
 |      Returns
 |      -------
 |      leaf_indexes : 2-dimensional numpy.ndarray of numpy.uint32 with shape (object count, ntree_end - ntree_start).
 |          i-th row is an array of leaf indexes for i-th object.
 |
 |  compare(self, model, data, metrics, ntree_start=0, ntree_end=0, eval_period=1, thread_count=-1, tmp_dir=None, plot_file=None, log_cout=None, log_cerr=None)
 |      Draw train and eval errors in Jupyter notebook for both models
 |
 |      Parameters
 |      ----------
 |      model: CatBoost model
 |          Another model to draw metrics
 |
 |      data : catboost.Pool
 |          Data to evaluate metrics on.
 |
 |      metrics : list of strings or catboost.metrics.BuiltinMetric
 |          List of evaluated metrics.
 |
 |      ntree_start: int, optional (default=0)
 |          Model is applied on the interval [ntree_start, ntree_end) (zero-based indexing).
 |
 |      ntree_end: int, optional (default=0)
 |          Model is applied on the interval [ntree_start, ntree_end) (zero-based indexing).
 |          If value equals to 0 this parameter is ignored and ntree_end equal to tree_count_.
 |
 |      eval_period: int, optional (default=1)
 |          Model is applied on the interval [ntree_start, ntree_end) with the step eval_period (zero-based indexing).
 |
 |      thread_count : int (default=-1)
 |          The number of threads to use when applying the model.
 |          Allows you to optimize the speed of execution. This parameter doesn't affect results.
 |          If -1, then the number of threads is set to the number of CPU cores.
 |
 |      tmp_dir : string or os.PathLike (default=None)
 |          The name of the temporary directory for intermediate results.
 |          If None, then the name will be generated.
 |
 |      plot_file : file-like or str, optional (default=None)
 |          If not None, save eval error graphs to file
 |
 |      log_cout: output stream or callback for logging (default=None)
 |          If None is specified, sys.stdout is used
 |
 |      log_cerr: error stream or callback for logging (default=None)
 |          If None is specified, sys.stderr is used
 |
 |  create_metric_calcer(self, metrics, ntree_start=0, ntree_end=0, eval_period=1, thread_count=-1, tmp_dir=None)
 |      Create batch metric calcer. Could be used to aggregate metric on several pools
 |      Parameters
 |      ----------
 |          Same as in eval_metrics except data
 |      Returns
 |      -------
 |          BatchMetricCalcer object
 |
 |      Usage example
 |      -------
 |      # Large dataset is partitioned into parts [part1, part2]
 |      model.fit(params)
 |      batch_calcer = model.create_metric_calcer(['Logloss'])
 |      batch_calcer.add(part1)
 |      batch_calcer.add(part2)
 |      metrics = batch_calcer.eval_metrics()
 |
 |  drop_unused_features(self)
 |      Drop unused features information from model
 |
 |  eval_metrics(self, data, metrics, ntree_start=0, ntree_end=0, eval_period=1, thread_count=-1, tmp_dir=None, plot=False, plot_file=None, log_cout=None, log_cerr=None)
 |      Calculate metrics.
 |
 |      Parameters
 |      ----------
 |      data : catboost.Pool
 |          Data to evaluate metrics on.
 |
 |      metrics : list of strings or catboost.metrics.BuiltinMetric
 |          List of evaluated metrics.
 |
 |      ntree_start: int, optional (default=0)
 |          Model is applied on the interval [ntree_start, ntree_end) (zero-based indexing).
 |
 |      ntree_end: int, optional (default=0)
 |          Model is applied on the interval [ntree_start, ntree_end) (zero-based indexing).
 |          If value equals to 0 this parameter is ignored and ntree_end equal to tree_count_.
 |
 |      eval_period: int, optional (default=1)
 |          Model is applied on the interval [ntree_start, ntree_end) with the step eval_period (zero-based indexing).
 |
 |      thread_count : int (default=-1)
 |          The number of threads to use when applying the model.
 |          Allows you to optimize the speed of execution. This parameter doesn't affect results.
 |          If -1, then the number of threads is set to the number of CPU cores.
 |
 |      tmp_dir : string or os.PathLike (default=None)
 |          The name of the temporary directory for intermediate results.
 |          If None, then the name will be generated.
 |
 |      plot : bool, optional (default=False)
 |          If True, draw train and eval error in Jupyter notebook
 |
 |      plot_file : file-like or str, optional (default=None)
 |          If not None, save train and eval error graphs to file
 |
 |      log_cout: output stream or callback for logging (default=None)
 |          If None is specified, sys.stdout is used
 |
 |      log_cerr: error stream or callback for logging (default=None)
 |          If None is specified, sys.stderr is used
 |
 |      Returns
 |      -------
 |      prediction : dict: metric -> array of shape [(ntree_end - ntree_start) / eval_period]
 |
 |  fit(self, X, y=None, cat_features=None, text_features=None, embedding_features=None, pairs=None, graph=None, sample_weight=None, group_id=None, group_weight=None, subgroup_id=None, pairs_weight=None, baseline=None, use_best_model=None, eval_set=None, verbose=None, logging_level=None, plot=False, plot_file=None, column_description=None, verbose_eval=None, metric_period=None, silent=None, early_stopping_rounds=None, save_snapshot=None, snapshot_file=None, snapshot_interval=None, init_model=None, callbacks=None, log_cout=None, log_cerr=None)
 |      Fit the CatBoost model.
 |
 |      Parameters
 |      ----------
 |      X : catboost.Pool or list or numpy.ndarray or pandas.DataFrame or pandas.Series or polars.DataFrame
 |           or string.
 |          If not catboost.Pool or catboost.FeaturesData it must be 2 dimensional Feature matrix
 |           or string - file with dataset.
 |
 |           Must be non-empty (contain > 0 objects)
 |
 |      y : list or numpy.ndarray or pandas.DataFrame or pandas.Series or polars.DataFrame or polars.Series, optional (default=None)
 |          Labels of the training data.
 |          If not None, can be a single- or two- dimensional array with either:
 |            - numerical values - for regression (including multiregression), ranking and binary classification problems
 |            - class labels (boolean, integer or string) - for classification (including multiclassification) problems
 |          Use only if X is not catboost.Pool and does not point to a file.
 |
 |      cat_features : list or numpy.ndarray, optional (default=None)
 |          If not None, giving the list of Categ columns indices.
 |          Use only if X is not catboost.Pool and not catboost.FeaturesData
 |
 |      text_features: list or numpy.ndarray, optional (default=None)
 |          If not none, giving the list of Text columns indices.
 |          Use only if X is not catboost.Pool and not catboost.FeaturesData
 |
 |      embedding_features: list or numpy.ndarray, optional (default=None)
 |          If not none, giving the list of Embedding columns indices.
 |          Use only if X is not catboost.Pool and not catboost.FeaturesData
 |
 |      pairs : list or numpy.ndarray or pandas.DataFrame or polars.DataFrame
 |          The pairs description.
 |          If list or numpy.ndarrays or pandas.DataFrame or polars.DataFrame, giving 2 dimensional.
 |          The shape should be Nx2, where N is the pairs' count. The first element of the pair is
 |          the index of the winner object in the training set. The second element of the pair is
 |          the index of the loser object in the training set.
 |
 |      graph : list or numpy.ndarray or pandas.DataFrame or polars.DataFrame
 |          The graph edges list description.
 |          If list or numpy.ndarrays or pandas.DataFrame, giving 2 dimensional.
 |
 |      sample_weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series or polars.Series, optional (default=None)
 |          Instance weights, 1 dimensional array like.
 |
 |      group_id : list or numpy.ndarray or polars.Series, optional (default=None)
 |          group id for each instance.
 |          If not None, giving 1 dimensional array like data.
 |          Use only if X is not catboost.Pool.
 |
 |      group_weight : list or numpy.ndarray or polars.Series, optional (default=None)
 |          Group weight for each instance.
 |          If not None, giving 1 dimensional array like data.
 |
 |      subgroup_id : list or numpy.ndarray or polars.Series, optional (default=None)
 |          subgroup id for each instance.
 |          If not None, giving 1 dimensional array like data.
 |          Use only if X is not catboost.Pool.
 |
 |      pairs_weight : list or numpy.ndarray or polars.Series, optional (default=None)
 |          Weight for each pair.
 |          If not None, giving 1 dimensional array like pairs.
 |
 |      baseline : list or numpy.ndarray or polars.Series or polars.DataFrame, optional (default=None)
 |          If not None, giving 2 dimensional array like data.
 |          Use only if X is not catboost.Pool.
 |
 |      use_best_model : bool, optional (default=None)
 |          Flag to use best model
 |
 |      eval_set : catboost.Pool or list of catboost.Pool or tuple (X, y) or list [(X, y)], optional (default=None)
 |          Validation dataset or datasets for metrics calculation and possibly early stopping.
 |
 |      logging_level : string, optional (default=None)
 |          Possible values:
 |              - 'Silent'
 |              - 'Verbose'
 |              - 'Info'
 |              - 'Debug'
 |
 |      metric_period : int
 |          Frequency of evaluating metrics.
 |
 |      verbose : bool or int
 |          If verbose is bool, then if set to True, logging_level is set to Verbose,
 |          if set to False, logging_level is set to Silent.
 |          If verbose is int, it determines the frequency of writing metrics to output and
 |          logging_level is set to Verbose.
 |
 |      silent : bool
 |          If silent is True, logging_level is set to Silent.
 |          If silent is False, logging_level is set to Verbose.
 |
 |      verbose_eval : bool or int
 |          Synonym for verbose. Only one of these parameters should be set.
 |
 |      plot : bool, optional (default=False)
 |          If True, draw train and eval error in Jupyter notebook
 |
 |      plot_file : file-like or str, optional (default=None)
 |          If not None, save train and eval error graphs to file
 |
 |      early_stopping_rounds : int
 |          Activates Iter overfitting detector with od_wait parameter set to early_stopping_rounds.
 |
 |      save_snapshot : bool, [default=None]
 |          Enable progress snapshotting for restoring progress after crashes or interruptions
 |
 |      snapshot_file : string or os.PathLike, [default=None]
 |          Learn progress snapshot file path, if None will use default filename
 |
 |      snapshot_interval: int, [default=600]
 |          Interval between saving snapshots (seconds)
 |
 |      init_model : CatBoost class or string or os.PathLike, [default=None]
 |          Continue training starting from the existing model.
 |          If this parameter is a string or os.PathLike, load initial model from the path specified by this string.
 |
 |      callbacks : list, optional (default=None)
 |          List of callback objects that are applied at end of each iteration.
 |
 |      log_cout: output stream or callback for logging (default=None)
 |          If None is specified, sys.stdout is used
 |
 |      log_cerr: error stream or callback for logging (default=None)
 |          If None is specified, sys.stderr is used
 |
 |      Returns
 |      -------
 |      model : CatBoost
 |
 |  get_all_params(self)
 |      Get all params (specified by user and default params) that were set in training from CatBoost model.
 |      Full parameters documentation could be found here: https://catboost.ai/docs/concepts/python-reference_parameters-list.html
 |
 |      Returns
 |      -------
 |      result : dict
 |          Dictionary of {param_key: param_value}.
 |
 |  get_borders(self)
 |      Return map feature_index: borders for float features.
 |
 |  get_cat_feature_indices(self)
 |
 |  get_embedding_feature_indices(self)
 |
 |  get_feature_importance(self, data=None, type=<EFstrType.FeatureImportance: 2>, prettified=False, thread_count=-1, verbose=False, fstr_type=None, shap_mode='Auto', model_output='Raw', interaction_indices=None, shap_calc_type='Regular', reference_data=None, sage_n_samples=128, sage_batch_size=512, sage_detect_convergence=True, log_cout=None, log_cerr=None)
 |      Parameters
 |      ----------
 |      data :
 |          Data to get feature importance.
 |          If type in ('LossFunctionChange', 'ShapValues', 'ShapInteractionValues') data must of Pool type.
 |              For every object in this dataset feature importances will be calculated.
 |          if type == 'SageValues' data must of Pool type.
 |              For every feature in this dataset importance will be calculated.
 |          If type == 'PredictionValuesChange', data is None or a dataset of Pool type
 |              Dataset specification is needed only in case if the model does not contain leaf weight information (trained with CatBoost v < 0.9).
 |          If type == 'PredictionDiff' data must contain a matrix of feature values of shape (2, n_features).
 |              Possible types are catboost.Pool or list of lists or numpy.ndarray or pandas.DataFrame or pandas.Series
 |              or polars.DataFrame or catboost.FeaturesData or pandas.SparseDataFrame or scipy.sparse.spmatrix
 |          If type == 'FeatureImportance'
 |              See 'PredictionValuesChange' for non-ranking metrics and 'LossFunctionChange' for ranking metrics.
 |          If type == 'Interaction'
 |              This parameter is not used.
 |
 |      type : EFstrType or string (converted to EFstrType), optional
 |                  (default=EFstrType.FeatureImportance)
 |          Possible values:
 |              - PredictionValuesChange
 |                  Calculate score for every feature.
 |              - LossFunctionChange
 |                  Calculate score for every feature by loss.
 |              - FeatureImportance
 |                  PredictionValuesChange for non-ranking metrics and LossFunctionChange for ranking metrics
 |              - ShapValues
 |                  Calculate SHAP Values for every object.
 |              - ShapInteractionValues
 |                  Calculate SHAP Interaction Values between each pair of features for every object
 |              - Interaction
 |                  Calculate pairwise score between every feature.
 |              - PredictionDiff
 |                  Calculate most important features explaining difference in predictions for a pair of documents.
 |              - SageValues
 |                  Calculate SAGE value for every feature
 |
 |      prettified : bool, optional (default=False)
 |          change returned data format to the list of (feature_id, importance) pairs sorted by importance
 |
 |      thread_count : int, optional (default=-1)
 |          Number of threads.
 |          If -1, then the number of threads is set to the number of CPU cores.
 |
 |      verbose : bool or int
 |          If False, then evaluation is not logged. If True, then each possible iteration is logged.
 |          If a positive integer, then it stands for the size of batch N. After processing each batch, print progress
 |          and remaining time.
 |
 |      fstr_type : string, deprecated, use type instead
 |
 |      shap_mode : string, optional (default="Auto")
 |          used only for ShapValues type
 |          Possible values:
 |              - "Auto"
 |                  Use direct SHAP Values calculation only if data size is smaller than average leaves number
 |                  (the best of two strategies below is chosen).
 |              - "UsePreCalc"
 |                  Calculate SHAP Values for every leaf in preprocessing. Final complexity is
 |                  O(NT(D+F))+O(TL^2 D^2) where N is the number of documents(objects), T - number of trees,
 |                  D - average tree depth, F - average number of features in tree, L - average number of leaves in tree
 |                  This is much faster (because of a smaller constant) than direct calculation when N >> L
 |              - "NoPreCalc"
 |                  Use direct SHAP Values calculation calculation with complexity O(NTLD^2). Direct algorithm
 |                  is faster when N < L (algorithm from https://arxiv.org/abs/1802.03888)
 |
 |      shap_calc_type : EShapCalcType or string, optional (default="Regular")
 |          used only for ShapValues type
 |          Possible values:
 |              - "Regular"
 |                  Calculate regular SHAP values
 |              - "Approximate"
 |                  Calculate approximate SHAP values
 |              - "Exact"
 |                  Calculate exact SHAP values
 |
 |      interaction_indices : list of int or string (feature_idx_1, feature_idx_2), optional (default=None)
 |          used only for ShapInteractionValues type
 |          Calculate SHAP Interaction Values between pair of features feature_idx_1 and feature_idx_2 for every object
 |
 |      reference_data: catboost.Pool or None
 |          Reference data for Independent Tree SHAP values from https://arxiv.org/abs/1905.04610v1
 |          if type == 'ShapValues' and reference_data is not None, then Independent Tree SHAP values are calculated
 |
 |      sage_n_samples: int, optional (default=32)
 |          Number of outer samples used in SAGE values approximation algorithm
 |      sage_batch_size: int, optional (default=min(512, number of samples in dataset))
 |          Number of samples used on each step of SAGE values approximation algorithm
 |      sage_detect_convergence: bool, optional (default=False)
 |          If set True, sage values calculation will be stopped either when sage values converge
 |          or when sage_n_samples iterations of algorithm pass
 |
 |      log_cout: output stream or callback for logging (default=None)
 |          If None is specified, sys.stdout is used
 |
 |      log_cerr: error stream or callback for logging (default=None)
 |          If None is specified, sys.stderr is used
 |
 |      Returns
 |      -------
 |      depends on type:
 |          - FeatureImportance
 |              See PredictionValuesChange for non-ranking metrics and LossFunctionChange for ranking metrics.
 |          - PredictionValuesChange, LossFunctionChange, PredictionDiff, SageValues with prettified=False (default)
 |              list of length [n_features] with feature_importance values (float) for feature
 |          - PredictionValuesChange, LossFunctionChange, PredictionDiff, SageValues with prettified=True
 |              list of length [n_features] with (feature_id (string), feature_importance (float)) pairs, sorted by feature_importance in descending order
 |          - ShapValues
 |              np.ndarray of shape (n_objects, n_features + 1) with Shap values (float) for (object, feature).
 |              In case of multiclass the returned value is np.ndarray of shape
 |              (n_objects, classes_count, n_features + 1). For each object it contains Shap values (float).
 |              Values are calculated for RawFormulaVal predictions.
 |          - ShapInteractionValues
 |              np.ndarray of shape (n_objects, n_features + 1, n_features + 1) with Shap interaction values (float) for (object, feature(i), feature(j)).
 |              In case of multiclass the returned value is np.ndarray of shape
 |              (n_objects, classes_count, n_features + 1, n_features + 1). For each object it contains Shap interaction values (float).
 |              Values are calculated for RawFormulaVal predictions.
 |          - Interaction
 |              list of length [n_features] of 3-element lists of (first_feature_index, second_feature_index, interaction_score (float))
 |
 |  get_object_importance(self, pool, train_pool, top_size=-1, type='Average', update_method='SinglePoint', importance_values_sign='All', thread_count=-1, verbose=False, ostr_type=None, log_cout=None, log_cerr=None)
 |      This is the implementation of the LeafInfluence algorithm from the following paper:
 |      https://arxiv.org/pdf/1802.06640.pdf
 |
 |      Parameters
 |      ----------
 |      pool : Pool
 |          The pool for which you want to evaluate the object importances.
 |
 |      train_pool : Pool
 |          The pool on which the model has been trained.
 |
 |      top_size : int (default=-1)
 |          Method returns the result of the top_size most important train objects.
 |          If -1, then the top size is not limited.
 |
 |      type : string, optional (default='Average')
 |          Possible values:
 |              - Average (Method returns the mean train objects scores for all input objects)
 |              - PerObject (Method returns the train objects scores for every input object)
 |
 |      importance_values_sign : string, optional (default='All')
 |          Method returns only Positive, Negative or All values.
 |          Possible values:
 |              - Positive
 |              - Negative
 |              - All
 |
 |      update_method : string, optional (default='SinglePoint')
 |          Possible values:
 |              - SinglePoint
 |              - TopKLeaves (It is posible to set top size : TopKLeaves:top=2)
 |              - AllPoints
 |          Description of the update set methods are given in section 3.1.3 of the paper.
 |
 |      thread_count : int, optional (default=-1)
 |          Number of threads.
 |          If -1, then the number of threads is set to the number of CPU cores.
 |
 |      verbose : bool or int
 |          If False, then evaluation is not logged. If True, then each possible iteration is logged.
 |          If a positive integer, then it stands for the size of batch N. After processing each batch, print progress
 |          and remaining time.
 |
 |      ostr_type : string, deprecated, use type instead
 |
 |      log_cout: output stream or callback for logging (default=None)
 |          If None is specified, sys.stdout is used
 |
 |      log_cerr: error stream or callback for logging (default=None)
 |          If None is specified, sys.stderr is used
 |
 |      Returns
 |      -------
 |      object_importances : tuple of two arrays (indices and scores) of shape = [top_size]
 |
 |  get_param(self, key)
 |      Get param value from CatBoost model.
 |
 |      Parameters
 |      ----------
 |      key : string
 |          The key to get param value from.
 |
 |      Returns
 |      -------
 |      value :
 |          The param value of the key, returns None if param do not exist.
 |
 |  get_params(self, **_unused_kwargs)
 |      Get all params from CatBoost model.
 |
 |      Returns
 |      -------
 |      result : dict
 |          Dictionary of {param_key: param_value}.
 |
 |  get_text_feature_indices(self)
 |
 |  grid_search(self, param_grid, X, y=None, cv=3, partition_random_seed=0, calc_cv_statistics=True, search_by_train_test_split=True, refit=True, shuffle=True, stratified=None, train_size=0.8, verbose=True, plot=False, plot_file=None, log_cout=None, log_cerr=None)
 |      Exhaustive search over specified parameter values for a model.
 |      After calling this method model is fitted and can be used, if not specified otherwise (refit=False).
 |
 |      Parameters
 |      ----------
 |      param_grid: dict or list of dictionaries
 |          Dictionary with parameters names (string) as keys and lists of parameter settings
 |          to try as values, or a list of such dictionaries, in which case the grids spanned by each
 |          dictionary in the list are explored.
 |          This enables searching over any sequence of parameter settings.
 |
 |      X: numpy.ndarray or pandas.DataFrame or polars.DataFrame or catboost.Pool
 |          Data to compute statistics on
 |
 |      y: list or numpy.ndarray or pandas.DataFrame or pandas.Series or polars.DataFrame or polars.Series, optional (default=None)
 |          Labels of the training data.
 |          If not None, can be a single- or two- dimensional array with either:
 |            - numerical values - for regression (including multiregression), ranking and binary classification problems
 |            - class labels (boolean, integer or string) - for classification (including multiclassification) problems
 |          Use only if X is not catboost.Pool and does not point to a file.
 |
 |      cv: int, cross-validation generator or an iterable, optional (default=None)
 |          Determines the cross-validation splitting strategy. Possible inputs for cv are:
 |          - None, to use the default 3-fold cross validation,
 |          - integer, to specify the number of folds in a (Stratified)KFold
 |          - one of the scikit-learn splitter classes
 |              (https://scikit-learn.org/stable/modules/classes.html#splitter-classes)
 |          - An iterable yielding (train, test) splits as arrays of indices.
 |
 |      partition_random_seed: int, optional (default=0)
 |          Use this as the seed value for random permutation of the data.
 |          Permutation is performed before splitting the data for cross validation.
 |          Each seed generates unique data splits.
 |          Used only when cv is None or int.
 |
 |      search_by_train_test_split: bool, optional (default=True)
 |          If True, source dataset is splitted into train and test parts, models are trained
 |          on the train part and parameters are compared by loss function score on the test part.
 |          After that, if calc_cv_statistics=true, statistics on metrics are calculated
 |          using cross-validation using best parameters and the model is fitted with these parameters.
 |
 |          If False, every iteration of grid search evaluates results on cross-validation.
 |          It is recommended to set parameter to True for large datasets, and to False for small datasets.
 |
 |      calc_cv_statistics: bool, optional (default=True)
 |          The parameter determines whether quality should be estimated.
 |          using cross-validation with the found best parameters. Used only when search_by_train_test_split=True.
 |
 |      refit: bool (default=True)
 |          Refit an estimator using the best found parameters on the whole dataset.
 |
 |      shuffle: bool, optional (default=True)
 |          Shuffle the dataset objects before parameters searching.
 |
 |      stratified: bool, optional (default=None)
 |          Perform stratified sampling. True for classification and False otherwise.
 |          Currently supported only for final cross-validation.
 |
 |      train_size: float, optional (default=0.8)
 |          Should be between 0.0 and 1.0 and represent the proportion of the dataset to include in the train split.
 |
 |      verbose: bool or int, optional (default=True)
 |          If verbose is int, it determines the frequency of writing metrics to output
 |          verbose==True is equal to verbose==1
 |          When verbose==False, there is no messages
 |
 |      plot : bool, optional (default=False)
 |          If True, draw train and eval error for every set of parameters in Jupyter notebook
 |
 |      plot_file : file-like or str, optional (default=None)
 |          If not None, save train and eval error for every set of parameters to file
 |
 |      log_cout: output stream or callback for logging (default=None)
 |          If None is specified, sys.stdout is used
 |
 |      log_cerr: error stream or callback for logging (default=None)
 |          If None is specified, sys.stderr is used
 |
 |      Returns
 |      -------
 |      dict with two fields:
 |          'params': dict of best found parameters
 |          'cv_results': dict or pandas.core.frame.DataFrame with cross-validation results
 |              columns are: test-error-mean  test-error-std  train-error-mean  train-error-std
 |
 |  iterate_leaf_indexes(self, data, ntree_start=0, ntree_end=0)
 |      Returns indexes of leafs to which objects from pool are mapped by model trees.
 |
 |      Parameters
 |      ----------
 |      data : catboost.Pool or list of features or list of lists or numpy.ndarray or pandas.DataFrame or pandas.Series
 |              or polars.DataFrame or polars.Series or catboost.FeaturesData
 |          Data to apply model on.
 |          If data is a simple list (not list of lists) or a one-dimensional numpy.ndarray it is interpreted
 |          as a list of features for a single object.
 |
 |      ntree_start: int, optional (default=0)
 |          Index of first tree for which leaf indexes will be calculated (zero-based indexing).
 |
 |      ntree_end: int, optional (default=0)
 |          Index of the tree after last tree for which leaf indexes will be calculated (zero-based indexing).
 |          If value equals to 0 this parameter is ignored and ntree_end equal to tree_count_.
 |
 |      Returns
 |      -------
 |      leaf_indexes : generator. For each object in pool yields one-dimensional numpy.ndarray of leaf indexes.
 |
 |  load_model(self, fname=None, format='cbm', stream=None, blob=None)
 |      Load model from a file, stream or blob.
 |
 |      Parameters
 |      ----------
 |      fname : string
 |          Input file name.
 |
 |  plot_partial_dependence(self, data, features, plot=True, plot_file=None, thread_count=-1)
 |      To use this function, you should install plotly.
 |      data: numpy.ndarray or pandas.DataFrame or polars.DataFrame or catboost.Pool
 |      features: int, str, list<int>, tuple<int>, list<string>, tuple<string>
 |          Float features to calculate partial dependence for. Number of features should be 1 or 2.
 |      plot: bool
 |          Plot predictions.
 |      plot_file: str
 |          Output file for plot predictions.
 |      thread_count: int
 |          Number of threads to use. If -1 use maximum available number of threads.
 |      Returns
 |      -------
 |          If number of features is one - 1d numpy array and figure with line plot.
 |          If number of features is two - 2d numpy array and figure with 2d heatmap.
 |
 |  plot_predictions(self, data, features_to_change, plot=True, plot_file=None)
 |      To use this function, you should install plotly.
 |
 |      data: numpy.ndarray or pandas.DataFrame or polars.DataFrame or catboost.Pool
 |      features_to_change: list-like with int (for indices) or str (for names) elements
 |          Numerical features indices or names in `data` for which you want to vary prediction value.
 |      plot: bool
 |          Plot predictions.
 |      plot_file: str
 |          Output file for plot predictions.
 |      Returns
 |      -------
 |          List of list of predictions for all buckets for all samples in data
 |
 |  plot_tree(self, tree_idx, pool=None)
 |
 |  predict(self, data, prediction_type='RawFormulaVal', ntree_start=0, ntree_end=0, thread_count=-1, verbose=None, task_type='CPU')
 |      Predict with data.
 |
 |      Parameters
 |      ----------
 |      data : catboost.Pool or list of features or list of lists or numpy.ndarray or pandas.DataFrame or pandas.Series
 |              or polars.DataFrame or polars.Series or catboost.FeaturesData
 |          Data to apply model on.
 |          If data is a simple list (not list of lists) or a one-dimensional numpy.ndarray it is interpreted
 |          as a list of features for a single object.
 |
 |      prediction_type : string, optional (default='RawFormulaVal')
 |          Can be:
 |          - 'RawFormulaVal' : return raw value.
 |          - 'Class' : return class label.
 |          - 'Probability' : return probability for every class.
 |          - 'Exponent' : return Exponent of raw formula value.
 |          - 'RMSEWithUncertainty': return standard deviation for RMSEWithUncertainty loss function
 |            (logarithm of the standard deviation is returned by default).
 |
 |      ntree_start: int, optional (default=0)
 |          Model is applied on the interval [ntree_start, ntree_end) (zero-based indexing).
 |
 |      ntree_end: int, optional (default=0)
 |          Model is applied on the interval [ntree_start, ntree_end) (zero-based indexing).
 |          If value equals to 0 this parameter is ignored and ntree_end equal to tree_count_.
 |
 |      thread_count : int (default=-1)
 |          The number of threads to use when applying the model.
 |          Allows you to optimize the speed of execution. This parameter doesn't affect results.
 |          If -1, then the number of threads is set to the number of CPU cores.
 |
 |      verbose : bool, optional (default=False)
 |          If True, writes the evaluation metric measured set to stderr.
 |
 |      task_type : string, [default=None]
 |          The evaluator type.
 |          Possible values:
 |              - 'CPU'
 |              - 'GPU' (models with only numerical features are supported for now)
 |
 |      Returns
 |      -------
 |      prediction :
 |          If data is for a single object, the return value depends on prediction_type value:
 |              - 'RawFormulaVal' : return raw formula value.
 |              - 'Class' : return class label.
 |              - 'Probability' : return one-dimensional numpy.ndarray with probability for every class.
 |          otherwise numpy.ndarray, with values that depend on prediction_type value:
 |              - 'RawFormulaVal' : one-dimensional array of raw formula value for each object.
 |              - 'Class' : one-dimensional array of class label for each object.
 |              - 'Probability' : two-dimensional numpy.ndarray with shape (number_of_objects x number_of_classes)
 |                with probability for every class for each object.
 |
 |  randomized_search(self, param_distributions, X, y=None, cv=3, n_iter=10, partition_random_seed=0, calc_cv_statistics=True, search_by_train_test_split=True, refit=True, shuffle=True, stratified=None, train_size=0.8, verbose=True, plot=False, plot_file=None, log_cout=None, log_cerr=None)
 |      Randomized search on hyper parameters.
 |      After calling this method model is fitted and can be used, if not specified otherwise (refit=False).
 |
 |      In contrast to grid_search, not all parameter values are tried out,
 |      but rather a fixed number of parameter settings is sampled from the specified distributions.
 |      The number of parameter settings that are tried is given by n_iter.
 |
 |      Parameters
 |      ----------
 |      param_distributions: dict
 |          Dictionary with parameters names (string) as keys and distributions or lists of parameters to try.
 |          Distributions must provide a rvs method for sampling (such as those from scipy.stats.distributions).
 |          If a list is given, it is sampled uniformly.
 |
 |      X: numpy.ndarray or pandas.DataFrame or polars.DataFrame or catboost.Pool
 |          Data to compute statistics on
 |
 |      y: list or numpy.ndarray or pandas.DataFrame or pandas.Series or polars.DataFrame or polars.Series, optional (default=None)
 |          Labels of the training data.
 |          If not None, can be a single- or two- dimensional array with either:
 |            - numerical values - for regression (including multiregression), ranking and binary classification problems
 |            - class labels (boolean, integer or string) - for classification (including multiclassification) problems
 |          Use only if X is not catboost.Pool and does not point to a file.
 |
 |      cv: int, cross-validation generator or an iterable, optional (default=None)
 |          Determines the cross-validation splitting strategy. Possible inputs for cv are:
 |          - None, to use the default 3-fold cross validation,
 |          - integer, to specify the number of folds in a (Stratified)KFold
 |          - one of the scikit-learn splitter classes
 |              (https://scikit-learn.org/stable/modules/classes.html#splitter-classes)
 |          - An iterable yielding (train, test) splits as arrays of indices.
 |
 |      n_iter: int
 |          Number of parameter settings that are sampled.
 |          n_iter trades off runtime vs quality of the solution.
 |
 |      partition_random_seed: int, optional (default=0)
 |          Use this as the seed value for random permutation of the data.
 |          Permutation is performed before splitting the data for cross validation.
 |          Each seed generates unique data splits.
 |          Used only when cv is None or int.
 |
 |      search_by_train_test_split: bool, optional (default=True)
 |          If True, source dataset is splitted into train and test parts, models are trained
 |          on the train part and parameters are compared by loss function score on the test part.
 |          After that, if calc_cv_statistics=true, statistics on metrics are calculated
 |          using cross-validation using best parameters and the model is fitted with these parameters.
 |
 |          If False, every iteration of grid search evaluates results on cross-validation.
 |          It is recommended to set parameter to True for large datasets, and to False for small datasets.
 |
 |      calc_cv_statistics: bool, optional (default=True)
 |          The parameter determines whether quality should be estimated.
 |          using cross-validation with the found best parameters. Used only when search_by_train_test_split=True.
 |
 |      refit: bool (default=True)
 |          Refit an estimator using the best found parameters on the whole dataset.
 |
 |      shuffle: bool, optional (default=True)
 |          Shuffle the dataset objects before parameters searching.
 |
 |      stratified: bool, optional (default=None)
 |          Perform stratified sampling. True for classification and False otherwise.
 |          Currently supported only for cross-validation.
 |
 |      train_size: float, optional (default=0.8)
 |          Should be between 0.0 and 1.0 and represent the proportion of the dataset to include in the train split.
 |
 |      verbose: bool or int, optional (default=True)
 |          If verbose is int, it determines the frequency of writing metrics to output
 |          verbose==True is equal to verbose==1
 |          When verbose==False, there is no messages
 |
 |      plot : bool, optional (default=False)
 |          If True, draw train and eval error for every set of parameters in Jupyter notebook
 |
 |      plot_file : file-like or str, optional (default=None)
 |          If not None, save train and eval error for every set of parameters to file
 |
 |      log_cout: output stream or callback for logging (default=None)
 |          If None is specified, sys.stdout is used
 |
 |      log_cerr: error stream or callback for logging (default=None)
 |          If None is specified, sys.stderr is used
 |
 |      Returns
 |      -------
 |      dict with two fields:
 |          'params': dict of best found parameters
 |          'cv_results': dict or pandas.core.frame.DataFrame with cross-validation results
 |              columns are: test-error-mean  test-error-std  train-error-mean  train-error-std
 |
 |  save_borders(self, fname)
 |      Save the model borders to a file.
 |
 |      Parameters
 |      ----------
 |      fname : string or os.PathLike
 |          Output file name.
 |
 |  save_model(self, fname, format='cbm', export_parameters=None, pool=None)
 |      Save the model to a file.
 |
 |      Parameters
 |      ----------
 |      fname : string
 |          Output file name.
 |      format : string
 |          Possible values:
 |              * 'cbm' for catboost binary format,
 |              * 'coreml' to export into Apple CoreML format
 |              * 'onnx' to export into ONNX-ML format
 |              * 'pmml' to export into PMML format
 |              * 'cpp' to export as C++ code
 |              * 'python' to export as Python code.
 |      export_parameters : dict
 |          Parameters for CoreML export:
 |              * prediction_type : string - either 'probability' or 'raw'
 |              * coreml_description : string
 |              * coreml_model_version : string
 |              * coreml_model_author : string
 |              * coreml_model_license: string
 |          Parameters for PMML export:
 |              * pmml_copyright : string
 |              * pmml_description : string
 |              * pmml_model_version : string
 |      pool : catboost.Pool or list or numpy.ndarray or pandas.DataFrame or pandas.Series or polars.DataFrame or catboost.FeaturesData
 |          Training pool.
 |
 |  select_features(self, X, y=None, eval_set=None, features_for_select=None, num_features_to_select=None, algorithm=None, steps=None, shap_calc_type=None, train_final_model=True, verbose=None, logging_level=None, plot=False, plot_file=None, log_cout=None, log_cerr=None, grouping=None, features_tags_for_select=None, num_features_tags_to_select=None)
 |      Select best features from pool according to loss value.
 |
 |      Parameters
 |      ----------
 |      X : catboost.Pool or list or numpy.ndarray or pandas.DataFrame or pandas.Series or polars.DataFrame
 |          If not catboost.Pool, 2 dimensional Feature matrix or string - file with dataset.
 |
 |      y : list or numpy.ndarray or pandas.DataFrame or pandas.Series or polars.DataFrame or polars.Series, optional (default=None)
 |          Labels of the training data.
 |          If not None, can be a single- or two- dimensional array with either:
 |            - numerical values - for regression (including multiregression), ranking and binary classification problems
 |            - class labels (boolean, integer or string) - for classification (including multiclassification) problems
 |          Use only if X is not catboost.Pool and does not point to a file.
 |
 |      eval_set : catboost.Pool or list of catboost.Pool or tuple (X, y) or list [(X, y)], optional (default=None)
 |          Validation dataset or datasets for metrics calculation and possibly early stopping.
 |
 |      features_for_select : str or list of feature indices, names or ranges
 |          (for grouping = Individual)
 |          Which features should participate in the selection.
 |          Format examples:
 |              - [0, 2, 3, 4, 17]
 |              - [0, "2-4", 17] (both ends in ranges are inclusive)
 |              - "0,2-4,20"
 |              - ["Name0", "Name2", "Name3", "Name4", "Name20"]
 |
 |      num_features_to_select : positive int
 |          (for grouping = Individual)
 |          How many features to select from features_for_select.
 |
 |      algorithm : EFeaturesSelectionAlgorithm or string, optional (default=RecursiveByShapValues)
 |          Which algorithm to use for features selection.
 |          Possible values:
 |              - RecursiveByPredictionValuesChange
 |                  Use prediction values change as feature strength, eliminate batch of features at once.
 |              - RecursiveByLossFunctionChange
 |                  Use loss function change as feature strength, eliminate batch of features at each step.
 |              - RecursiveByShapValues
 |                  Use shap values to estimate loss function change, eliminate features one by one.
 |
 |      steps : positive int, optional (default=1)
 |          How many steps should be performed. In other words, how many times a full model will be trained.
 |          More steps give more accurate results.
 |
 |      shap_calc_type : EShapCalcType or string, optional (default=Regular)
 |          Which method to use for calculation of shap values.
 |          Possible values:
 |              - Regular
 |                  Calculate regular SHAP values
 |              - Approximate
 |                  Calculate approximate SHAP values
 |              - Exact
 |                  Calculate exact SHAP values
 |
 |      train_final_model : bool, optional (default=True)
 |          Need to fit model with selected features.
 |
 |      verbose : bool or int
 |          If verbose is bool, then if set to True, logging_level is set to Verbose,
 |          if set to False, logging_level is set to Silent.
 |          If verbose is int, it determines the frequency of writing metrics to output and
 |          logging_level is set to Verbose.
 |
 |      logging_level : string, optional (default=None)
 |          Possible values:
 |              - 'Silent'
 |              - 'Verbose'
 |              - 'Info'
 |              - 'Debug'
 |
 |      plot : bool, optional (default=False)
 |          If True, draw train and eval error in Jupyter notebook.
 |
 |      plot_file : file-like or str, optional (default=None)
 |          If not None, save train and eval error graphs to file
 |
 |      log_cout: output stream or callback for logging (default=None)
 |          If None is specified, sys.stdout is used
 |
 |      log_cerr: error stream or callback for logging (default=None)
 |          If None is specified, sys.stderr is used
 |
 |      grouping : EFeaturesSelectionGrouping or string, optional (default=Individual)
 |          Which grouping to use for features selection.
 |          Possible values:
 |              - Individual
 |                  Select individual features
 |              - ByTags
 |                  Select feature groups (marked by tags)
 |
 |      features_tags_for_select : list of strings
 |          (for grouping = ByTags)
 |          Which features tags should participate in the selection.
 |
 |      num_features_tags_to_select : positive int
 |          (for grouping = ByTags)
 |          How many features tags to select from features_tags_for_select.
 |
 |      Returns
 |      -------
 |      dict with fields:
 |          'selected_features': list of selected features indices
 |          'eliminated_features': list of eliminated features indices
 |          'selected_features_tags': list of selected features tags (optional, present if grouping == ByTags)
 |          'eliminated_features_tags': list of selected features tags (optional, present if grouping == ByTags)
 |
 |  set_params(self, **params)
 |      Set parameters into CatBoost model.
 |
 |      Parameters
 |      ----------
 |      **params : key=value format
 |          List of key=value paris. Example: model.set_params(iterations=500, thread_count=2).
 |
 |  shrink(self, ntree_end, ntree_start=0)
 |      Shrink the model.
 |
 |      Parameters
 |      ----------
 |      ntree_end: int
 |          Leave the trees with indices from the interval [ntree_start, ntree_end) (zero-based indexing).
 |      ntree_start: int, optional (default=0)
 |          Leave the trees with indices from the interval [ntree_start, ntree_end) (zero-based indexing).
 |
 |  staged_predict(self, data, prediction_type='RawFormulaVal', ntree_start=0, ntree_end=0, eval_period=1, thread_count=-1, verbose=None)
 |      Predict target at each stage for data.
 |
 |      Parameters
 |      ----------
 |      data : catboost.Pool or list of features or list of lists or numpy.ndarray or pandas.DataFrame or pandas.Series
 |              or polars.DataFrame or polars.Series or catboost.FeaturesData
 |          Data to apply model on.
 |          If data is a simple list (not list of lists) or a one-dimensional numpy.ndarray it is interpreted
 |          as a list of features for a single object.
 |
 |      prediction_type : string, optional (default='RawFormulaVal')
 |          Can be:
 |          - 'RawFormulaVal' : return raw formula value.
 |          - 'Class' : return class label.
 |          - 'Probability' : return probability for every class.
 |          - 'RMSEWithUncertainty': return standard deviation for RMSEWithUncertainty loss function
 |            (logarithm of the standard deviation is returned by default).
 |
 |      ntree_start: int, optional (default=0)
 |          Model is applied on the interval [ntree_start, ntree_end) with the step eval_period (zero-based indexing).
 |
 |      ntree_end: int, optional (default=0)
 |          Model is applied on the interval [ntree_start, ntree_end) with the step eval_period (zero-based indexing).
 |          If value equals to 0 this parameter is ignored and ntree_end equal to tree_count_.
 |
 |      eval_period: int, optional (default=1)
 |          Model is applied on the interval [ntree_start, ntree_end) with the step eval_period (zero-based indexing).
 |
 |      thread_count : int (default=-1)
 |          The number of threads to use when applying the model.
 |          Allows you to optimize the speed of execution. This parameter doesn't affect results.
 |          If -1, then the number of threads is set to the number of CPU cores.
 |
 |      verbose : bool
 |          If True, writes the evaluation metric measured set to stderr.
 |
 |      Returns
 |      -------
 |      prediction : generator for each iteration that generates:
 |          If data is for a single object, the return value depends on prediction_type value:
 |              - 'RawFormulaVal' : return raw formula value.
 |              - 'Class' : return class label.
 |              - 'Probability' : return one-dimensional numpy.ndarray with probability for every class.
 |          otherwise numpy.ndarray, with values that depend on prediction_type value:
 |              - 'RawFormulaVal' : one-dimensional array of raw formula value for each object.
 |              - 'Class' : one-dimensional array of class label for each object.
 |              - 'Probability' : two-dimensional numpy.ndarray with shape (number_of_objects x number_of_classes)
 |                with probability for every class for each object.
 |
 |  virtual_ensembles_predict(self, data, prediction_type='VirtEnsembles', ntree_end=0, virtual_ensembles_count=10, thread_count=-1, verbose=None)
 |      Predict with data.
 |
 |      Parameters
 |      ----------
 |      data : catboost.Pool or list of features or list of lists or numpy.ndarray or pandas.DataFrame or pandas.Series
 |               or polars.DataFrame or polars.Series or catboost.FeaturesData
 |          Data to apply model on.
 |          If data is a simple list (not list of lists) or a one-dimensional numpy.ndarray it is interpreted
 |          as a list of features for a single object.
 |
 |      prediction_type : string, optional (default='RawFormulaVal')
 |          Can be:
 |          - 'VirtEnsembles': return V (virtual_ensembles_count) predictions.
 |              k-th virtEnsemle consists of trees [0, T/2] + [T/2 + T/(2V) * k, T/2 + T/(2V) * (k + 1)]  * constant.
 |          - 'TotalUncertainty': see returned predictions format in 'Returns' part
 |
 |      ntree_end: int, optional (default=0)
 |          Model is applied on the interval [ntree_start, ntree_end) (zero-based indexing).
 |          If value equals to 0 this parameter is ignored and ntree_end equal to tree_count_.
 |
 |      virtual_ensembles_count: int, optional (default=10)
 |          virtual ensembles count for 'TotalUncertainty' and 'VirtEnsembles' prediction types.
 |
 |      thread_count : int (default=-1)
 |          The number of threads to use when applying the model.
 |          Allows you to optimize the speed of execution. This parameter doesn't affect results.
 |          If -1, then the number of threads is set to the number of CPU cores.
 |
 |      verbose : bool, optional (default=False)
 |          If True, writes the evaluation metric measured set to stderr.
 |
 |      Returns
 |      -------
 |      prediction :
 |          (with V as virtual_ensembles_count and T as trees count,
 |          k-th virtEnsemle consists of trees [0, T/2] + [T/2 + T/(2V) * k, T/2 + T/(2V) * (k + 1)]  * constant)
 |          If data is for a single object, return 1-dimensional array of predictions with size depends on prediction type,
 |          otherwise return 2-dimensional numpy.ndarray with shape (number_of_objects x size depends on prediction type);
 |          Returned predictions depends on prediction type:
 |          If loss-function was RMSEWithUncertainty:
 |              - 'VirtEnsembles': [mean0, var0, mean1, var1, ..., vark-1].
 |              - 'TotalUncertainty': [mean_predict, KnowledgeUnc, DataUnc].
 |          otherwise for regression:
 |              - 'VirtEnsembles':  [mean0, mean1, ...].
 |              - 'TotalUncertainty': [mean_predicts, KnowledgeUnc].
 |          otherwise for binary classification:
 |              - 'VirtEnsembles':  [ApproxRawFormulaVal0, ApproxRawFormulaVal1, ..., ApproxRawFormulaValk-1].
 |              - 'TotalUncertainty':  [DataUnc, TotalUnc].
 |
 |  ----------------------------------------------------------------------
 |  Readonly properties defined here:
 |
 |  feature_importances_
 |
 |  ----------------------------------------------------------------------
 |  Methods inherited from _CatBoostBase:
 |
 |  __copy__(self)
 |
 |  __deepcopy__(self, _)
 |
 |  __eq__(self, other)
 |      Return self==value.
 |
 |  __getstate__(self)
 |      Helper for pickle.
 |
 |  __ne__(self, other)
 |      Return self!=value.
 |
 |  __repr__(self) -> str
 |      Return repr(self).
 |
 |  __setstate__(self, state)
 |
 |  __sklearn_tags__(self)
 |
 |  copy(self)
 |
 |  get_best_iteration(self)
 |
 |  get_best_score(self)
 |
 |  get_evals_result(self)
 |
 |  get_leaf_values(self)
 |      Returns
 |      -------
 |      leaf_values : 1d-array of leaf values for all trees.
 |      Value corresponding to j-th leaf of i-th tree is at position
 |      sum(get_tree_leaf_counts()[:i]) + j (leaf and tree indexing starts from zero).
 |
 |  get_leaf_weights(self)
 |      Returns
 |      -------
 |      leaf_weights : 1d-array of leaf weights for all trees.
 |      Weight of j-th leaf of i-th tree is at position
 |      sum(get_tree_leaf_counts()[:i]) + j (leaf and tree indexing starts from zero).
 |
 |  get_metadata(self)
 |
 |  get_n_features_in(self)
 |
 |  get_scale_and_bias(self)
 |
 |  get_test_eval(self)
 |
 |  get_test_evals(self)
 |
 |  get_tree_leaf_counts(self)
 |      Returns
 |      -------
 |      tree_leaf_counts : 1d-array of numpy.uint32 of size tree_count_.
 |      tree_leaf_counts[i] equals to the number of leafs in i-th tree of the ensemble.
 |
 |  is_fitted(self)
 |
 |  set_feature_names(self, feature_names)
 |      Sets feature names equal to feature_names
 |
 |      Parameters
 |      ----------
 |      feature_names: 1-d array of strings with new feature names in the same order as in pool
 |
 |  set_leaf_values(self, new_leaf_values)
 |      Sets values at tree leafs of ensemble equal to new_leaf_values.
 |
 |      Parameters
 |      ----------
 |      new_leaf_values : 1d-array with new leaf values for all trees.
 |      It's size should be equal to sum(get_tree_leaf_counts()).
 |      Value corresponding to j-th leaf of i-th tree should be at position
 |      sum(get_tree_leaf_counts()[:i]) + j (leaf and tree indexing starts from zero).
 |
 |  set_scale_and_bias(self, scale, bias)
 |
 |  ----------------------------------------------------------------------
 |  Static methods inherited from _CatBoostBase:
 |
 |  get_sklearn_estimator_xfail_checks(estimator: '_CatBoostBase') -> Dict[str, str]
 |      To pass to:
 |          For scikit-learn >= 1.6:
 |              to 'expected_failed_checks' parameter in sklearn.utils.estimator_checks.parametrize_with_checks
 |          For scikit-learn < 1.6:
 |              to '_xfail_checks' field returned by '_CatBoostBase._get_tags'.
 |
 |      This method is made static to be able to pass it to sklearn.utils.estimator_checks.parametrize_with_checks
 |
 |  ----------------------------------------------------------------------
 |  Readonly properties inherited from _CatBoostBase:
 |
 |  best_iteration_
 |
 |  best_score_
 |
 |  classes_
 |
 |  evals_result_
 |
 |  feature_names_
 |
 |  learning_rate_
 |
 |  n_features_in_
 |
 |  random_seed_
 |
 |  tree_count_
 |
 |  ----------------------------------------------------------------------
 |  Data descriptors inherited from _CatBoostBase:
 |
 |  __dict__
 |      dictionary for instance variables
 |
 |  __weakref__
 |      list of weak references to the object
 |
 |  ----------------------------------------------------------------------
 |  Data and other attributes inherited from _CatBoostBase:
 |
 |  __hash__ = None
catboost.CatBoostClassifier
Python Library Documentation: class CatBoostClassifier in module catboost.core

class CatBoostClassifier(CatBoost)
 |  CatBoostClassifier(iterations=None, learning_rate=None, depth=None, l2_leaf_reg=None, model_size_reg=None, rsm=None, loss_function=None, border_count=None, feature_border_type=None, per_float_feature_quantization=None, input_borders=None, output_borders=None, fold_permutation_block=None, od_pval=None, od_wait=None, od_type=None, nan_mode=None, counter_calc_method=None, leaf_estimation_iterations=None, leaf_estimation_method=None, thread_count=None, random_seed=None, use_best_model=None, best_model_min_trees=None, verbose=None, silent=None, logging_level=None, metric_period=None, ctr_leaf_count_limit=None, store_all_simple_ctr=None, max_ctr_complexity=None, has_time=None, allow_const_label=None, target_border=None, classes_count=None, class_weights=None, auto_class_weights=None, class_names=None, one_hot_max_size=None, random_strength=None, random_score_type=None, name=None, ignored_features=None, train_dir=None, custom_loss=None, custom_metric=None, eval_metric=None, bagging_temperature=None, save_snapshot=None, snapshot_file=None, snapshot_interval=None, fold_len_multiplier=None, used_ram_limit=None, gpu_ram_part=None, pinned_memory_size=None, allow_writing_files=None, final_ctr_computation_mode=None, approx_on_full_history=None, boosting_type=None, simple_ctr=None, combinations_ctr=None, per_feature_ctr=None, ctr_description=None, ctr_target_border_count=None, task_type=None, device_config=None, devices=None, bootstrap_type=None, subsample=None, mvs_reg=None, sampling_unit=None, sampling_frequency=None, dev_score_calc_obj_block_size=None, dev_efb_max_buckets=None, sparse_features_conflict_fraction=None, max_depth=None, n_estimators=None, num_boost_round=None, num_trees=None, colsample_bylevel=None, random_state=None, reg_lambda=None, objective=None, eta=None, max_bin=None, scale_pos_weight=None, gpu_cat_features_storage=None, data_partition=None, metadata=None, early_stopping_rounds=None, cat_features=None, grow_policy=None, min_data_in_leaf=None, min_child_samples=None, max_leaves=None, num_leaves=None, score_function=None, leaf_estimation_backtracking=None, ctr_history_unit=None, monotone_constraints=None, feature_weights=None, penalties_coefficient=None, first_feature_use_penalties=None, per_object_feature_penalties=None, model_shrink_rate=None, model_shrink_mode=None, langevin=None, diffusion_temperature=None, posterior_sampling=None, boost_from_average=None, text_features=None, tokenizers=None, dictionaries=None, feature_calcers=None, text_processing=None, embedding_features=None, callback=None, eval_fraction=None, fixed_binary_splits=None)
 |
 |  Implementation of the scikit-learn API for CatBoost classification.
 |
 |  Parameters
 |  ----------
 |  iterations : int, [default=500]
 |      Max count of trees.
 |      range: [1,+inf)
 |  learning_rate : float, [default value is selected automatically for binary classification with other parameters set to default. In all other cases default is 0.03]
 |      Step size shrinkage used in update to prevents overfitting.
 |      range: (0,1]
 |  depth : int, [default=6]
 |      Depth of a tree. All trees are the same depth.
 |      range: [1,16]
 |  l2_leaf_reg : float, [default=3.0]
 |      Coefficient at the L2 regularization term of the cost function.
 |      range: [0,+inf)
 |  model_size_reg : float, [default=None]
 |      Model size regularization coefficient.
 |      range: [0,+inf)
 |  rsm : float, [default=None]
 |      Subsample ratio of columns when constructing each tree.
 |      range: (0,1]
 |  loss_function : string or object, [default='Logloss']
 |      The metric to use in training and also selector of the machine learning
 |      problem to solve. If string, then the name of a supported metric,
 |      optionally suffixed with parameter description.
 |      If object, it shall provide methods 'calc_ders_range' or 'calc_ders_multi'.
 |  border_count : int, [default = 254 for training on CPU or 128 for training on GPU]
 |      The number of partitions in numeric features binarization. Used in the preliminary calculation.
 |      range: [1,65535] on CPU, [1,255] on GPU
 |  feature_border_type : string, [default='GreedyLogSum']
 |      The binarization mode in numeric features binarization. Used in the preliminary calculation.
 |      Possible values:
 |          - 'Median'
 |          - 'Uniform'
 |          - 'UniformAndQuantiles'
 |          - 'GreedyLogSum'
 |          - 'MaxLogSum'
 |          - 'MinEntropy'
 |  per_float_feature_quantization : list of strings, [default=None]
 |      List of float binarization descriptions.
 |      Format : described in documentation on catboost.ai
 |      Example 1: ['0:1024'] means that feature 0 will have 1024 borders.
 |      Example 2: ['0:border_count=1024', '1:border_count=1024', ...] means that two first features have 1024 borders.
 |      Example 3: ['0:nan_mode=Forbidden,border_count=32,border_type=GreedyLogSum',
 |                  '1:nan_mode=Forbidden,border_count=32,border_type=GreedyLogSum'] - defines more quantization properties for first two features.
 |  input_borders : string or os.PathLike, [default=None]
 |      input file with borders used in numeric features binarization.
 |  output_borders : string, [default=None]
 |      output file for borders that were used in numeric features binarization.
 |  fold_permutation_block : int, [default=1]
 |      To accelerate the learning.
 |      The recommended value is within [1, 256]. On small samples, must be set to 1.
 |      range: [1,+inf)
 |  od_pval : float, [default=None]
 |      Use overfitting detector to stop training when reaching a specified threshold.
 |      Can be used only with eval_set.
 |      range: [0,1]
 |  od_wait : int, [default=None]
 |      Number of iterations which overfitting detector will wait after new best error.
 |  od_type : string, [default=None]
 |      Type of overfitting detector which will be used in program.
 |      Posible values:
 |          - 'IncToDec'
 |          - 'Iter'
 |      For 'Iter' type od_pval must not be set.
 |      If None, then od_type=IncToDec.
 |  nan_mode : string, [default=None]
 |      Way to process missing values for numeric features.
 |      Possible values:
 |          - 'Forbidden' - raises an exception if there is a missing value for a numeric feature in a dataset.
 |          - 'Min' - each missing value will be processed as the minimum numerical value.
 |          - 'Max' - each missing value will be processed as the maximum numerical value.
 |      If None, then nan_mode=Min.
 |  counter_calc_method : string, [default=None]
 |      The method used to calculate counters for dataset with Counter type.
 |      Possible values:
 |          - 'PrefixTest' - only objects up to current in the test dataset are considered
 |          - 'FullTest' - all objects are considered in the test dataset
 |          - 'SkipTest' - Objects from test dataset are not considered
 |          - 'Full' - all objects are considered for both learn and test dataset
 |      If None, then counter_calc_method=PrefixTest.
 |  leaf_estimation_iterations : int, [default=None]
 |      The number of steps in the gradient when calculating the values in the leaves.
 |      If None, then leaf_estimation_iterations=1.
 |      range: [1,+inf)
 |  leaf_estimation_method : string, [default=None]
 |      The method used to calculate the values in the leaves.
 |      Possible values:
 |          - 'Newton'
 |          - 'Gradient'
 |  thread_count : int, [default=None]
 |      Number of parallel threads used to run CatBoost.
 |      If None or -1, then the number of threads is set to the number of CPU cores.
 |      range: [1,+inf)
 |  random_seed : int, [default=None]
 |      Random number seed.
 |      If None, 0 is used.
 |      range: [0,+inf)
 |  use_best_model : bool, [default=None]
 |      To limit the number of trees in predict() using information about the optimal value of the error function.
 |      Can be used only with eval_set.
 |  best_model_min_trees : int, [default=None]
 |      The minimal number of trees the best model should have.
 |  verbose: bool
 |      When set to True, logging_level is set to 'Verbose'.
 |      When set to False, logging_level is set to 'Silent'.
 |  silent: bool, synonym for verbose
 |  logging_level : string, [default='Verbose']
 |      Possible values:
 |          - 'Silent'
 |          - 'Verbose'
 |          - 'Info'
 |          - 'Debug'
 |  metric_period : int, [default=1]
 |      The frequency of iterations to print the information to stdout. The value should be a positive integer.
 |  simple_ctr: list of strings, [default=None]
 |      Binarization settings for categorical features.
 |          Format : see documentation
 |          Example: ['Borders:CtrBorderCount=5:Prior=0:Prior=0.5', 'BinarizedTargetMeanValue:TargetBorderCount=10:TargetBorderType=MinEntropy', ...]
 |          CTR types:
 |              CPU and GPU
 |              - 'Borders'
 |              - 'Buckets'
 |              CPU only
 |              - 'BinarizedTargetMeanValue'
 |              - 'Counter'
 |              GPU only
 |              - 'FloatTargetMeanValue'
 |              - 'FeatureFreq'
 |          Number_of_borders, binarization type, target borders and binarizations, priors are optional parametrs
 |  combinations_ctr: list of strings, [default=None]
 |  per_feature_ctr: list of strings, [default=None]
 |  ctr_target_border_count: int, [default=None]
 |      Maximum number of borders used in target binarization for categorical features that need it.
 |      If TargetBorderCount is specified in 'simple_ctr', 'combinations_ctr' or 'per_feature_ctr' option it
 |      overrides this value.
 |      range: [1, 255]
 |  ctr_leaf_count_limit : int, [default=None]
 |      The maximum number of leaves with categorical features.
 |      If the number of leaves exceeds the specified limit, some leaves are discarded.
 |      The leaves to be discarded are selected as follows:
 |          - The leaves are sorted by the frequency of the values.
 |          - The top N leaves are selected, where N is the value specified in the parameter.
 |          - All leaves starting from N+1 are discarded.
 |      This option reduces the resulting model size
 |      and the amount of memory required for training.
 |      Note that the resulting quality of the model can be affected.
 |      range: [1,+inf) (for zero limit use ignored_features)
 |  store_all_simple_ctr : bool, [default=None]
 |      Ignore categorical features, which are not used in feature combinations,
 |      when choosing candidates for exclusion.
 |      Use this parameter with ctr_leaf_count_limit only.
 |  max_ctr_complexity : int, [default=4]
 |      The maximum number of Categ features that can be combined.
 |      range: [0,+inf)
 |  has_time : bool, [default=False]
 |      To use the order in which objects are represented in the input data
 |      (do not perform a random permutation of the dataset at the preprocessing stage).
 |  allow_const_label : bool, [default=False]
 |      To allow the constant label value in dataset.
 |  target_border: float, [default=None]
 |      Border for target binarization.
 |  classes_count : int, [default=None]
 |      The upper limit for the numeric class label.
 |      Defines the number of classes for multiclassification.
 |      Only non-negative integers can be specified.
 |      The given integer should be greater than any of the target values.
 |      If this parameter is specified the labels for all classes in the input dataset
 |      should be smaller than the given value.
 |      If several of 'classes_count', 'class_weights', 'class_names' parameters are defined
 |      the numbers of classes specified by each of them must be equal.
 |  class_weights : list or dict, [default=None]
 |      Classes weights. The values are used as multipliers for the object weights.
 |      If None, all classes are supposed to have weight one.
 |      If list - class weights in order of class_names or sequential classes if class_names is undefined
 |      If dict - dict of class_name -> class_weight.
 |      If several of 'classes_count', 'class_weights', 'class_names' parameters are defined
 |      the numbers of classes specified by each of them must be equal.
 |  auto_class_weights : string [default=None]
 |      Enables automatic class weights calculation. Possible values:
 |          - Balanced  # weight = maxSummaryClassWeight / summaryClassWeight, statistics determined from train pool
 |          - SqrtBalanced  # weight = sqrt(maxSummaryClassWeight / summaryClassWeight)
 |  class_names: list of strings, [default=None]
 |      Class names. Allows to redefine the default values for class labels (integer numbers).
 |      If several of 'classes_count', 'class_weights', 'class_names' parameters are defined
 |      the numbers of classes specified by each of them must be equal.
 |  one_hot_max_size : int, [default=None]
 |      Convert the feature to float
 |      if the number of different values that it takes exceeds the specified value.
 |      Ctrs are not calculated for such features.
 |  random_strength : float, [default=1]
 |      Score standard deviation multiplier.
 |  random_score_type : string [default=None]
 |      Type of random noise added to scores.
 |      Possible values:
 |          - 'Gumbel' - Gumbel-distributed
 |          - 'NormalWithModelSizeDecrease' - Normally-distributed with deviation decreasing with model iteration count
 |      If None than 'NormalWithModelSizeDecrease' will be used by default.
 |  name : string, [default='experiment']
 |      The name that should be displayed in the visualization tools.
 |  ignored_features : list, [default=None]
 |      Indices or names of features that should be excluded when training.
 |  train_dir : string or os.PathLike, [default=None]
 |      The directory in which you want to record generated in the process of learning files.
 |  custom_metric : string or list of strings, [default=None]
 |      To use your own metric function.
 |  custom_loss: alias to custom_metric
 |  eval_metric : string or object, [default=None]
 |      To optimize your custom metric in loss.
 |  bagging_temperature : float, [default=None]
 |      Controls intensity of Bayesian bagging. The higher the temperature the more aggressive bagging is.
 |      Typical values are in range [0, 1] (0 - no bagging, 1 - default).
 |  save_snapshot : bool, [default=None]
 |      Enable progress snapshotting for restoring progress after crashes or interruptions
 |  snapshot_file : string or os.PathLike, [default=None]
 |      Learn progress snapshot file path, if None will use default filename
 |  snapshot_interval: int, [default=600]
 |      Interval between saving snapshots (seconds)
 |  fold_len_multiplier : float, [default=None]
 |      Fold length multiplier. Should be greater than 1
 |  used_ram_limit : string or number, [default=None]
 |      Set a limit on memory consumption (value like '1.2gb' or 1.2e9).
 |      WARNING: Currently this option affects CTR memory usage only.
 |  gpu_ram_part : float, [default=0.95]
 |      Fraction of the GPU RAM to use for training, a value from (0, 1].
 |  pinned_memory_size: int [default=None]
 |      Size of additional CPU pinned memory used for GPU learning,
 |      usually is estimated automatically, thus usually should not be set.
 |  allow_writing_files : bool, [default=True]
 |      If this flag is set to False, no files with different diagnostic info will be created during training.
 |      With this flag no snapshotting can be done. Plus visualisation will not
 |      work, because visualisation uses files that are created and updated during training.
 |  final_ctr_computation_mode : string, [default='Default']
 |      Possible values:
 |          - 'Default' - Compute final ctrs for all pools.
 |          - 'Skip' - Skip final ctr computation. WARNING: model without ctrs can't be applied.
 |  approx_on_full_history : bool, [default=False]
 |      If this flag is set to True, each approximated value is calculated using all the preceeding rows in the fold (slower, more accurate).
 |      If this flag is set to False, each approximated value is calculated using only the beginning 1/fold_len_multiplier fraction of the fold (faster, slightly less accurate).
 |  boosting_type : string, default value depends on object count and feature count in train dataset and on learning mode.
 |      Boosting scheme.
 |      Possible values:
 |          - 'Ordered' - Gives better quality, but may slow down the training.
 |          - 'Plain' - The classic gradient boosting scheme. May result in quality degradation, but does not slow down the training.
 |  task_type : string, [default=None]
 |      The calcer type used to train the model.
 |      Possible values:
 |          - 'CPU'
 |          - 'GPU'
 |  device_config : string, [default=None], deprecated, use devices instead
 |  devices : list or string, [default=None], GPU devices to use.
 |      String format is: '0' for 1 device or '0:1:3' for multiple devices or '0-3' for range of devices.
 |      List format is : [0] for 1 device or [0,1,3] for multiple devices.
 |
 |  bootstrap_type : string, Bayesian, Bernoulli, Poisson, MVS.
 |      Default bootstrap is Bayesian for GPU and MVS for CPU.
 |      Poisson bootstrap is supported only on GPU.
 |      MVS bootstrap is supported only on GPU.
 |
 |  subsample : float, [default=None]
 |      Sample rate for bagging. This parameter can be used Poisson or Bernoulli bootstrap types.
 |
 |  mvs_reg : float, [default is set automatically at each iteration based on gradient distribution]
 |      Regularization parameter for MVS sampling algorithm
 |
 |  monotone_constraints : list or numpy.ndarray or string or dict, [default=None]
 |      Monotone constraints for features.
 |
 |  feature_weights : list or numpy.ndarray or string or dict, [default=None]
 |      Coefficient to multiply split gain with specific feature use. Should be non-negative.
 |
 |  penalties_coefficient : float, [default=1]
 |      Common coefficient for all penalties. Should be non-negative.
 |
 |  first_feature_use_penalties : list or numpy.ndarray or string or dict, [default=None]
 |      Penalties to first use of specific feature in model. Should be non-negative.
 |
 |  per_object_feature_penalties : list or numpy.ndarray or string or dict, [default=None]
 |      Penalties for first use of feature for each object. Should be non-negative.
 |
 |  sampling_frequency : string, [default=PerTree]
 |      Frequency to sample weights and objects when building trees.
 |      Possible values:
 |          - 'PerTree' - Before constructing each new tree
 |          - 'PerTreeLevel' - Before choosing each new split of a tree
 |
 |  sampling_unit : string, [default='Object'].
 |      Possible values:
 |          - 'Object'
 |          - 'Group'
 |      The parameter allows to specify the sampling scheme:
 |      sample weights for each object individually or for an entire group of objects together.
 |
 |  dev_score_calc_obj_block_size: int, [default=5000000]
 |      CPU only. Size of block of samples in score calculation. Should be > 0
 |      Used only for learning speed tuning.
 |      Changing this parameter can affect results due to numerical accuracy differences
 |
 |  dev_efb_max_buckets : int, [default=1024]
 |      CPU only. Maximum bucket count in exclusive features bundle. Should be in an integer between 0 and 65536.
 |      Used only for learning speed tuning.
 |
 |  sparse_features_conflict_fraction : float, [default=0.0]
 |      CPU only. Maximum allowed fraction of conflicting non-default values for features in exclusive features bundle.
 |      Should be a real value in [0, 1) interval.
 |
 |  grow_policy : string, [SymmetricTree,Lossguide,Depthwise], [default=SymmetricTree]
 |      The tree growing policy. It describes how to perform greedy tree construction.
 |
 |  min_data_in_leaf : int, [default=1].
 |      The minimum training samples count in leaf.
 |      CatBoost will not search for new splits in leaves with samples count less than min_data_in_leaf.
 |      This parameter is used only for Depthwise and Lossguide growing policies.
 |
 |  max_leaves : int, [default=31],
 |      The maximum leaf count in resulting tree.
 |      This parameter is used only for Lossguide growing policy.
 |
 |  score_function : string, possible values L2, Cosine, NewtonL2, NewtonCosine, [default=Cosine]
 |      For growing policy Lossguide default=NewtonL2.
 |      GPU only. Score that is used during tree construction to select the next tree split.
 |
 |  max_depth : int, Synonym for depth.
 |
 |  n_estimators : int, synonym for iterations.
 |
 |  num_trees : int, synonym for iterations.
 |
 |  num_boost_round : int, synonym for iterations.
 |
 |  colsample_bylevel : float, synonym for rsm.
 |
 |  random_state : int, synonym for random_seed.
 |
 |  reg_lambda : float, synonym for l2_leaf_reg.
 |
 |  objective : string, synonym for loss_function.
 |
 |  num_leaves : int, synonym for max_leaves.
 |
 |  min_child_samples : int, synonym for min_data_in_leaf
 |
 |  eta : float, synonym for learning_rate.
 |
 |  max_bin : float, synonym for border_count.
 |
 |  scale_pos_weight : float, synonym for class_weights.
 |      Can be used only for binary classification. Sets weight multiplier for
 |      class 1 to scale_pos_weight value.
 |
 |  metadata : dict, string to string key-value pairs to be stored in model metadata storage
 |
 |  early_stopping_rounds : int
 |      Synonym for od_wait. Only one of these parameters should be set.
 |
 |  cat_features : list or numpy.ndarray, [default=None]
 |      If not None, giving the list of Categ features indices or names (names are represented as strings).
 |      If it contains feature names, feature names must be defined for the training dataset passed to 'fit'.
 |
 |  text_features : list or numpy.ndarray, [default=None]
 |      If not None, giving the list of Text features indices or names (names are represented as strings).
 |      If it contains feature names, feature names must be defined for the training dataset passed to 'fit'.
 |
 |  embedding_features : list or numpy.ndarray, [default=None]
 |      If not None, giving the list of Embedding features indices or names (names are represented as strings).
 |      If it contains feature names, feature names must be defined for the training dataset passed to 'fit'.
 |
 |  leaf_estimation_backtracking : string, [default=None]
 |      Type of backtracking during gradient descent.
 |      Possible values:
 |          - 'No' - never backtrack; supported on CPU and GPU
 |          - 'AnyImprovement' - reduce the descent step until the value of loss function is less than before the step; supported on CPU and GPU
 |          - 'Armijo' - reduce the descent step until Armijo condition is satisfied; supported on GPU only
 |
 |  model_shrink_rate : float, [default=0]
 |      This parameter enables shrinkage of model at the start of each iteration. CPU only.
 |      For Constant mode shrinkage coefficient is calculated as (1 - model_shrink_rate * learning_rate).
 |      For Decreasing mode shrinkage coefficient is calculated as (1 - model_shrink_rate / iteration).
 |      Shrinkage coefficient should be in [0, 1).
 |
 |  model_shrink_mode : string, [default=None]
 |      Mode of shrinkage coefficient calculation. CPU only.
 |      Possible values:
 |          - 'Constant' - Shrinkage coefficient is constant at each iteration.
 |          - 'Decreasing' - Shrinkage coefficient decreases at each iteration.
 |
 |  langevin : bool, [default=False]
 |      Enables the Stochastic Gradient Langevin Boosting. CPU only.
 |
 |  diffusion_temperature : float, [default=0]
 |      Langevin boosting diffusion temperature. CPU only.
 |
 |  posterior_sampling : bool, [default=False]
 |      Set group of parameters for further use Uncertainty prediction:
 |          - Langevin = True
 |          - Model Shrink Rate = 1/(2N), where N is dataset size
 |          - Model Shrink Mode = Constant
 |          - Diffusion-temperature = N, where N is dataset size. CPU only.
 |
 |  boost_from_average : bool, [default=True for RMSE, False for other losses]
 |      Enables to initialize approx values by best constant value for specified loss function.
 |      Available for RMSE, Logloss, CrossEntropy, Quantile and MAE.
 |
 |  tokenizers : list of dicts,
 |      Each dict is a tokenizer description. Example:
 |      ```
 |      [
 |          {
 |              'tokenizer_id': 'Tokenizer',  # Tokeinzer identifier.
 |              'lowercasing': 'false',  # Possible values: 'true', 'false'.
 |              'number_process_policy': 'LeaveAsIs',  # Possible values: 'Skip', 'LeaveAsIs', 'Replace'.
 |              'number_token': '%',  # Rarely used character. Used in conjunction with Replace NumberProcessPolicy.
 |              'separator_type': 'ByDelimiter',  # Possible values: 'ByDelimiter', 'BySense'.
 |              'delimiter': ' ',  # Used in conjunction with ByDelimiter SeparatorType.
 |              'split_by_set': 'false',  # Each single character in delimiter used as individual delimiter.
 |              'skip_empty': 'true',  # Possible values: 'true', 'false'.
 |              'token_types': ['Word', 'Number', 'Unknown'],  # Used in conjunction with BySense SeparatorType.
 |                  # Possible values: 'Word', 'Number', 'Punctuation', 'SentenceBreak', 'ParagraphBreak', 'Unknown'.
 |              'subtokens_policy': 'SingleToken',  # Possible values:
 |                  # 'SingleToken' - All subtokens are interpreted as single token).
 |                  # 'SeveralTokens' - All subtokens are interpreted as several token.
 |          },
 |          ...
 |      ]
 |      ```
 |
 |  dictionaries : list of dicts,
 |      Each dict is a tokenizer description. Example:
 |      ```
 |      [
 |          {
 |              'dictionary_id': 'Dictionary',  # Dictionary identifier.
 |              'token_level_type': 'Word',  # Possible values: 'Word', 'Letter'.
 |              'gram_order': '1',  # 1 for Unigram, 2 for Bigram, ...
 |              'skip_step': '0',  # 1 for 1-skip-gram, ...
 |              'end_of_word_token_policy': 'Insert',  # Possible values: 'Insert', 'Skip'.
 |              'end_of_sentence_token_policy': 'Skip',  # Possible values: 'Insert', 'Skip'.
 |              'occurrence_lower_bound': '3',  # The lower bound of token occurrences in the text to include it in the dictionary.
 |              'max_dictionary_size': '50000',  # The max dictionary size.
 |          },
 |          ...
 |      ]
 |      ```
 |
 |  feature_calcers : list of strings,
 |      Each string is a calcer description. Example:
 |      ```
 |      [
 |          'NaiveBayes',
 |          'BM25',
 |          'BoW:top_tokens_count=2000',
 |      ]
 |      ```
 |
 |  text_processing : dict,
 |      Text processging description.
 |
 |  eval_fraction : float, [default=None]
 |      Fraction of the train dataset to be used as the evaluation dataset.
 |
 |  Method resolution order:
 |      CatBoostClassifier
 |      CatBoost
 |      _CatBoostBase
 |      builtins.object
 |
 |  Methods defined here:
 |
 |  __init__(self, iterations=None, learning_rate=None, depth=None, l2_leaf_reg=None, model_size_reg=None, rsm=None, loss_function=None, border_count=None, feature_border_type=None, per_float_feature_quantization=None, input_borders=None, output_borders=None, fold_permutation_block=None, od_pval=None, od_wait=None, od_type=None, nan_mode=None, counter_calc_method=None, leaf_estimation_iterations=None, leaf_estimation_method=None, thread_count=None, random_seed=None, use_best_model=None, best_model_min_trees=None, verbose=None, silent=None, logging_level=None, metric_period=None, ctr_leaf_count_limit=None, store_all_simple_ctr=None, max_ctr_complexity=None, has_time=None, allow_const_label=None, target_border=None, classes_count=None, class_weights=None, auto_class_weights=None, class_names=None, one_hot_max_size=None, random_strength=None, random_score_type=None, name=None, ignored_features=None, train_dir=None, custom_loss=None, custom_metric=None, eval_metric=None, bagging_temperature=None, save_snapshot=None, snapshot_file=None, snapshot_interval=None, fold_len_multiplier=None, used_ram_limit=None, gpu_ram_part=None, pinned_memory_size=None, allow_writing_files=None, final_ctr_computation_mode=None, approx_on_full_history=None, boosting_type=None, simple_ctr=None, combinations_ctr=None, per_feature_ctr=None, ctr_description=None, ctr_target_border_count=None, task_type=None, device_config=None, devices=None, bootstrap_type=None, subsample=None, mvs_reg=None, sampling_unit=None, sampling_frequency=None, dev_score_calc_obj_block_size=None, dev_efb_max_buckets=None, sparse_features_conflict_fraction=None, max_depth=None, n_estimators=None, num_boost_round=None, num_trees=None, colsample_bylevel=None, random_state=None, reg_lambda=None, objective=None, eta=None, max_bin=None, scale_pos_weight=None, gpu_cat_features_storage=None, data_partition=None, metadata=None, early_stopping_rounds=None, cat_features=None, grow_policy=None, min_data_in_leaf=None, min_child_samples=None, max_leaves=None, num_leaves=None, score_function=None, leaf_estimation_backtracking=None, ctr_history_unit=None, monotone_constraints=None, feature_weights=None, penalties_coefficient=None, first_feature_use_penalties=None, per_object_feature_penalties=None, model_shrink_rate=None, model_shrink_mode=None, langevin=None, diffusion_temperature=None, posterior_sampling=None, boost_from_average=None, text_features=None, tokenizers=None, dictionaries=None, feature_calcers=None, text_processing=None, embedding_features=None, callback=None, eval_fraction=None, fixed_binary_splits=None)
 |      Initialize the CatBoost.
 |
 |      Parameters
 |      ----------
 |      params : dict
 |          Parameters for CatBoost.
 |          If  None, all params are set to their defaults.
 |          If  dict, overriding parameters present in dict.
 |
 |  fit(self, X, y=None, cat_features=None, text_features=None, embedding_features=None, graph=None, sample_weight=None, baseline=None, use_best_model=None, eval_set=None, verbose=None, logging_level=None, plot=False, plot_file=None, column_description=None, verbose_eval=None, metric_period=None, silent=None, early_stopping_rounds=None, save_snapshot=None, snapshot_file=None, snapshot_interval=None, init_model=None, callbacks=None, log_cout=None, log_cerr=None)
 |      Fit the CatBoostClassifier model.
 |
 |      Parameters
 |      ----------
 |      X : catboost.Pool or list or numpy.ndarray or pandas.DataFrame or pandas.Series or polars.DataFrame
 |          If not catboost.Pool, 2 dimensional Feature matrix or string - file with dataset.
 |
 |      y : list or numpy.ndarray or pandas.DataFrame or pandas.Series or polars.DataFrame or polars.Series, optional (default=None)
 |          Labels of the training data.
 |          If not None, can be a single- or two- dimensional array with either:
 |            - numerical values - for binary classification problems
 |            - class labels (boolean, integer or string)
 |          Use only if X is not catboost.Pool and does not point to a file.
 |
 |      cat_features : list or numpy.ndarray, optional (default=None)
 |          If not None, giving the list of Categ columns indices.
 |          Use only if X is not catboost.Pool.
 |
 |      text_features : list or numpy.ndarray, optional (default=None)
 |          If not None, giving the list of Text columns indices.
 |          Use only if X is not catboost.Pool.
 |
 |      embedding_features : list or numpy.ndarray, optional (default=None)
 |          If not None, giving the list of Embedding columns indices.
 |          Use only if X is not catboost.Pool.
 |
 |      graph : list or numpy.ndarray or pandas.DataFrame or polars.DataFrame
 |          The graph edges list description.
 |          If list or numpy.ndarrays or pandas.DataFrame, giving 2 dimensional.
 |
 |      sample_weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series or polars.Series, optional (default=None)
 |          Instance weights, 1 dimensional array like.
 |
 |      baseline : list or numpy.ndarray or polars.DataFrame or polars.Series, optional (default=None)
 |          If not None, giving 2 dimensional array like data.
 |          Use only if X is not catboost.Pool.
 |
 |      use_best_model : bool, optional (default=None)
 |          Flag to use best model
 |
 |      eval_set : catboost.Pool or list of catboost.Pool or tuple (X, y) or list [(X, y)], optional (default=None)
 |          Validation dataset or datasets for metrics calculation and possibly early stopping.
 |
 |      metric_period : int
 |          Frequency of evaluating metrics.
 |
 |      verbose : bool or int
 |          If verbose is bool, then if set to True, logging_level is set to Verbose,
 |          if set to False, logging_level is set to Silent.
 |          If verbose is int, it determines the frequency of writing metrics to output and
 |          logging_level is set to Verbose.
 |
 |      silent : bool
 |          If silent is True, logging_level is set to Silent.
 |          If silent is False, logging_level is set to Verbose.
 |
 |      logging_level : string, optional (default=None)
 |          Possible values:
 |              - 'Silent'
 |              - 'Verbose'
 |              - 'Info'
 |              - 'Debug'
 |
 |      plot : bool, optional (default=False)
 |          If True, draw train and eval error in Jupyter notebook
 |
 |      plot_file : file-like or str, optional (default=None)
 |          If not None, save train and eval error graphs to file
 |
 |      verbose_eval : bool or int
 |          Synonym for verbose. Only one of these parameters should be set.
 |
 |      early_stopping_rounds : int
 |          Activates Iter overfitting detector with od_wait set to early_stopping_rounds.
 |
 |      save_snapshot : bool, [default=None]
 |          Enable progress snapshotting for restoring progress after crashes or interruptions
 |
 |      snapshot_file : string or os.PathLike, [default=None]
 |          Learn progress snapshot file path, if None will use default filename
 |
 |      snapshot_interval: int, [default=600]
 |          Interval between saving snapshots (seconds)
 |
 |      init_model : CatBoost class or string or os.PathLike, [default=None]
 |          Continue training starting from the existing model.
 |          If this parameter is a string or os.PathLike, load initial model from the path specified by this string.
 |
 |      callbacks : list, optional (default=None)
 |          List of callback objects that are applied at end of each iteration.
 |
 |      log_cout: output stream or callback for logging (default=None)
 |          If None is specified, sys.stdout is used
 |
 |      log_cerr: error stream or callback for logging (default=None)
 |          If None is specified, sys.stderr is used
 |
 |      Returns
 |      -------
 |      model : CatBoost
 |
 |  get_probability_threshold(self)
 |      Get a threshold for class separation in binary classification task
 |
 |  predict(self, data, prediction_type='Class', ntree_start=0, ntree_end=0, thread_count=-1, verbose=None, task_type='CPU')
 |      Predict with data.
 |
 |      Parameters
 |      ----------
 |      data : catboost.Pool or list of features or list of lists or numpy.ndarray or pandas.DataFrame or pandas.Series
 |              or polars.DataFrame or polars.Series or catboost.FeaturesData
 |          Data to apply model on.
 |          If data is a simple list (not list of lists) or a one-dimensional numpy.ndarray it is interpreted
 |          as a list of features for a single object.
 |
 |      prediction_type : string, optional (default='Class')
 |          Can be:
 |          - 'RawFormulaVal' : return raw formula value.
 |          - 'Class' : return class label.
 |          - 'Probability' : return probability for every class.
 |          - 'LogProbability' : return log probability for every class.
 |
 |      ntree_start: int, optional (default=0)
 |          Model is applied on the interval [ntree_start, ntree_end) (zero-based indexing).
 |
 |      ntree_end: int, optional (default=0)
 |          Model is applied on the interval [ntree_start, ntree_end) (zero-based indexing).
 |          If value equals to 0 this parameter is ignored and ntree_end equal to tree_count_.
 |
 |      thread_count : int (default=-1)
 |          The number of threads to use when applying the model.
 |          Allows you to optimize the speed of execution. This parameter doesn't affect results.
 |          If -1, then the number of threads is set to the number of CPU cores.
 |
 |      verbose : bool, optional (default=False)
 |          If True, writes the evaluation metric measured set to stderr.
 |
 |      task_type : string, [default=None]
 |          The evaluator type.
 |          Possible values:
 |              - 'CPU'
 |              - 'GPU' (models with only numerical features are supported for now)
 |
 |      Returns
 |      -------
 |      prediction:
 |          If data is for a single object, the return value depends on prediction_type value:
 |              - 'RawFormulaVal' : return raw formula value.
 |              - 'Class' : return class label.
 |              - 'Probability' : return one-dimensional numpy.ndarray with probability for every class.
 |              - 'LogProbability' : return one-dimensional numpy.ndarray with
 |                log probability for every class.
 |          otherwise numpy.ndarray, with values that depend on prediction_type value:
 |              - 'RawFormulaVal' : one-dimensional array of raw formula value for each object.
 |              - 'Class' : one-dimensional array of class label for each object.
 |              - 'Probability' : two-dimensional numpy.ndarray with shape (number_of_objects x number_of_classes)
 |                with probability for every class for each object.
 |              - 'LogProbability' : two-dimensional numpy.ndarray with shape (number_of_objects x number_of_classes)
 |                with log probability for every class for each object.
 |
 |  predict_log_proba(self, data, ntree_start=0, ntree_end=0, thread_count=-1, verbose=None, task_type='CPU')
 |      Predict class log probability with data.
 |
 |      Parameters
 |      ----------
 |      data : catboost.Pool or list of features or list of lists or numpy.ndarray or pandas.DataFrame or pandas.Series
 |              or polars.DataFrame or polars.Series or catboost.FeaturesData
 |          Data to apply model on.
 |          If data is a simple list (not list of lists) or a one-dimensional numpy.ndarray it is interpreted
 |          as a list of features for a single object.
 |
 |      ntree_start: int, optional (default=0)
 |          Model is applied on the interval [ntree_start, ntree_end) (zero-based indexing).
 |
 |      ntree_end: int, optional (default=0)
 |          Model is applied on the interval [ntree_start, ntree_end) (zero-based indexing).
 |          If value equals to 0 this parameter is ignored and ntree_end equal to tree_count_.
 |
 |      thread_count : int (default=-1)
 |          The number of threads to use when applying the model.
 |          Allows you to optimize the speed of execution. This parameter doesn't affect results.
 |          If -1, then the number of threads is set to the number of CPU cores.
 |
 |      verbose : bool
 |          If True, writes the evaluation metric measured set to stderr.
 |
 |      task_type : string, [default=None]
 |          The evaluator type.
 |          Possible values:
 |              - 'CPU'
 |              - 'GPU' (models with only numerical features are supported for now)
 |
 |      Returns
 |      -------
 |      prediction :
 |          If data is for a single object
 |              return one-dimensional numpy.ndarray with log probability for every class.
 |          otherwise
 |              return two-dimensional numpy.ndarray with shape (number_of_objects x number_of_classes)
 |              with log probability for every class for each object.
 |
 |  predict_proba(self, X, ntree_start=0, ntree_end=0, thread_count=-1, verbose=None, task_type='CPU')
 |      Predict class probability with X.
 |
 |      Parameters
 |      ----------
 |      X : catboost.Pool or list of features or list of lists or numpy.ndarray or pandas.DataFrame or pandas.Series
 |              or polars.DataFrame or polars.Series or catboost.FeaturesData
 |          Data to apply model on.
 |          If X is a simple list (not list of lists) or a one-dimensional numpy.ndarray it is interpreted
 |          as a list of features for a single object.
 |
 |      ntree_start: int, optional (default=0)
 |          Model is applied on the interval [ntree_start, ntree_end) (zero-based indexing).
 |
 |      ntree_end: int, optional (default=0)
 |          Model is applied on the interval [ntree_start, ntree_end) (zero-based indexing).
 |          If value equals to 0 this parameter is ignored and ntree_end equal to tree_count_.
 |
 |      thread_count : int (default=-1)
 |          The number of threads to use when applying the model.
 |          Allows you to optimize the speed of execution. This parameter doesn't affect results.
 |          If -1, then the number of threads is set to the number of CPU cores.
 |
 |      verbose : bool
 |          If True, writes the evaluation metric measured set to stderr.
 |
 |      task_type : string, [default=None]
 |          The evaluator type.
 |          Possible values:
 |              - 'CPU'
 |              - 'GPU' (models with only numerical features are supported for now)
 |
 |      Returns
 |      -------
 |      prediction :
 |          If X is for a single object
 |              return one-dimensional numpy.ndarray with probability for every class.
 |          otherwise
 |              return two-dimensional numpy.ndarray with shape (number_of_objects x number_of_classes)
 |              with probability for every class for each object.
 |
 |  score(self, X, y=None)
 |      Calculate accuracy.
 |
 |      Parameters
 |      ----------
 |      X : catboost.Pool or list or numpy.ndarray or pandas.DataFrame or pandas.Series or polars.DataFrame
 |          Data to apply model on.
 |      y : list or numpy.ndarray or polars.Series
 |          True labels.
 |
 |      Returns
 |      -------
 |      accuracy : float
 |
 |  set_probability_threshold(self, binclass_probability_threshold=None)
 |      Set a threshold for class separation in binary classification task for a trained model.
 |      :param binclass_probability_threshold: float number in [0, 1] or None to discard it
 |
 |  staged_predict(self, data, prediction_type='Class', ntree_start=0, ntree_end=0, eval_period=1, thread_count=-1, verbose=None)
 |      Predict target at each stage for data.
 |
 |      Parameters
 |      ----------
 |      data : catboost.Pool or list of features or list of lists or numpy.ndarray or pandas.DataFrame or pandas.Series
 |              or polars.DataFrame or polars.Series or catboost.FeaturesData
 |          Data to apply model on.
 |          If data is a simple list (not list of lists) or a one-dimensional numpy.ndarray it is interpreted
 |          as a list of features for a single object.
 |
 |      prediction_type : string, optional (default='Class')
 |          Can be:
 |          - 'RawFormulaVal' : return raw formula value.
 |          - 'Class' : return class label.
 |          - 'Probability' : return probability for every class.
 |          - 'LogProbability' : return log probability for every class.
 |
 |      ntree_start: int, optional (default=0)
 |          Model is applied on the interval [ntree_start, ntree_end) with the step eval_period (zero-based indexing).
 |
 |      ntree_end: int, optional (default=0)
 |          Model is applied on the interval [ntree_start, ntree_end) with the step eval_period (zero-based indexing).
 |          If value equals to 0 this parameter is ignored and ntree_end equal to tree_count_.
 |
 |      eval_period: int, optional (default=1)
 |          Model is applied on the interval [ntree_start, ntree_end) with the step eval_period (zero-based indexing).
 |
 |      thread_count : int (default=-1)
 |          The number of threads to use when applying the model.
 |          Allows you to optimize the speed of execution. This parameter doesn't affect results.
 |          If -1, then the number of threads is set to the number of CPU cores.
 |
 |      verbose : bool
 |          If True, writes the evaluation metric measured set to stderr.
 |
 |      Returns
 |      -------
 |      prediction : generator for each iteration that generates:
 |          If data is for a single object, the return value depends on prediction_type value:
 |              - 'RawFormulaVal' : return raw formula value.
 |              - 'Class' : return majority vote class.
 |              - 'Probability' : return one-dimensional numpy.ndarray with probability for every class.
 |              - 'LogProbability' : return one-dimensional numpy.ndarray with
 |                log probability for every class.
 |          otherwise numpy.ndarray, with values that depend on prediction_type value:
 |              - 'RawFormulaVal' : one-dimensional array of raw formula value for each object.
 |              - 'Class' : one-dimensional array of class label for each object.
 |              - 'Probability' : two-dimensional numpy.ndarray with shape (number_of_objects x number_of_classes)
 |                with probability for every class for each object.
 |              - 'LogProbability' : two-dimensional numpy.ndarray with shape (number_of_objects x number_of_classes)
 |                with log probability for every class for each object.
 |
 |  staged_predict_log_proba(self, data, ntree_start=0, ntree_end=0, eval_period=1, thread_count=-1, verbose=None)
 |      Predict classification target at each stage for data.
 |
 |      Parameters
 |      ----------
 |      data : catboost.Pool or list of features or list of lists or numpy.ndarray or pandas.DataFrame or pandas.Series
 |              or polars.DataFrame or polars.Series or catboost.FeaturesData
 |          Data to apply model on.
 |          If data is a simple list (not list of lists) or a one-dimensional numpy.ndarray it is interpreted
 |          as a list of features for a single object.
 |
 |      ntree_start: int, optional (default=0)
 |          Model is applied on the interval [ntree_start, ntree_end) with the step eval_period (zero-based indexing).
 |
 |      ntree_end: int, optional (default=0)
 |          Model is applied on the interval [ntree_start, ntree_end) with the step eval_period (zero-based indexing).
 |          If value equals to 0 this parameter is ignored and ntree_end equal to tree_count_.
 |
 |      eval_period: int, optional (default=1)
 |          Model is applied on the interval [ntree_start, ntree_end) with the step eval_period (zero-based indexing).
 |
 |      thread_count : int (default=-1)
 |          The number of threads to use when applying the model.
 |          Allows you to optimize the speed of execution. This parameter doesn't affect results.
 |          If -1, then the number of threads is set to the number of CPU cores.
 |
 |      verbose : bool
 |          If True, writes the evaluation metric measured set to stderr.
 |
 |      Returns
 |      -------
 |      prediction : generator for each iteration that generates:
 |          If data is for a single object
 |              return one-dimensional numpy.ndarray with log probability for every class.
 |          otherwise
 |              return two-dimensional numpy.ndarray with shape (number_of_objects x number_of_classes)
 |              with log probability for every class for each object.
 |
 |  staged_predict_proba(self, data, ntree_start=0, ntree_end=0, eval_period=1, thread_count=-1, verbose=None)
 |      Predict classification target at each stage for data.
 |
 |      Parameters
 |      ----------
 |      data : catboost.Pool or list of features or list of lists or numpy.ndarray or pandas.DataFrame or pandas.Series
 |              or polars.DataFrame or polars.Series or catboost.FeaturesData
 |          Data to apply model on.
 |          If data is a simple list (not list of lists) or a one-dimensional numpy.ndarray it is interpreted
 |          as a list of features for a single object.
 |
 |      ntree_start: int, optional (default=0)
 |          Model is applied on the interval [ntree_start, ntree_end) with the step eval_period (zero-based indexing).
 |
 |      ntree_end: int, optional (default=0)
 |          Model is applied on the interval [ntree_start, ntree_end) with the step eval_period (zero-based indexing).
 |          If value equals to 0 this parameter is ignored and ntree_end equal to tree_count_.
 |
 |      eval_period: int, optional (default=1)
 |          Model is applied on the interval [ntree_start, ntree_end) with the step eval_period (zero-based indexing).
 |
 |      thread_count : int (default=-1)
 |          The number of threads to use when applying the model.
 |          Allows you to optimize the speed of execution. This parameter doesn't affect results.
 |          If -1, then the number of threads is set to the number of CPU cores.
 |
 |      verbose : bool
 |          If True, writes the evaluation metric measured set to stderr.
 |
 |      Returns
 |      -------
 |      prediction : generator for each iteration that generates:
 |          If data is for a single object
 |              return one-dimensional numpy.ndarray with probability for every class.
 |          otherwise
 |              return two-dimensional numpy.ndarray with shape (number_of_objects x number_of_classes)
 |              with probability for every class for each object.
 |
 |  ----------------------------------------------------------------------
 |  Methods inherited from CatBoost:
 |
 |  calc_feature_statistics(self, data, target=None, feature=None, prediction_type=None, cat_feature_values=None, plot=True, max_cat_features_on_plot=10, thread_count=-1, plot_file=None)
 |      Get statistics for the feature using the model, dataset and target.
 |      To use this function, you should install plotly.
 |
 |      The catboost model has borders for the float features used in it. The borders divide
 |      feature values into bins, and the model's prediction depends on the number of the bin where the
 |      feature value falls in.
 |
 |      For float features this function takes model's borders and computes
 |      1) Mean target value for every bin;
 |      2) Mean model prediction for every bin;
 |      3) The number of objects in dataset which fall into each bin;
 |      4) Predictions on varying feature. For every object, varies the feature value
 |      so that it falls into bin #0, bin #1, ... and counts model predictions.
 |      Then counts average prediction for each bin.
 |
 |      For categorical features (only one-hot supported) does the same, but takes feature values
 |      provided in cat_feature_values instead of borders.
 |
 |      Parameters
 |      ----------
 |      data: numpy.ndarray or pandas.DataFrame or polars.DataFrame or catboost. Pool or dict {'pool_name': pool} if you want several pools
 |          Data to compute statistics on
 |      target: numpy.ndarray or pandas.Series or polars.Series or dict {'pool_name': target} if you want several pools or None
 |          Target corresponding to data
 |          Use only if data is not catboost.Pool.
 |      feature: None, int, string, or list of int or strings
 |          Features indexes or names in pd.DataFrame for which you want to get statistics.
 |          None, if you need statistics for all features.
 |      prediction_type: str
 |          Prediction type used for counting mean_prediction: 'Class', 'Probability' or 'RawFormulaVal'.
 |          If not specified, is derived from the model.
 |      cat_feature_values: list or numpy.ndarray or pandas.Series or
 |                          dict: int or string to list or numpy.ndarray or pandas.Series
 |          Contains categorical feature values you need to get statistics on.
 |          Use dict, when parameter 'feature' is a list to specify cat values for different features.
 |          When parameter 'feature' is int or str, you can just pass list of cat values.
 |      plot: bool
 |          Plot statistics.
 |      max_cat_features_on_plot: int
 |          If categorical feature takes more than max_cat_features_on_plot different unique values,
 |          output result on several plots, not more than max_cat_features_on_plot feature values on each.
 |          Used only if plot=True or plot_file is not None.
 |      thread_count: int
 |          Number of threads to use for getting statistics.
 |      plot_file: str
 |          Output file for plot statistics.
 |
 |      Returns
 |      -------
 |      dict if parameter 'feature' is int or string, else dict of dicts:
 |          For each unique feature contain
 |          python dict with binarized feature statistics.
 |          For float feature, includes
 |                  'borders' -- borders for the specified feature in model
 |                  'binarized_feature' -- numbers of bins where feature values fall
 |                  'mean_target' -- mean value of target over each bin
 |                  'mean_prediction' -- mean value of model prediction over each bin
 |                  'objects_per_bin' -- number of objects per bin
 |                  'predictions_on_varying_feature' -- averaged over dataset predictions for
 |                  varying feature (see above)
 |          For one-hot feature, returns the same, but with 'cat_values' instead of 'borders'
 |
 |  calc_leaf_indexes(self, data, ntree_start=0, ntree_end=0, thread_count=-1, verbose=False)
 |      Returns indexes of leafs to which objects from pool are mapped by model trees.
 |
 |      Parameters
 |      ----------
 |      data : catboost.Pool or list of features or list of lists or numpy.ndarray or pandas.DataFrame or pandas.Series
 |              or polars.DataFrame or polars.Series or catboost.FeaturesData
 |          Data to apply model on.
 |          If data is a simple list (not list of lists) or a one-dimensional numpy.ndarray it is interpreted
 |          as a list of features for a single object.
 |
 |      ntree_start: int, optional (default=0)
 |          Index of first tree for which leaf indexes will be calculated (zero-based indexing).
 |
 |      ntree_end: int, optional (default=0)
 |          Index of the tree after last tree for which leaf indexes will be calculated (zero-based indexing).
 |          If value equals to 0 this parameter is ignored and ntree_end equal to tree_count_.
 |
 |      thread_count : int (default=-1)
 |          The number of threads to use when applying the model.
 |          Allows you to optimize the speed of execution. This parameter doesn't affect results.
 |          If -1, then the number of threads is set to the number of CPU cores.
 |
 |      verbose : bool (default=False)
 |          Enable debug logging level.
 |
 |      Returns
 |      -------
 |      leaf_indexes : 2-dimensional numpy.ndarray of numpy.uint32 with shape (object count, ntree_end - ntree_start).
 |          i-th row is an array of leaf indexes for i-th object.
 |
 |  compare(self, model, data, metrics, ntree_start=0, ntree_end=0, eval_period=1, thread_count=-1, tmp_dir=None, plot_file=None, log_cout=None, log_cerr=None)
 |      Draw train and eval errors in Jupyter notebook for both models
 |
 |      Parameters
 |      ----------
 |      model: CatBoost model
 |          Another model to draw metrics
 |
 |      data : catboost.Pool
 |          Data to evaluate metrics on.
 |
 |      metrics : list of strings or catboost.metrics.BuiltinMetric
 |          List of evaluated metrics.
 |
 |      ntree_start: int, optional (default=0)
 |          Model is applied on the interval [ntree_start, ntree_end) (zero-based indexing).
 |
 |      ntree_end: int, optional (default=0)
 |          Model is applied on the interval [ntree_start, ntree_end) (zero-based indexing).
 |          If value equals to 0 this parameter is ignored and ntree_end equal to tree_count_.
 |
 |      eval_period: int, optional (default=1)
 |          Model is applied on the interval [ntree_start, ntree_end) with the step eval_period (zero-based indexing).
 |
 |      thread_count : int (default=-1)
 |          The number of threads to use when applying the model.
 |          Allows you to optimize the speed of execution. This parameter doesn't affect results.
 |          If -1, then the number of threads is set to the number of CPU cores.
 |
 |      tmp_dir : string or os.PathLike (default=None)
 |          The name of the temporary directory for intermediate results.
 |          If None, then the name will be generated.
 |
 |      plot_file : file-like or str, optional (default=None)
 |          If not None, save eval error graphs to file
 |
 |      log_cout: output stream or callback for logging (default=None)
 |          If None is specified, sys.stdout is used
 |
 |      log_cerr: error stream or callback for logging (default=None)
 |          If None is specified, sys.stderr is used
 |
 |  create_metric_calcer(self, metrics, ntree_start=0, ntree_end=0, eval_period=1, thread_count=-1, tmp_dir=None)
 |      Create batch metric calcer. Could be used to aggregate metric on several pools
 |      Parameters
 |      ----------
 |          Same as in eval_metrics except data
 |      Returns
 |      -------
 |          BatchMetricCalcer object
 |
 |      Usage example
 |      -------
 |      # Large dataset is partitioned into parts [part1, part2]
 |      model.fit(params)
 |      batch_calcer = model.create_metric_calcer(['Logloss'])
 |      batch_calcer.add(part1)
 |      batch_calcer.add(part2)
 |      metrics = batch_calcer.eval_metrics()
 |
 |  drop_unused_features(self)
 |      Drop unused features information from model
 |
 |  eval_metrics(self, data, metrics, ntree_start=0, ntree_end=0, eval_period=1, thread_count=-1, tmp_dir=None, plot=False, plot_file=None, log_cout=None, log_cerr=None)
 |      Calculate metrics.
 |
 |      Parameters
 |      ----------
 |      data : catboost.Pool
 |          Data to evaluate metrics on.
 |
 |      metrics : list of strings or catboost.metrics.BuiltinMetric
 |          List of evaluated metrics.
 |
 |      ntree_start: int, optional (default=0)
 |          Model is applied on the interval [ntree_start, ntree_end) (zero-based indexing).
 |
 |      ntree_end: int, optional (default=0)
 |          Model is applied on the interval [ntree_start, ntree_end) (zero-based indexing).
 |          If value equals to 0 this parameter is ignored and ntree_end equal to tree_count_.
 |
 |      eval_period: int, optional (default=1)
 |          Model is applied on the interval [ntree_start, ntree_end) with the step eval_period (zero-based indexing).
 |
 |      thread_count : int (default=-1)
 |          The number of threads to use when applying the model.
 |          Allows you to optimize the speed of execution. This parameter doesn't affect results.
 |          If -1, then the number of threads is set to the number of CPU cores.
 |
 |      tmp_dir : string or os.PathLike (default=None)
 |          The name of the temporary directory for intermediate results.
 |          If None, then the name will be generated.
 |
 |      plot : bool, optional (default=False)
 |          If True, draw train and eval error in Jupyter notebook
 |
 |      plot_file : file-like or str, optional (default=None)
 |          If not None, save train and eval error graphs to file
 |
 |      log_cout: output stream or callback for logging (default=None)
 |          If None is specified, sys.stdout is used
 |
 |      log_cerr: error stream or callback for logging (default=None)
 |          If None is specified, sys.stderr is used
 |
 |      Returns
 |      -------
 |      prediction : dict: metric -> array of shape [(ntree_end - ntree_start) / eval_period]
 |
 |  get_all_params(self)
 |      Get all params (specified by user and default params) that were set in training from CatBoost model.
 |      Full parameters documentation could be found here: https://catboost.ai/docs/concepts/python-reference_parameters-list.html
 |
 |      Returns
 |      -------
 |      result : dict
 |          Dictionary of {param_key: param_value}.
 |
 |  get_borders(self)
 |      Return map feature_index: borders for float features.
 |
 |  get_cat_feature_indices(self)
 |
 |  get_embedding_feature_indices(self)
 |
 |  get_feature_importance(self, data=None, type=<EFstrType.FeatureImportance: 2>, prettified=False, thread_count=-1, verbose=False, fstr_type=None, shap_mode='Auto', model_output='Raw', interaction_indices=None, shap_calc_type='Regular', reference_data=None, sage_n_samples=128, sage_batch_size=512, sage_detect_convergence=True, log_cout=None, log_cerr=None)
 |      Parameters
 |      ----------
 |      data :
 |          Data to get feature importance.
 |          If type in ('LossFunctionChange', 'ShapValues', 'ShapInteractionValues') data must of Pool type.
 |              For every object in this dataset feature importances will be calculated.
 |          if type == 'SageValues' data must of Pool type.
 |              For every feature in this dataset importance will be calculated.
 |          If type == 'PredictionValuesChange', data is None or a dataset of Pool type
 |              Dataset specification is needed only in case if the model does not contain leaf weight information (trained with CatBoost v < 0.9).
 |          If type == 'PredictionDiff' data must contain a matrix of feature values of shape (2, n_features).
 |              Possible types are catboost.Pool or list of lists or numpy.ndarray or pandas.DataFrame or pandas.Series
 |              or polars.DataFrame or catboost.FeaturesData or pandas.SparseDataFrame or scipy.sparse.spmatrix
 |          If type == 'FeatureImportance'
 |              See 'PredictionValuesChange' for non-ranking metrics and 'LossFunctionChange' for ranking metrics.
 |          If type == 'Interaction'
 |              This parameter is not used.
 |
 |      type : EFstrType or string (converted to EFstrType), optional
 |                  (default=EFstrType.FeatureImportance)
 |          Possible values:
 |              - PredictionValuesChange
 |                  Calculate score for every feature.
 |              - LossFunctionChange
 |                  Calculate score for every feature by loss.
 |              - FeatureImportance
 |                  PredictionValuesChange for non-ranking metrics and LossFunctionChange for ranking metrics
 |              - ShapValues
 |                  Calculate SHAP Values for every object.
 |              - ShapInteractionValues
 |                  Calculate SHAP Interaction Values between each pair of features for every object
 |              - Interaction
 |                  Calculate pairwise score between every feature.
 |              - PredictionDiff
 |                  Calculate most important features explaining difference in predictions for a pair of documents.
 |              - SageValues
 |                  Calculate SAGE value for every feature
 |
 |      prettified : bool, optional (default=False)
 |          change returned data format to the list of (feature_id, importance) pairs sorted by importance
 |
 |      thread_count : int, optional (default=-1)
 |          Number of threads.
 |          If -1, then the number of threads is set to the number of CPU cores.
 |
 |      verbose : bool or int
 |          If False, then evaluation is not logged. If True, then each possible iteration is logged.
 |          If a positive integer, then it stands for the size of batch N. After processing each batch, print progress
 |          and remaining time.
 |
 |      fstr_type : string, deprecated, use type instead
 |
 |      shap_mode : string, optional (default="Auto")
 |          used only for ShapValues type
 |          Possible values:
 |              - "Auto"
 |                  Use direct SHAP Values calculation only if data size is smaller than average leaves number
 |                  (the best of two strategies below is chosen).
 |              - "UsePreCalc"
 |                  Calculate SHAP Values for every leaf in preprocessing. Final complexity is
 |                  O(NT(D+F))+O(TL^2 D^2) where N is the number of documents(objects), T - number of trees,
 |                  D - average tree depth, F - average number of features in tree, L - average number of leaves in tree
 |                  This is much faster (because of a smaller constant) than direct calculation when N >> L
 |              - "NoPreCalc"
 |                  Use direct SHAP Values calculation calculation with complexity O(NTLD^2). Direct algorithm
 |                  is faster when N < L (algorithm from https://arxiv.org/abs/1802.03888)
 |
 |      shap_calc_type : EShapCalcType or string, optional (default="Regular")
 |          used only for ShapValues type
 |          Possible values:
 |              - "Regular"
 |                  Calculate regular SHAP values
 |              - "Approximate"
 |                  Calculate approximate SHAP values
 |              - "Exact"
 |                  Calculate exact SHAP values
 |
 |      interaction_indices : list of int or string (feature_idx_1, feature_idx_2), optional (default=None)
 |          used only for ShapInteractionValues type
 |          Calculate SHAP Interaction Values between pair of features feature_idx_1 and feature_idx_2 for every object
 |
 |      reference_data: catboost.Pool or None
 |          Reference data for Independent Tree SHAP values from https://arxiv.org/abs/1905.04610v1
 |          if type == 'ShapValues' and reference_data is not None, then Independent Tree SHAP values are calculated
 |
 |      sage_n_samples: int, optional (default=32)
 |          Number of outer samples used in SAGE values approximation algorithm
 |      sage_batch_size: int, optional (default=min(512, number of samples in dataset))
 |          Number of samples used on each step of SAGE values approximation algorithm
 |      sage_detect_convergence: bool, optional (default=False)
 |          If set True, sage values calculation will be stopped either when sage values converge
 |          or when sage_n_samples iterations of algorithm pass
 |
 |      log_cout: output stream or callback for logging (default=None)
 |          If None is specified, sys.stdout is used
 |
 |      log_cerr: error stream or callback for logging (default=None)
 |          If None is specified, sys.stderr is used
 |
 |      Returns
 |      -------
 |      depends on type:
 |          - FeatureImportance
 |              See PredictionValuesChange for non-ranking metrics and LossFunctionChange for ranking metrics.
 |          - PredictionValuesChange, LossFunctionChange, PredictionDiff, SageValues with prettified=False (default)
 |              list of length [n_features] with feature_importance values (float) for feature
 |          - PredictionValuesChange, LossFunctionChange, PredictionDiff, SageValues with prettified=True
 |              list of length [n_features] with (feature_id (string), feature_importance (float)) pairs, sorted by feature_importance in descending order
 |          - ShapValues
 |              np.ndarray of shape (n_objects, n_features + 1) with Shap values (float) for (object, feature).
 |              In case of multiclass the returned value is np.ndarray of shape
 |              (n_objects, classes_count, n_features + 1). For each object it contains Shap values (float).
 |              Values are calculated for RawFormulaVal predictions.
 |          - ShapInteractionValues
 |              np.ndarray of shape (n_objects, n_features + 1, n_features + 1) with Shap interaction values (float) for (object, feature(i), feature(j)).
 |              In case of multiclass the returned value is np.ndarray of shape
 |              (n_objects, classes_count, n_features + 1, n_features + 1). For each object it contains Shap interaction values (float).
 |              Values are calculated for RawFormulaVal predictions.
 |          - Interaction
 |              list of length [n_features] of 3-element lists of (first_feature_index, second_feature_index, interaction_score (float))
 |
 |  get_object_importance(self, pool, train_pool, top_size=-1, type='Average', update_method='SinglePoint', importance_values_sign='All', thread_count=-1, verbose=False, ostr_type=None, log_cout=None, log_cerr=None)
 |      This is the implementation of the LeafInfluence algorithm from the following paper:
 |      https://arxiv.org/pdf/1802.06640.pdf
 |
 |      Parameters
 |      ----------
 |      pool : Pool
 |          The pool for which you want to evaluate the object importances.
 |
 |      train_pool : Pool
 |          The pool on which the model has been trained.
 |
 |      top_size : int (default=-1)
 |          Method returns the result of the top_size most important train objects.
 |          If -1, then the top size is not limited.
 |
 |      type : string, optional (default='Average')
 |          Possible values:
 |              - Average (Method returns the mean train objects scores for all input objects)
 |              - PerObject (Method returns the train objects scores for every input object)
 |
 |      importance_values_sign : string, optional (default='All')
 |          Method returns only Positive, Negative or All values.
 |          Possible values:
 |              - Positive
 |              - Negative
 |              - All
 |
 |      update_method : string, optional (default='SinglePoint')
 |          Possible values:
 |              - SinglePoint
 |              - TopKLeaves (It is posible to set top size : TopKLeaves:top=2)
 |              - AllPoints
 |          Description of the update set methods are given in section 3.1.3 of the paper.
 |
 |      thread_count : int, optional (default=-1)
 |          Number of threads.
 |          If -1, then the number of threads is set to the number of CPU cores.
 |
 |      verbose : bool or int
 |          If False, then evaluation is not logged. If True, then each possible iteration is logged.
 |          If a positive integer, then it stands for the size of batch N. After processing each batch, print progress
 |          and remaining time.
 |
 |      ostr_type : string, deprecated, use type instead
 |
 |      log_cout: output stream or callback for logging (default=None)
 |          If None is specified, sys.stdout is used
 |
 |      log_cerr: error stream or callback for logging (default=None)
 |          If None is specified, sys.stderr is used
 |
 |      Returns
 |      -------
 |      object_importances : tuple of two arrays (indices and scores) of shape = [top_size]
 |
 |  get_param(self, key)
 |      Get param value from CatBoost model.
 |
 |      Parameters
 |      ----------
 |      key : string
 |          The key to get param value from.
 |
 |      Returns
 |      -------
 |      value :
 |          The param value of the key, returns None if param do not exist.
 |
 |  get_params(self, **_unused_kwargs)
 |      Get all params from CatBoost model.
 |
 |      Returns
 |      -------
 |      result : dict
 |          Dictionary of {param_key: param_value}.
 |
 |  get_text_feature_indices(self)
 |
 |  grid_search(self, param_grid, X, y=None, cv=3, partition_random_seed=0, calc_cv_statistics=True, search_by_train_test_split=True, refit=True, shuffle=True, stratified=None, train_size=0.8, verbose=True, plot=False, plot_file=None, log_cout=None, log_cerr=None)
 |      Exhaustive search over specified parameter values for a model.
 |      After calling this method model is fitted and can be used, if not specified otherwise (refit=False).
 |
 |      Parameters
 |      ----------
 |      param_grid: dict or list of dictionaries
 |          Dictionary with parameters names (string) as keys and lists of parameter settings
 |          to try as values, or a list of such dictionaries, in which case the grids spanned by each
 |          dictionary in the list are explored.
 |          This enables searching over any sequence of parameter settings.
 |
 |      X: numpy.ndarray or pandas.DataFrame or polars.DataFrame or catboost.Pool
 |          Data to compute statistics on
 |
 |      y: list or numpy.ndarray or pandas.DataFrame or pandas.Series or polars.DataFrame or polars.Series, optional (default=None)
 |          Labels of the training data.
 |          If not None, can be a single- or two- dimensional array with either:
 |            - numerical values - for regression (including multiregression), ranking and binary classification problems
 |            - class labels (boolean, integer or string) - for classification (including multiclassification) problems
 |          Use only if X is not catboost.Pool and does not point to a file.
 |
 |      cv: int, cross-validation generator or an iterable, optional (default=None)
 |          Determines the cross-validation splitting strategy. Possible inputs for cv are:
 |          - None, to use the default 3-fold cross validation,
 |          - integer, to specify the number of folds in a (Stratified)KFold
 |          - one of the scikit-learn splitter classes
 |              (https://scikit-learn.org/stable/modules/classes.html#splitter-classes)
 |          - An iterable yielding (train, test) splits as arrays of indices.
 |
 |      partition_random_seed: int, optional (default=0)
 |          Use this as the seed value for random permutation of the data.
 |          Permutation is performed before splitting the data for cross validation.
 |          Each seed generates unique data splits.
 |          Used only when cv is None or int.
 |
 |      search_by_train_test_split: bool, optional (default=True)
 |          If True, source dataset is splitted into train and test parts, models are trained
 |          on the train part and parameters are compared by loss function score on the test part.
 |          After that, if calc_cv_statistics=true, statistics on metrics are calculated
 |          using cross-validation using best parameters and the model is fitted with these parameters.
 |
 |          If False, every iteration of grid search evaluates results on cross-validation.
 |          It is recommended to set parameter to True for large datasets, and to False for small datasets.
 |
 |      calc_cv_statistics: bool, optional (default=True)
 |          The parameter determines whether quality should be estimated.
 |          using cross-validation with the found best parameters. Used only when search_by_train_test_split=True.
 |
 |      refit: bool (default=True)
 |          Refit an estimator using the best found parameters on the whole dataset.
 |
 |      shuffle: bool, optional (default=True)
 |          Shuffle the dataset objects before parameters searching.
 |
 |      stratified: bool, optional (default=None)
 |          Perform stratified sampling. True for classification and False otherwise.
 |          Currently supported only for final cross-validation.
 |
 |      train_size: float, optional (default=0.8)
 |          Should be between 0.0 and 1.0 and represent the proportion of the dataset to include in the train split.
 |
 |      verbose: bool or int, optional (default=True)
 |          If verbose is int, it determines the frequency of writing metrics to output
 |          verbose==True is equal to verbose==1
 |          When verbose==False, there is no messages
 |
 |      plot : bool, optional (default=False)
 |          If True, draw train and eval error for every set of parameters in Jupyter notebook
 |
 |      plot_file : file-like or str, optional (default=None)
 |          If not None, save train and eval error for every set of parameters to file
 |
 |      log_cout: output stream or callback for logging (default=None)
 |          If None is specified, sys.stdout is used
 |
 |      log_cerr: error stream or callback for logging (default=None)
 |          If None is specified, sys.stderr is used
 |
 |      Returns
 |      -------
 |      dict with two fields:
 |          'params': dict of best found parameters
 |          'cv_results': dict or pandas.core.frame.DataFrame with cross-validation results
 |              columns are: test-error-mean  test-error-std  train-error-mean  train-error-std
 |
 |  iterate_leaf_indexes(self, data, ntree_start=0, ntree_end=0)
 |      Returns indexes of leafs to which objects from pool are mapped by model trees.
 |
 |      Parameters
 |      ----------
 |      data : catboost.Pool or list of features or list of lists or numpy.ndarray or pandas.DataFrame or pandas.Series
 |              or polars.DataFrame or polars.Series or catboost.FeaturesData
 |          Data to apply model on.
 |          If data is a simple list (not list of lists) or a one-dimensional numpy.ndarray it is interpreted
 |          as a list of features for a single object.
 |
 |      ntree_start: int, optional (default=0)
 |          Index of first tree for which leaf indexes will be calculated (zero-based indexing).
 |
 |      ntree_end: int, optional (default=0)
 |          Index of the tree after last tree for which leaf indexes will be calculated (zero-based indexing).
 |          If value equals to 0 this parameter is ignored and ntree_end equal to tree_count_.
 |
 |      Returns
 |      -------
 |      leaf_indexes : generator. For each object in pool yields one-dimensional numpy.ndarray of leaf indexes.
 |
 |  load_model(self, fname=None, format='cbm', stream=None, blob=None)
 |      Load model from a file, stream or blob.
 |
 |      Parameters
 |      ----------
 |      fname : string
 |          Input file name.
 |
 |  plot_partial_dependence(self, data, features, plot=True, plot_file=None, thread_count=-1)
 |      To use this function, you should install plotly.
 |      data: numpy.ndarray or pandas.DataFrame or polars.DataFrame or catboost.Pool
 |      features: int, str, list<int>, tuple<int>, list<string>, tuple<string>
 |          Float features to calculate partial dependence for. Number of features should be 1 or 2.
 |      plot: bool
 |          Plot predictions.
 |      plot_file: str
 |          Output file for plot predictions.
 |      thread_count: int
 |          Number of threads to use. If -1 use maximum available number of threads.
 |      Returns
 |      -------
 |          If number of features is one - 1d numpy array and figure with line plot.
 |          If number of features is two - 2d numpy array and figure with 2d heatmap.
 |
 |  plot_predictions(self, data, features_to_change, plot=True, plot_file=None)
 |      To use this function, you should install plotly.
 |
 |      data: numpy.ndarray or pandas.DataFrame or polars.DataFrame or catboost.Pool
 |      features_to_change: list-like with int (for indices) or str (for names) elements
 |          Numerical features indices or names in `data` for which you want to vary prediction value.
 |      plot: bool
 |          Plot predictions.
 |      plot_file: str
 |          Output file for plot predictions.
 |      Returns
 |      -------
 |          List of list of predictions for all buckets for all samples in data
 |
 |  plot_tree(self, tree_idx, pool=None)
 |
 |  randomized_search(self, param_distributions, X, y=None, cv=3, n_iter=10, partition_random_seed=0, calc_cv_statistics=True, search_by_train_test_split=True, refit=True, shuffle=True, stratified=None, train_size=0.8, verbose=True, plot=False, plot_file=None, log_cout=None, log_cerr=None)
 |      Randomized search on hyper parameters.
 |      After calling this method model is fitted and can be used, if not specified otherwise (refit=False).
 |
 |      In contrast to grid_search, not all parameter values are tried out,
 |      but rather a fixed number of parameter settings is sampled from the specified distributions.
 |      The number of parameter settings that are tried is given by n_iter.
 |
 |      Parameters
 |      ----------
 |      param_distributions: dict
 |          Dictionary with parameters names (string) as keys and distributions or lists of parameters to try.
 |          Distributions must provide a rvs method for sampling (such as those from scipy.stats.distributions).
 |          If a list is given, it is sampled uniformly.
 |
 |      X: numpy.ndarray or pandas.DataFrame or polars.DataFrame or catboost.Pool
 |          Data to compute statistics on
 |
 |      y: list or numpy.ndarray or pandas.DataFrame or pandas.Series or polars.DataFrame or polars.Series, optional (default=None)
 |          Labels of the training data.
 |          If not None, can be a single- or two- dimensional array with either:
 |            - numerical values - for regression (including multiregression), ranking and binary classification problems
 |            - class labels (boolean, integer or string) - for classification (including multiclassification) problems
 |          Use only if X is not catboost.Pool and does not point to a file.
 |
 |      cv: int, cross-validation generator or an iterable, optional (default=None)
 |          Determines the cross-validation splitting strategy. Possible inputs for cv are:
 |          - None, to use the default 3-fold cross validation,
 |          - integer, to specify the number of folds in a (Stratified)KFold
 |          - one of the scikit-learn splitter classes
 |              (https://scikit-learn.org/stable/modules/classes.html#splitter-classes)
 |          - An iterable yielding (train, test) splits as arrays of indices.
 |
 |      n_iter: int
 |          Number of parameter settings that are sampled.
 |          n_iter trades off runtime vs quality of the solution.
 |
 |      partition_random_seed: int, optional (default=0)
 |          Use this as the seed value for random permutation of the data.
 |          Permutation is performed before splitting the data for cross validation.
 |          Each seed generates unique data splits.
 |          Used only when cv is None or int.
 |
 |      search_by_train_test_split: bool, optional (default=True)
 |          If True, source dataset is splitted into train and test parts, models are trained
 |          on the train part and parameters are compared by loss function score on the test part.
 |          After that, if calc_cv_statistics=true, statistics on metrics are calculated
 |          using cross-validation using best parameters and the model is fitted with these parameters.
 |
 |          If False, every iteration of grid search evaluates results on cross-validation.
 |          It is recommended to set parameter to True for large datasets, and to False for small datasets.
 |
 |      calc_cv_statistics: bool, optional (default=True)
 |          The parameter determines whether quality should be estimated.
 |          using cross-validation with the found best parameters. Used only when search_by_train_test_split=True.
 |
 |      refit: bool (default=True)
 |          Refit an estimator using the best found parameters on the whole dataset.
 |
 |      shuffle: bool, optional (default=True)
 |          Shuffle the dataset objects before parameters searching.
 |
 |      stratified: bool, optional (default=None)
 |          Perform stratified sampling. True for classification and False otherwise.
 |          Currently supported only for cross-validation.
 |
 |      train_size: float, optional (default=0.8)
 |          Should be between 0.0 and 1.0 and represent the proportion of the dataset to include in the train split.
 |
 |      verbose: bool or int, optional (default=True)
 |          If verbose is int, it determines the frequency of writing metrics to output
 |          verbose==True is equal to verbose==1
 |          When verbose==False, there is no messages
 |
 |      plot : bool, optional (default=False)
 |          If True, draw train and eval error for every set of parameters in Jupyter notebook
 |
 |      plot_file : file-like or str, optional (default=None)
 |          If not None, save train and eval error for every set of parameters to file
 |
 |      log_cout: output stream or callback for logging (default=None)
 |          If None is specified, sys.stdout is used
 |
 |      log_cerr: error stream or callback for logging (default=None)
 |          If None is specified, sys.stderr is used
 |
 |      Returns
 |      -------
 |      dict with two fields:
 |          'params': dict of best found parameters
 |          'cv_results': dict or pandas.core.frame.DataFrame with cross-validation results
 |              columns are: test-error-mean  test-error-std  train-error-mean  train-error-std
 |
 |  save_borders(self, fname)
 |      Save the model borders to a file.
 |
 |      Parameters
 |      ----------
 |      fname : string or os.PathLike
 |          Output file name.
 |
 |  save_model(self, fname, format='cbm', export_parameters=None, pool=None)
 |      Save the model to a file.
 |
 |      Parameters
 |      ----------
 |      fname : string
 |          Output file name.
 |      format : string
 |          Possible values:
 |              * 'cbm' for catboost binary format,
 |              * 'coreml' to export into Apple CoreML format
 |              * 'onnx' to export into ONNX-ML format
 |              * 'pmml' to export into PMML format
 |              * 'cpp' to export as C++ code
 |              * 'python' to export as Python code.
 |      export_parameters : dict
 |          Parameters for CoreML export:
 |              * prediction_type : string - either 'probability' or 'raw'
 |              * coreml_description : string
 |              * coreml_model_version : string
 |              * coreml_model_author : string
 |              * coreml_model_license: string
 |          Parameters for PMML export:
 |              * pmml_copyright : string
 |              * pmml_description : string
 |              * pmml_model_version : string
 |      pool : catboost.Pool or list or numpy.ndarray or pandas.DataFrame or pandas.Series or polars.DataFrame or catboost.FeaturesData
 |          Training pool.
 |
 |  select_features(self, X, y=None, eval_set=None, features_for_select=None, num_features_to_select=None, algorithm=None, steps=None, shap_calc_type=None, train_final_model=True, verbose=None, logging_level=None, plot=False, plot_file=None, log_cout=None, log_cerr=None, grouping=None, features_tags_for_select=None, num_features_tags_to_select=None)
 |      Select best features from pool according to loss value.
 |
 |      Parameters
 |      ----------
 |      X : catboost.Pool or list or numpy.ndarray or pandas.DataFrame or pandas.Series or polars.DataFrame
 |          If not catboost.Pool, 2 dimensional Feature matrix or string - file with dataset.
 |
 |      y : list or numpy.ndarray or pandas.DataFrame or pandas.Series or polars.DataFrame or polars.Series, optional (default=None)
 |          Labels of the training data.
 |          If not None, can be a single- or two- dimensional array with either:
 |            - numerical values - for regression (including multiregression), ranking and binary classification problems
 |            - class labels (boolean, integer or string) - for classification (including multiclassification) problems
 |          Use only if X is not catboost.Pool and does not point to a file.
 |
 |      eval_set : catboost.Pool or list of catboost.Pool or tuple (X, y) or list [(X, y)], optional (default=None)
 |          Validation dataset or datasets for metrics calculation and possibly early stopping.
 |
 |      features_for_select : str or list of feature indices, names or ranges
 |          (for grouping = Individual)
 |          Which features should participate in the selection.
 |          Format examples:
 |              - [0, 2, 3, 4, 17]
 |              - [0, "2-4", 17] (both ends in ranges are inclusive)
 |              - "0,2-4,20"
 |              - ["Name0", "Name2", "Name3", "Name4", "Name20"]
 |
 |      num_features_to_select : positive int
 |          (for grouping = Individual)
 |          How many features to select from features_for_select.
 |
 |      algorithm : EFeaturesSelectionAlgorithm or string, optional (default=RecursiveByShapValues)
 |          Which algorithm to use for features selection.
 |          Possible values:
 |              - RecursiveByPredictionValuesChange
 |                  Use prediction values change as feature strength, eliminate batch of features at once.
 |              - RecursiveByLossFunctionChange
 |                  Use loss function change as feature strength, eliminate batch of features at each step.
 |              - RecursiveByShapValues
 |                  Use shap values to estimate loss function change, eliminate features one by one.
 |
 |      steps : positive int, optional (default=1)
 |          How many steps should be performed. In other words, how many times a full model will be trained.
 |          More steps give more accurate results.
 |
 |      shap_calc_type : EShapCalcType or string, optional (default=Regular)
 |          Which method to use for calculation of shap values.
 |          Possible values:
 |              - Regular
 |                  Calculate regular SHAP values
 |              - Approximate
 |                  Calculate approximate SHAP values
 |              - Exact
 |                  Calculate exact SHAP values
 |
 |      train_final_model : bool, optional (default=True)
 |          Need to fit model with selected features.
 |
 |      verbose : bool or int
 |          If verbose is bool, then if set to True, logging_level is set to Verbose,
 |          if set to False, logging_level is set to Silent.
 |          If verbose is int, it determines the frequency of writing metrics to output and
 |          logging_level is set to Verbose.
 |
 |      logging_level : string, optional (default=None)
 |          Possible values:
 |              - 'Silent'
 |              - 'Verbose'
 |              - 'Info'
 |              - 'Debug'
 |
 |      plot : bool, optional (default=False)
 |          If True, draw train and eval error in Jupyter notebook.
 |
 |      plot_file : file-like or str, optional (default=None)
 |          If not None, save train and eval error graphs to file
 |
 |      log_cout: output stream or callback for logging (default=None)
 |          If None is specified, sys.stdout is used
 |
 |      log_cerr: error stream or callback for logging (default=None)
 |          If None is specified, sys.stderr is used
 |
 |      grouping : EFeaturesSelectionGrouping or string, optional (default=Individual)
 |          Which grouping to use for features selection.
 |          Possible values:
 |              - Individual
 |                  Select individual features
 |              - ByTags
 |                  Select feature groups (marked by tags)
 |
 |      features_tags_for_select : list of strings
 |          (for grouping = ByTags)
 |          Which features tags should participate in the selection.
 |
 |      num_features_tags_to_select : positive int
 |          (for grouping = ByTags)
 |          How many features tags to select from features_tags_for_select.
 |
 |      Returns
 |      -------
 |      dict with fields:
 |          'selected_features': list of selected features indices
 |          'eliminated_features': list of eliminated features indices
 |          'selected_features_tags': list of selected features tags (optional, present if grouping == ByTags)
 |          'eliminated_features_tags': list of selected features tags (optional, present if grouping == ByTags)
 |
 |  set_params(self, **params)
 |      Set parameters into CatBoost model.
 |
 |      Parameters
 |      ----------
 |      **params : key=value format
 |          List of key=value paris. Example: model.set_params(iterations=500, thread_count=2).
 |
 |  shrink(self, ntree_end, ntree_start=0)
 |      Shrink the model.
 |
 |      Parameters
 |      ----------
 |      ntree_end: int
 |          Leave the trees with indices from the interval [ntree_start, ntree_end) (zero-based indexing).
 |      ntree_start: int, optional (default=0)
 |          Leave the trees with indices from the interval [ntree_start, ntree_end) (zero-based indexing).
 |
 |  virtual_ensembles_predict(self, data, prediction_type='VirtEnsembles', ntree_end=0, virtual_ensembles_count=10, thread_count=-1, verbose=None)
 |      Predict with data.
 |
 |      Parameters
 |      ----------
 |      data : catboost.Pool or list of features or list of lists or numpy.ndarray or pandas.DataFrame or pandas.Series
 |               or polars.DataFrame or polars.Series or catboost.FeaturesData
 |          Data to apply model on.
 |          If data is a simple list (not list of lists) or a one-dimensional numpy.ndarray it is interpreted
 |          as a list of features for a single object.
 |
 |      prediction_type : string, optional (default='RawFormulaVal')
 |          Can be:
 |          - 'VirtEnsembles': return V (virtual_ensembles_count) predictions.
 |              k-th virtEnsemle consists of trees [0, T/2] + [T/2 + T/(2V) * k, T/2 + T/(2V) * (k + 1)]  * constant.
 |          - 'TotalUncertainty': see returned predictions format in 'Returns' part
 |
 |      ntree_end: int, optional (default=0)
 |          Model is applied on the interval [ntree_start, ntree_end) (zero-based indexing).
 |          If value equals to 0 this parameter is ignored and ntree_end equal to tree_count_.
 |
 |      virtual_ensembles_count: int, optional (default=10)
 |          virtual ensembles count for 'TotalUncertainty' and 'VirtEnsembles' prediction types.
 |
 |      thread_count : int (default=-1)
 |          The number of threads to use when applying the model.
 |          Allows you to optimize the speed of execution. This parameter doesn't affect results.
 |          If -1, then the number of threads is set to the number of CPU cores.
 |
 |      verbose : bool, optional (default=False)
 |          If True, writes the evaluation metric measured set to stderr.
 |
 |      Returns
 |      -------
 |      prediction :
 |          (with V as virtual_ensembles_count and T as trees count,
 |          k-th virtEnsemle consists of trees [0, T/2] + [T/2 + T/(2V) * k, T/2 + T/(2V) * (k + 1)]  * constant)
 |          If data is for a single object, return 1-dimensional array of predictions with size depends on prediction type,
 |          otherwise return 2-dimensional numpy.ndarray with shape (number_of_objects x size depends on prediction type);
 |          Returned predictions depends on prediction type:
 |          If loss-function was RMSEWithUncertainty:
 |              - 'VirtEnsembles': [mean0, var0, mean1, var1, ..., vark-1].
 |              - 'TotalUncertainty': [mean_predict, KnowledgeUnc, DataUnc].
 |          otherwise for regression:
 |              - 'VirtEnsembles':  [mean0, mean1, ...].
 |              - 'TotalUncertainty': [mean_predicts, KnowledgeUnc].
 |          otherwise for binary classification:
 |              - 'VirtEnsembles':  [ApproxRawFormulaVal0, ApproxRawFormulaVal1, ..., ApproxRawFormulaValk-1].
 |              - 'TotalUncertainty':  [DataUnc, TotalUnc].
 |
 |  ----------------------------------------------------------------------
 |  Readonly properties inherited from CatBoost:
 |
 |  feature_importances_
 |
 |  ----------------------------------------------------------------------
 |  Methods inherited from _CatBoostBase:
 |
 |  __copy__(self)
 |
 |  __deepcopy__(self, _)
 |
 |  __eq__(self, other)
 |      Return self==value.
 |
 |  __getstate__(self)
 |      Helper for pickle.
 |
 |  __ne__(self, other)
 |      Return self!=value.
 |
 |  __repr__(self) -> str
 |      Return repr(self).
 |
 |  __setstate__(self, state)
 |
 |  __sklearn_tags__(self)
 |
 |  copy(self)
 |
 |  get_best_iteration(self)
 |
 |  get_best_score(self)
 |
 |  get_evals_result(self)
 |
 |  get_leaf_values(self)
 |      Returns
 |      -------
 |      leaf_values : 1d-array of leaf values for all trees.
 |      Value corresponding to j-th leaf of i-th tree is at position
 |      sum(get_tree_leaf_counts()[:i]) + j (leaf and tree indexing starts from zero).
 |
 |  get_leaf_weights(self)
 |      Returns
 |      -------
 |      leaf_weights : 1d-array of leaf weights for all trees.
 |      Weight of j-th leaf of i-th tree is at position
 |      sum(get_tree_leaf_counts()[:i]) + j (leaf and tree indexing starts from zero).
 |
 |  get_metadata(self)
 |
 |  get_n_features_in(self)
 |
 |  get_scale_and_bias(self)
 |
 |  get_test_eval(self)
 |
 |  get_test_evals(self)
 |
 |  get_tree_leaf_counts(self)
 |      Returns
 |      -------
 |      tree_leaf_counts : 1d-array of numpy.uint32 of size tree_count_.
 |      tree_leaf_counts[i] equals to the number of leafs in i-th tree of the ensemble.
 |
 |  is_fitted(self)
 |
 |  set_feature_names(self, feature_names)
 |      Sets feature names equal to feature_names
 |
 |      Parameters
 |      ----------
 |      feature_names: 1-d array of strings with new feature names in the same order as in pool
 |
 |  set_leaf_values(self, new_leaf_values)
 |      Sets values at tree leafs of ensemble equal to new_leaf_values.
 |
 |      Parameters
 |      ----------
 |      new_leaf_values : 1d-array with new leaf values for all trees.
 |      It's size should be equal to sum(get_tree_leaf_counts()).
 |      Value corresponding to j-th leaf of i-th tree should be at position
 |      sum(get_tree_leaf_counts()[:i]) + j (leaf and tree indexing starts from zero).
 |
 |  set_scale_and_bias(self, scale, bias)
 |
 |  ----------------------------------------------------------------------
 |  Static methods inherited from _CatBoostBase:
 |
 |  get_sklearn_estimator_xfail_checks(estimator: '_CatBoostBase') -> Dict[str, str]
 |      To pass to:
 |          For scikit-learn >= 1.6:
 |              to 'expected_failed_checks' parameter in sklearn.utils.estimator_checks.parametrize_with_checks
 |          For scikit-learn < 1.6:
 |              to '_xfail_checks' field returned by '_CatBoostBase._get_tags'.
 |
 |      This method is made static to be able to pass it to sklearn.utils.estimator_checks.parametrize_with_checks
 |
 |  ----------------------------------------------------------------------
 |  Readonly properties inherited from _CatBoostBase:
 |
 |  best_iteration_
 |
 |  best_score_
 |
 |  classes_
 |
 |  evals_result_
 |
 |  feature_names_
 |
 |  learning_rate_
 |
 |  n_features_in_
 |
 |  random_seed_
 |
 |  tree_count_
 |
 |  ----------------------------------------------------------------------
 |  Data descriptors inherited from _CatBoostBase:
 |
 |  __dict__
 |      dictionary for instance variables
 |
 |  __weakref__
 |      list of weak references to the object
 |
 |  ----------------------------------------------------------------------
 |  Data and other attributes inherited from _CatBoostBase:
 |
 |  __hash__ = None
catboost.CatBoostError
Python Library Documentation: class CatBoostError in module catboost._catboost

class CatBoostError(builtins.Exception)
 |  Method resolution order:
 |      CatBoostError
 |      builtins.Exception
 |      builtins.BaseException
 |      builtins.object
 |
 |  Data descriptors defined here:
 |
 |  __weakref__
 |      list of weak references to the object
 |
 |  ----------------------------------------------------------------------
 |  Methods inherited from builtins.Exception:
 |
 |  __init__(self, /, *args, **kwargs)
 |      Initialize self.  See help(type(self)) for accurate signature.
 |
 |  ----------------------------------------------------------------------
 |  Static methods inherited from builtins.Exception:
 |
 |  __new__(*args, **kwargs) class method of builtins.Exception
 |      Create and return a new object.  See help(type) for accurate signature.
 |
 |  ----------------------------------------------------------------------
 |  Methods inherited from builtins.BaseException:
 |
 |  __getattribute__(self, name, /)
 |      Return getattr(self, name).
 |
 |  __reduce__(...)
 |      Helper for pickle.
 |
 |  __repr__(self, /)
 |      Return repr(self).
 |
 |  __setstate__(...)
 |
 |  __str__(self, /)
 |      Return str(self).
 |
 |  add_note(...)
 |      Exception.add_note(note) --
 |      add a note to the exception
 |
 |  with_traceback(...)
 |      Exception.with_traceback(tb) --
 |      set self.__traceback__ to tb and return self.
 |
 |  ----------------------------------------------------------------------
 |  Data descriptors inherited from builtins.BaseException:
 |
 |  __cause__
 |      exception cause
 |
 |  __context__
 |      exception context
 |
 |  __dict__
 |
 |  __suppress_context__
 |
 |  __traceback__
 |
 |  args
catboost.CatBoostRanker
Python Library Documentation: class CatBoostRanker in module catboost.core

class CatBoostRanker(CatBoost)
 |  CatBoostRanker(iterations=None, learning_rate=None, depth=None, l2_leaf_reg=None, model_size_reg=None, rsm=None, loss_function='YetiRank', border_count=None, feature_border_type=None, per_float_feature_quantization=None, input_borders=None, output_borders=None, fold_permutation_block=None, od_pval=None, od_wait=None, od_type=None, nan_mode=None, counter_calc_method=None, leaf_estimation_iterations=None, leaf_estimation_method=None, thread_count=None, random_seed=None, use_best_model=None, best_model_min_trees=None, verbose=None, silent=None, logging_level=None, metric_period=None, ctr_leaf_count_limit=None, store_all_simple_ctr=None, max_ctr_complexity=None, has_time=None, allow_const_label=None, target_border=None, one_hot_max_size=None, random_strength=None, random_score_type=None, name=None, ignored_features=None, train_dir=None, custom_metric=None, eval_metric=None, bagging_temperature=None, save_snapshot=None, snapshot_file=None, snapshot_interval=None, fold_len_multiplier=None, used_ram_limit=None, gpu_ram_part=None, pinned_memory_size=None, allow_writing_files=None, final_ctr_computation_mode=None, approx_on_full_history=None, boosting_type=None, simple_ctr=None, combinations_ctr=None, per_feature_ctr=None, ctr_description=None, ctr_target_border_count=None, task_type=None, device_config=None, devices=None, bootstrap_type=None, subsample=None, mvs_reg=None, sampling_frequency=None, sampling_unit=None, dev_score_calc_obj_block_size=None, dev_efb_max_buckets=None, sparse_features_conflict_fraction=None, max_depth=None, n_estimators=None, num_boost_round=None, num_trees=None, colsample_bylevel=None, random_state=None, reg_lambda=None, objective=None, eta=None, max_bin=None, gpu_cat_features_storage=None, data_partition=None, metadata=None, early_stopping_rounds=None, cat_features=None, grow_policy=None, min_data_in_leaf=None, min_child_samples=None, max_leaves=None, num_leaves=None, score_function=None, leaf_estimation_backtracking=None, ctr_history_unit=None, monotone_constraints=None, feature_weights=None, penalties_coefficient=None, first_feature_use_penalties=None, per_object_feature_penalties=None, model_shrink_rate=None, model_shrink_mode=None, langevin=None, diffusion_temperature=None, posterior_sampling=None, boost_from_average=None, text_features=None, tokenizers=None, dictionaries=None, feature_calcers=None, text_processing=None, embedding_features=None, eval_fraction=None, fixed_binary_splits=None)
 |
 |  Implementation of the scikit-learn API for CatBoost ranking.
 |  Parameters
 |  ----------
 |  Like in CatBoostClassifier, except loss_function, classes_count, class_names and class_weights
 |  loss_function : string, [default='YetiRank']
 |      'YetiRank'
 |      'YetiRankPairwise'
 |      'StochasticFilter'
 |      'StochasticRank'
 |      'QueryCrossEntropy'
 |      'QueryRMSE'
 |      'GroupQuantile'
 |      'QuerySoftMax'
 |      'PairLogit'
 |      'PairLogitPairwise'
 |
 |  Method resolution order:
 |      CatBoostRanker
 |      CatBoost
 |      _CatBoostBase
 |      builtins.object
 |
 |  Methods defined here:
 |
 |  __init__(self, iterations=None, learning_rate=None, depth=None, l2_leaf_reg=None, model_size_reg=None, rsm=None, loss_function='YetiRank', border_count=None, feature_border_type=None, per_float_feature_quantization=None, input_borders=None, output_borders=None, fold_permutation_block=None, od_pval=None, od_wait=None, od_type=None, nan_mode=None, counter_calc_method=None, leaf_estimation_iterations=None, leaf_estimation_method=None, thread_count=None, random_seed=None, use_best_model=None, best_model_min_trees=None, verbose=None, silent=None, logging_level=None, metric_period=None, ctr_leaf_count_limit=None, store_all_simple_ctr=None, max_ctr_complexity=None, has_time=None, allow_const_label=None, target_border=None, one_hot_max_size=None, random_strength=None, random_score_type=None, name=None, ignored_features=None, train_dir=None, custom_metric=None, eval_metric=None, bagging_temperature=None, save_snapshot=None, snapshot_file=None, snapshot_interval=None, fold_len_multiplier=None, used_ram_limit=None, gpu_ram_part=None, pinned_memory_size=None, allow_writing_files=None, final_ctr_computation_mode=None, approx_on_full_history=None, boosting_type=None, simple_ctr=None, combinations_ctr=None, per_feature_ctr=None, ctr_description=None, ctr_target_border_count=None, task_type=None, device_config=None, devices=None, bootstrap_type=None, subsample=None, mvs_reg=None, sampling_frequency=None, sampling_unit=None, dev_score_calc_obj_block_size=None, dev_efb_max_buckets=None, sparse_features_conflict_fraction=None, max_depth=None, n_estimators=None, num_boost_round=None, num_trees=None, colsample_bylevel=None, random_state=None, reg_lambda=None, objective=None, eta=None, max_bin=None, gpu_cat_features_storage=None, data_partition=None, metadata=None, early_stopping_rounds=None, cat_features=None, grow_policy=None, min_data_in_leaf=None, min_child_samples=None, max_leaves=None, num_leaves=None, score_function=None, leaf_estimation_backtracking=None, ctr_history_unit=None, monotone_constraints=None, feature_weights=None, penalties_coefficient=None, first_feature_use_penalties=None, per_object_feature_penalties=None, model_shrink_rate=None, model_shrink_mode=None, langevin=None, diffusion_temperature=None, posterior_sampling=None, boost_from_average=None, text_features=None, tokenizers=None, dictionaries=None, feature_calcers=None, text_processing=None, embedding_features=None, eval_fraction=None, fixed_binary_splits=None)
 |      Initialize the CatBoost.
 |
 |      Parameters
 |      ----------
 |      params : dict
 |          Parameters for CatBoost.
 |          If  None, all params are set to their defaults.
 |          If  dict, overriding parameters present in dict.
 |
 |  fit(self, X, y=None, group_id=None, cat_features=None, text_features=None, embedding_features=None, pairs=None, graph=None, sample_weight=None, group_weight=None, subgroup_id=None, pairs_weight=None, baseline=None, use_best_model=None, eval_set=None, verbose=None, logging_level=None, plot=False, plot_file=None, column_description=None, verbose_eval=None, metric_period=None, silent=None, early_stopping_rounds=None, save_snapshot=None, snapshot_file=None, snapshot_interval=None, init_model=None, callbacks=None, log_cout=None, log_cerr=None)
 |      Fit the CatBoostRanker model.
 |      Parameters
 |      ----------
 |      X : catboost.Pool or list or numpy.ndarray or pandas.DataFrame or pandas.Series or polars.DataFrame
 |          If not catboost.Pool, 2 dimensional Feature matrix or string - file with dataset.
 |      y : list or numpy.ndarray or pandas.DataFrame or pandas.Series or polars.DataFrame or polars.Series, optional (default=None)
 |          Labels of the training data.
 |          If not None, can be a single-dimensional array with numerical values.
 |          Use only if X is not catboost.Pool and does not point to a file.
 |      group_id : numpy.ndarray or pandas.DataFrame or pandas.Series or polars.Series, optional (default=None)
 |          Ranking groups, 1 dimensional array like.
 |          Use only if X is not catboost.Pool.
 |      cat_features : list or numpy.ndarray, optional (default=None)
 |          If not None, giving the list of Categ columns indices.
 |          Use only if X is not catboost.Pool.
 |      text_features : list or numpy.ndarray, optional (default=None)
 |          If not None, giving the list of Text columns indices.
 |          Use only if X is not catboost.Pool.
 |      embedding_features : list or numpy.ndarray, optional (default=None)
 |          If not None, giving the list of Embedding columns indices.
 |          Use only if X is not catboost.Pool.
 |      pairs : list or numpy.ndarray or pandas.DataFrame or polars.DataFrame, optional (default=None)
 |          The pairs description in the form of a two-dimensional matrix of shape N by 2:
 |          N is the number of pairs.
 |          The first element of the pair is the zero-based index of the winner object from the input dataset for pairwise comparison.
 |          The second element of the pair is the zero-based index of the loser object from the input dataset for pairwise comparison.
 |      graph : list or numpy.ndarray or pandas.DataFrame or polars.DataFrame
 |          The graph edges list description.
 |          If list or numpy.ndarrays or pandas.DataFrame, giving 2 dimensional.
 |      sample_weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series or polars.Series, optional (default=None)
 |          Instance weights, 1 dimensional array like.
 |      group_weight : list or numpy.ndarray or polars.Series (default=None)
 |          The weights of all objects within the defined groups from the input data in the form of one-dimensional array-like data.
 |          Used for calculating the final values of trees. By default, it is set to 1 for all objects in all groups.
 |          Only a weight or group_weight parameter can be used at a time
 |      subgroup_id : list or numpy.ndarray or polars.Series (default=None)
 |          Subgroup identifiers for all input objects. Supported identifier types are:
 |          int
 |          string types (string or unicode for Python 2 and bytes or string for Python 3).
 |      pairs_weight : list or numpy.ndarray or polars.Series (default=None)
 |          The weight of each input pair of objects in the form of one-dimensional array-like pairs.
 |          The number of given values must match the number of specified pairs.
 |          This information is used for calculation and optimization of Pairwise metrics .
 |          By default, it is set to 1 for all pairs.
 |      baseline : list or numpy.ndarray or polars.DataFrame or polars.Series, optional (default=None)
 |          If not None, giving 2 dimensional array like data.
 |          Use only if X is not catboost.Pool.
 |      use_best_model : bool, optional (default=None)
 |          Flag to use best model
 |      eval_set : catboost.Pool or list of catboost.Pool or tuple (X, y) or list [(X, y)], optional (default=None)
 |          Validation dataset or datasets for metrics calculation and possibly early stopping.
 |      verbose : bool or int
 |          If verbose is bool, then if set to True, logging_level is set to Verbose,
 |          if set to False, logging_level is set to Silent.
 |          If verbose is int, it determines the frequency of writing metrics to output and
 |          logging_level is set to Verbose.
 |      logging_level : string, optional (default=None)
 |          Possible values:
 |              - 'Silent'
 |              - 'Verbose'
 |              - 'Info'
 |              - 'Debug'
 |      plot : bool, optional (default=False)
 |          If True, draw train and eval error in Jupyter notebook
 |      plot_file : file-like or str, optional (default=None)
 |          If not None, save train and eval error graphs to file
 |      verbose_eval : bool or int
 |          Synonym for verbose. Only one of these parameters should be set.
 |      metric_period : int
 |          Frequency of evaluating metrics.
 |      silent : bool
 |          If silent is True, logging_level is set to Silent.
 |          If silent is False, logging_level is set to Verbose.
 |      early_stopping_rounds : int
 |          Activates Iter overfitting detector with od_wait set to early_stopping_rounds.
 |      save_snapshot : bool, [default=None]
 |          Enable progress snapshotting for restoring progress after crashes or interruptions
 |      snapshot_file : string or os.PathLike, [default=None]
 |          Learn progress snapshot file path, if None will use default filename
 |      snapshot_interval: int, [default=600]
 |          Interval between saving snapshots (seconds)
 |      init_model : CatBoost class or string or os.PathLike, [default=None]
 |          Continue training starting from the existing model.
 |          If this parameter is a string or os.PathLike, load initial model from the path specified by this string.
 |      callbacks : list, optional (default=None)
 |          List of callback objects that are applied at end of each iteration.
 |
 |      log_cout: output stream or callback for logging (default=None)
 |          If None is specified, sys.stdout is used
 |
 |      log_cerr: error stream or callback for logging (default=None)
 |          If None is specified, sys.stderr is used
 |
 |      Returns
 |      -------
 |      model : CatBoost
 |
 |  predict(self, X, ntree_start=0, ntree_end=0, thread_count=-1, verbose=None)
 |      Predict with data.
 |      Parameters
 |      ----------
 |      X : catboost.Pool or list of features or list of lists or numpy.ndarray or pandas.DataFrame or pandas.Series
 |              or polars.DataFrame or polars.Series or catboost.FeaturesData
 |          Data to apply model on.
 |          If data is a simple list (not list of lists) or a one-dimensional numpy.ndarray it is interpreted
 |          as a list of features for a single object.
 |      ntree_start: int, optional (default=0)
 |          Model is applied on the interval [ntree_start, ntree_end) (zero-based indexing).
 |      ntree_end: int, optional (default=0)
 |          Model is applied on the interval [ntree_start, ntree_end) (zero-based indexing).
 |          If value equals to 0 this parameter is ignored and ntree_end equal to tree_count_.
 |      thread_count : int (default=-1)
 |          The number of threads to use when applying the model.
 |          Allows you to optimize the speed of execution. This parameter doesn't affect results.
 |          If -1, then the number of threads is set to the number of CPU cores.
 |      verbose : bool
 |          If True, writes the evaluation metric measured set to stderr.
 |      Returns
 |      -------
 |      prediction :
 |          If data is for a single object, the return value is single float formula return value
 |          otherwise one-dimensional numpy.ndarray of formula return values for each object.
 |
 |  score(self, X, y=None, group_id=None, top=None, type=None, denominator=None, group_weight=None, thread_count=-1)
 |      Calculate NDCG@top
 |      Parameters
 |      ----------
 |      X : catboost.Pool or list or numpy.ndarray or pandas.DataFrame or pandas.Series or polars.DataFrame
 |          Data to apply model on.
 |      y : list or numpy.ndarrays or pandas.DataFrame or pandas.Series or polars.Series
 |          True labels.
 |      group_id : list or numpy.ndarray or pandas.DataFrame or pandas.Series
 |          Ranking groups. If X is a Pool, group_id must be defined into X
 |      top : unsigned integer, up to `pow(2, 32) / 2 - 1`
 |          NDCG, Number of top-ranked objects to calculate NDCG
 |      type : str
 |          NDCG, Metric_type: 'Base' or 'Exp'
 |      denominator : str
 |          NDCG, Denominator type: 'LogPosition' or 'Position'
 |      group_weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series
 |          Group weights.
 |      thread_count : int, optional (default=-1)
 |          Number of threads to work with.
 |      Returns
 |      -------
 |      NDCG@top : float
 |                 higher is better
 |
 |  staged_predict(self, X, ntree_start=0, ntree_end=0, eval_period=1, thread_count=-1, verbose=None)
 |      Predict target at each stage for data.
 |      Parameters
 |      ----------
 |      X : catboost.Pool or list of features or list of lists or numpy.ndarray or pandas.DataFrame or pandas.Series
 |              or polars.DataFrame or polars.Series or catboost.FeaturesData
 |          Data to apply model on.
 |          If data is a simple list (not list of lists) or a one-dimensional numpy.ndarray it is interpreted
 |          as a list of features for a single object.
 |      ntree_start: int, optional (default=0)
 |          Model is applied on the interval [ntree_start, ntree_end) with the step eval_period (zero-based indexing).
 |      ntree_end: int, optional (default=0)
 |          Model is applied on the interval [ntree_start, ntree_end) with the step eval_period (zero-based indexing).
 |          If value equals to 0 this parameter is ignored and ntree_end equal to tree_count_.
 |      eval_period: int, optional (default=1)
 |          Model is applied on the interval [ntree_start, ntree_end) with the step eval_period (zero-based indexing).
 |      thread_count : int (default=-1)
 |          The number of threads to use when applying the model.
 |          Allows you to optimize the speed of execution. This parameter doesn't affect results.
 |          If -1, then the number of threads is set to the number of CPU cores.
 |      verbose : bool
 |          If True, writes the evaluation metric measured set to stderr.
 |      Returns
 |      -------
 |      prediction : generator for each iteration that generates:
 |          If data is for a single object, the return value is single float formula return value
 |          otherwise one-dimensional numpy.ndarray of formula return values for each object.
 |
 |  ----------------------------------------------------------------------
 |  Methods inherited from CatBoost:
 |
 |  calc_feature_statistics(self, data, target=None, feature=None, prediction_type=None, cat_feature_values=None, plot=True, max_cat_features_on_plot=10, thread_count=-1, plot_file=None)
 |      Get statistics for the feature using the model, dataset and target.
 |      To use this function, you should install plotly.
 |
 |      The catboost model has borders for the float features used in it. The borders divide
 |      feature values into bins, and the model's prediction depends on the number of the bin where the
 |      feature value falls in.
 |
 |      For float features this function takes model's borders and computes
 |      1) Mean target value for every bin;
 |      2) Mean model prediction for every bin;
 |      3) The number of objects in dataset which fall into each bin;
 |      4) Predictions on varying feature. For every object, varies the feature value
 |      so that it falls into bin #0, bin #1, ... and counts model predictions.
 |      Then counts average prediction for each bin.
 |
 |      For categorical features (only one-hot supported) does the same, but takes feature values
 |      provided in cat_feature_values instead of borders.
 |
 |      Parameters
 |      ----------
 |      data: numpy.ndarray or pandas.DataFrame or polars.DataFrame or catboost. Pool or dict {'pool_name': pool} if you want several pools
 |          Data to compute statistics on
 |      target: numpy.ndarray or pandas.Series or polars.Series or dict {'pool_name': target} if you want several pools or None
 |          Target corresponding to data
 |          Use only if data is not catboost.Pool.
 |      feature: None, int, string, or list of int or strings
 |          Features indexes or names in pd.DataFrame for which you want to get statistics.
 |          None, if you need statistics for all features.
 |      prediction_type: str
 |          Prediction type used for counting mean_prediction: 'Class', 'Probability' or 'RawFormulaVal'.
 |          If not specified, is derived from the model.
 |      cat_feature_values: list or numpy.ndarray or pandas.Series or
 |                          dict: int or string to list or numpy.ndarray or pandas.Series
 |          Contains categorical feature values you need to get statistics on.
 |          Use dict, when parameter 'feature' is a list to specify cat values for different features.
 |          When parameter 'feature' is int or str, you can just pass list of cat values.
 |      plot: bool
 |          Plot statistics.
 |      max_cat_features_on_plot: int
 |          If categorical feature takes more than max_cat_features_on_plot different unique values,
 |          output result on several plots, not more than max_cat_features_on_plot feature values on each.
 |          Used only if plot=True or plot_file is not None.
 |      thread_count: int
 |          Number of threads to use for getting statistics.
 |      plot_file: str
 |          Output file for plot statistics.
 |
 |      Returns
 |      -------
 |      dict if parameter 'feature' is int or string, else dict of dicts:
 |          For each unique feature contain
 |          python dict with binarized feature statistics.
 |          For float feature, includes
 |                  'borders' -- borders for the specified feature in model
 |                  'binarized_feature' -- numbers of bins where feature values fall
 |                  'mean_target' -- mean value of target over each bin
 |                  'mean_prediction' -- mean value of model prediction over each bin
 |                  'objects_per_bin' -- number of objects per bin
 |                  'predictions_on_varying_feature' -- averaged over dataset predictions for
 |                  varying feature (see above)
 |          For one-hot feature, returns the same, but with 'cat_values' instead of 'borders'
 |
 |  calc_leaf_indexes(self, data, ntree_start=0, ntree_end=0, thread_count=-1, verbose=False)
 |      Returns indexes of leafs to which objects from pool are mapped by model trees.
 |
 |      Parameters
 |      ----------
 |      data : catboost.Pool or list of features or list of lists or numpy.ndarray or pandas.DataFrame or pandas.Series
 |              or polars.DataFrame or polars.Series or catboost.FeaturesData
 |          Data to apply model on.
 |          If data is a simple list (not list of lists) or a one-dimensional numpy.ndarray it is interpreted
 |          as a list of features for a single object.
 |
 |      ntree_start: int, optional (default=0)
 |          Index of first tree for which leaf indexes will be calculated (zero-based indexing).
 |
 |      ntree_end: int, optional (default=0)
 |          Index of the tree after last tree for which leaf indexes will be calculated (zero-based indexing).
 |          If value equals to 0 this parameter is ignored and ntree_end equal to tree_count_.
 |
 |      thread_count : int (default=-1)
 |          The number of threads to use when applying the model.
 |          Allows you to optimize the speed of execution. This parameter doesn't affect results.
 |          If -1, then the number of threads is set to the number of CPU cores.
 |
 |      verbose : bool (default=False)
 |          Enable debug logging level.
 |
 |      Returns
 |      -------
 |      leaf_indexes : 2-dimensional numpy.ndarray of numpy.uint32 with shape (object count, ntree_end - ntree_start).
 |          i-th row is an array of leaf indexes for i-th object.
 |
 |  compare(self, model, data, metrics, ntree_start=0, ntree_end=0, eval_period=1, thread_count=-1, tmp_dir=None, plot_file=None, log_cout=None, log_cerr=None)
 |      Draw train and eval errors in Jupyter notebook for both models
 |
 |      Parameters
 |      ----------
 |      model: CatBoost model
 |          Another model to draw metrics
 |
 |      data : catboost.Pool
 |          Data to evaluate metrics on.
 |
 |      metrics : list of strings or catboost.metrics.BuiltinMetric
 |          List of evaluated metrics.
 |
 |      ntree_start: int, optional (default=0)
 |          Model is applied on the interval [ntree_start, ntree_end) (zero-based indexing).
 |
 |      ntree_end: int, optional (default=0)
 |          Model is applied on the interval [ntree_start, ntree_end) (zero-based indexing).
 |          If value equals to 0 this parameter is ignored and ntree_end equal to tree_count_.
 |
 |      eval_period: int, optional (default=1)
 |          Model is applied on the interval [ntree_start, ntree_end) with the step eval_period (zero-based indexing).
 |
 |      thread_count : int (default=-1)
 |          The number of threads to use when applying the model.
 |          Allows you to optimize the speed of execution. This parameter doesn't affect results.
 |          If -1, then the number of threads is set to the number of CPU cores.
 |
 |      tmp_dir : string or os.PathLike (default=None)
 |          The name of the temporary directory for intermediate results.
 |          If None, then the name will be generated.
 |
 |      plot_file : file-like or str, optional (default=None)
 |          If not None, save eval error graphs to file
 |
 |      log_cout: output stream or callback for logging (default=None)
 |          If None is specified, sys.stdout is used
 |
 |      log_cerr: error stream or callback for logging (default=None)
 |          If None is specified, sys.stderr is used
 |
 |  create_metric_calcer(self, metrics, ntree_start=0, ntree_end=0, eval_period=1, thread_count=-1, tmp_dir=None)
 |      Create batch metric calcer. Could be used to aggregate metric on several pools
 |      Parameters
 |      ----------
 |          Same as in eval_metrics except data
 |      Returns
 |      -------
 |          BatchMetricCalcer object
 |
 |      Usage example
 |      -------
 |      # Large dataset is partitioned into parts [part1, part2]
 |      model.fit(params)
 |      batch_calcer = model.create_metric_calcer(['Logloss'])
 |      batch_calcer.add(part1)
 |      batch_calcer.add(part2)
 |      metrics = batch_calcer.eval_metrics()
 |
 |  drop_unused_features(self)
 |      Drop unused features information from model
 |
 |  eval_metrics(self, data, metrics, ntree_start=0, ntree_end=0, eval_period=1, thread_count=-1, tmp_dir=None, plot=False, plot_file=None, log_cout=None, log_cerr=None)
 |      Calculate metrics.
 |
 |      Parameters
 |      ----------
 |      data : catboost.Pool
 |          Data to evaluate metrics on.
 |
 |      metrics : list of strings or catboost.metrics.BuiltinMetric
 |          List of evaluated metrics.
 |
 |      ntree_start: int, optional (default=0)
 |          Model is applied on the interval [ntree_start, ntree_end) (zero-based indexing).
 |
 |      ntree_end: int, optional (default=0)
 |          Model is applied on the interval [ntree_start, ntree_end) (zero-based indexing).
 |          If value equals to 0 this parameter is ignored and ntree_end equal to tree_count_.
 |
 |      eval_period: int, optional (default=1)
 |          Model is applied on the interval [ntree_start, ntree_end) with the step eval_period (zero-based indexing).
 |
 |      thread_count : int (default=-1)
 |          The number of threads to use when applying the model.
 |          Allows you to optimize the speed of execution. This parameter doesn't affect results.
 |          If -1, then the number of threads is set to the number of CPU cores.
 |
 |      tmp_dir : string or os.PathLike (default=None)
 |          The name of the temporary directory for intermediate results.
 |          If None, then the name will be generated.
 |
 |      plot : bool, optional (default=False)
 |          If True, draw train and eval error in Jupyter notebook
 |
 |      plot_file : file-like or str, optional (default=None)
 |          If not None, save train and eval error graphs to file
 |
 |      log_cout: output stream or callback for logging (default=None)
 |          If None is specified, sys.stdout is used
 |
 |      log_cerr: error stream or callback for logging (default=None)
 |          If None is specified, sys.stderr is used
 |
 |      Returns
 |      -------
 |      prediction : dict: metric -> array of shape [(ntree_end - ntree_start) / eval_period]
 |
 |  get_all_params(self)
 |      Get all params (specified by user and default params) that were set in training from CatBoost model.
 |      Full parameters documentation could be found here: https://catboost.ai/docs/concepts/python-reference_parameters-list.html
 |
 |      Returns
 |      -------
 |      result : dict
 |          Dictionary of {param_key: param_value}.
 |
 |  get_borders(self)
 |      Return map feature_index: borders for float features.
 |
 |  get_cat_feature_indices(self)
 |
 |  get_embedding_feature_indices(self)
 |
 |  get_feature_importance(self, data=None, type=<EFstrType.FeatureImportance: 2>, prettified=False, thread_count=-1, verbose=False, fstr_type=None, shap_mode='Auto', model_output='Raw', interaction_indices=None, shap_calc_type='Regular', reference_data=None, sage_n_samples=128, sage_batch_size=512, sage_detect_convergence=True, log_cout=None, log_cerr=None)
 |      Parameters
 |      ----------
 |      data :
 |          Data to get feature importance.
 |          If type in ('LossFunctionChange', 'ShapValues', 'ShapInteractionValues') data must of Pool type.
 |              For every object in this dataset feature importances will be calculated.
 |          if type == 'SageValues' data must of Pool type.
 |              For every feature in this dataset importance will be calculated.
 |          If type == 'PredictionValuesChange', data is None or a dataset of Pool type
 |              Dataset specification is needed only in case if the model does not contain leaf weight information (trained with CatBoost v < 0.9).
 |          If type == 'PredictionDiff' data must contain a matrix of feature values of shape (2, n_features).
 |              Possible types are catboost.Pool or list of lists or numpy.ndarray or pandas.DataFrame or pandas.Series
 |              or polars.DataFrame or catboost.FeaturesData or pandas.SparseDataFrame or scipy.sparse.spmatrix
 |          If type == 'FeatureImportance'
 |              See 'PredictionValuesChange' for non-ranking metrics and 'LossFunctionChange' for ranking metrics.
 |          If type == 'Interaction'
 |              This parameter is not used.
 |
 |      type : EFstrType or string (converted to EFstrType), optional
 |                  (default=EFstrType.FeatureImportance)
 |          Possible values:
 |              - PredictionValuesChange
 |                  Calculate score for every feature.
 |              - LossFunctionChange
 |                  Calculate score for every feature by loss.
 |              - FeatureImportance
 |                  PredictionValuesChange for non-ranking metrics and LossFunctionChange for ranking metrics
 |              - ShapValues
 |                  Calculate SHAP Values for every object.
 |              - ShapInteractionValues
 |                  Calculate SHAP Interaction Values between each pair of features for every object
 |              - Interaction
 |                  Calculate pairwise score between every feature.
 |              - PredictionDiff
 |                  Calculate most important features explaining difference in predictions for a pair of documents.
 |              - SageValues
 |                  Calculate SAGE value for every feature
 |
 |      prettified : bool, optional (default=False)
 |          change returned data format to the list of (feature_id, importance) pairs sorted by importance
 |
 |      thread_count : int, optional (default=-1)
 |          Number of threads.
 |          If -1, then the number of threads is set to the number of CPU cores.
 |
 |      verbose : bool or int
 |          If False, then evaluation is not logged. If True, then each possible iteration is logged.
 |          If a positive integer, then it stands for the size of batch N. After processing each batch, print progress
 |          and remaining time.
 |
 |      fstr_type : string, deprecated, use type instead
 |
 |      shap_mode : string, optional (default="Auto")
 |          used only for ShapValues type
 |          Possible values:
 |              - "Auto"
 |                  Use direct SHAP Values calculation only if data size is smaller than average leaves number
 |                  (the best of two strategies below is chosen).
 |              - "UsePreCalc"
 |                  Calculate SHAP Values for every leaf in preprocessing. Final complexity is
 |                  O(NT(D+F))+O(TL^2 D^2) where N is the number of documents(objects), T - number of trees,
 |                  D - average tree depth, F - average number of features in tree, L - average number of leaves in tree
 |                  This is much faster (because of a smaller constant) than direct calculation when N >> L
 |              - "NoPreCalc"
 |                  Use direct SHAP Values calculation calculation with complexity O(NTLD^2). Direct algorithm
 |                  is faster when N < L (algorithm from https://arxiv.org/abs/1802.03888)
 |
 |      shap_calc_type : EShapCalcType or string, optional (default="Regular")
 |          used only for ShapValues type
 |          Possible values:
 |              - "Regular"
 |                  Calculate regular SHAP values
 |              - "Approximate"
 |                  Calculate approximate SHAP values
 |              - "Exact"
 |                  Calculate exact SHAP values
 |
 |      interaction_indices : list of int or string (feature_idx_1, feature_idx_2), optional (default=None)
 |          used only for ShapInteractionValues type
 |          Calculate SHAP Interaction Values between pair of features feature_idx_1 and feature_idx_2 for every object
 |
 |      reference_data: catboost.Pool or None
 |          Reference data for Independent Tree SHAP values from https://arxiv.org/abs/1905.04610v1
 |          if type == 'ShapValues' and reference_data is not None, then Independent Tree SHAP values are calculated
 |
 |      sage_n_samples: int, optional (default=32)
 |          Number of outer samples used in SAGE values approximation algorithm
 |      sage_batch_size: int, optional (default=min(512, number of samples in dataset))
 |          Number of samples used on each step of SAGE values approximation algorithm
 |      sage_detect_convergence: bool, optional (default=False)
 |          If set True, sage values calculation will be stopped either when sage values converge
 |          or when sage_n_samples iterations of algorithm pass
 |
 |      log_cout: output stream or callback for logging (default=None)
 |          If None is specified, sys.stdout is used
 |
 |      log_cerr: error stream or callback for logging (default=None)
 |          If None is specified, sys.stderr is used
 |
 |      Returns
 |      -------
 |      depends on type:
 |          - FeatureImportance
 |              See PredictionValuesChange for non-ranking metrics and LossFunctionChange for ranking metrics.
 |          - PredictionValuesChange, LossFunctionChange, PredictionDiff, SageValues with prettified=False (default)
 |              list of length [n_features] with feature_importance values (float) for feature
 |          - PredictionValuesChange, LossFunctionChange, PredictionDiff, SageValues with prettified=True
 |              list of length [n_features] with (feature_id (string), feature_importance (float)) pairs, sorted by feature_importance in descending order
 |          - ShapValues
 |              np.ndarray of shape (n_objects, n_features + 1) with Shap values (float) for (object, feature).
 |              In case of multiclass the returned value is np.ndarray of shape
 |              (n_objects, classes_count, n_features + 1). For each object it contains Shap values (float).
 |              Values are calculated for RawFormulaVal predictions.
 |          - ShapInteractionValues
 |              np.ndarray of shape (n_objects, n_features + 1, n_features + 1) with Shap interaction values (float) for (object, feature(i), feature(j)).
 |              In case of multiclass the returned value is np.ndarray of shape
 |              (n_objects, classes_count, n_features + 1, n_features + 1). For each object it contains Shap interaction values (float).
 |              Values are calculated for RawFormulaVal predictions.
 |          - Interaction
 |              list of length [n_features] of 3-element lists of (first_feature_index, second_feature_index, interaction_score (float))
 |
 |  get_object_importance(self, pool, train_pool, top_size=-1, type='Average', update_method='SinglePoint', importance_values_sign='All', thread_count=-1, verbose=False, ostr_type=None, log_cout=None, log_cerr=None)
 |      This is the implementation of the LeafInfluence algorithm from the following paper:
 |      https://arxiv.org/pdf/1802.06640.pdf
 |
 |      Parameters
 |      ----------
 |      pool : Pool
 |          The pool for which you want to evaluate the object importances.
 |
 |      train_pool : Pool
 |          The pool on which the model has been trained.
 |
 |      top_size : int (default=-1)
 |          Method returns the result of the top_size most important train objects.
 |          If -1, then the top size is not limited.
 |
 |      type : string, optional (default='Average')
 |          Possible values:
 |              - Average (Method returns the mean train objects scores for all input objects)
 |              - PerObject (Method returns the train objects scores for every input object)
 |
 |      importance_values_sign : string, optional (default='All')
 |          Method returns only Positive, Negative or All values.
 |          Possible values:
 |              - Positive
 |              - Negative
 |              - All
 |
 |      update_method : string, optional (default='SinglePoint')
 |          Possible values:
 |              - SinglePoint
 |              - TopKLeaves (It is posible to set top size : TopKLeaves:top=2)
 |              - AllPoints
 |          Description of the update set methods are given in section 3.1.3 of the paper.
 |
 |      thread_count : int, optional (default=-1)
 |          Number of threads.
 |          If -1, then the number of threads is set to the number of CPU cores.
 |
 |      verbose : bool or int
 |          If False, then evaluation is not logged. If True, then each possible iteration is logged.
 |          If a positive integer, then it stands for the size of batch N. After processing each batch, print progress
 |          and remaining time.
 |
 |      ostr_type : string, deprecated, use type instead
 |
 |      log_cout: output stream or callback for logging (default=None)
 |          If None is specified, sys.stdout is used
 |
 |      log_cerr: error stream or callback for logging (default=None)
 |          If None is specified, sys.stderr is used
 |
 |      Returns
 |      -------
 |      object_importances : tuple of two arrays (indices and scores) of shape = [top_size]
 |
 |  get_param(self, key)
 |      Get param value from CatBoost model.
 |
 |      Parameters
 |      ----------
 |      key : string
 |          The key to get param value from.
 |
 |      Returns
 |      -------
 |      value :
 |          The param value of the key, returns None if param do not exist.
 |
 |  get_params(self, **_unused_kwargs)
 |      Get all params from CatBoost model.
 |
 |      Returns
 |      -------
 |      result : dict
 |          Dictionary of {param_key: param_value}.
 |
 |  get_text_feature_indices(self)
 |
 |  grid_search(self, param_grid, X, y=None, cv=3, partition_random_seed=0, calc_cv_statistics=True, search_by_train_test_split=True, refit=True, shuffle=True, stratified=None, train_size=0.8, verbose=True, plot=False, plot_file=None, log_cout=None, log_cerr=None)
 |      Exhaustive search over specified parameter values for a model.
 |      After calling this method model is fitted and can be used, if not specified otherwise (refit=False).
 |
 |      Parameters
 |      ----------
 |      param_grid: dict or list of dictionaries
 |          Dictionary with parameters names (string) as keys and lists of parameter settings
 |          to try as values, or a list of such dictionaries, in which case the grids spanned by each
 |          dictionary in the list are explored.
 |          This enables searching over any sequence of parameter settings.
 |
 |      X: numpy.ndarray or pandas.DataFrame or polars.DataFrame or catboost.Pool
 |          Data to compute statistics on
 |
 |      y: list or numpy.ndarray or pandas.DataFrame or pandas.Series or polars.DataFrame or polars.Series, optional (default=None)
 |          Labels of the training data.
 |          If not None, can be a single- or two- dimensional array with either:
 |            - numerical values - for regression (including multiregression), ranking and binary classification problems
 |            - class labels (boolean, integer or string) - for classification (including multiclassification) problems
 |          Use only if X is not catboost.Pool and does not point to a file.
 |
 |      cv: int, cross-validation generator or an iterable, optional (default=None)
 |          Determines the cross-validation splitting strategy. Possible inputs for cv are:
 |          - None, to use the default 3-fold cross validation,
 |          - integer, to specify the number of folds in a (Stratified)KFold
 |          - one of the scikit-learn splitter classes
 |              (https://scikit-learn.org/stable/modules/classes.html#splitter-classes)
 |          - An iterable yielding (train, test) splits as arrays of indices.
 |
 |      partition_random_seed: int, optional (default=0)
 |          Use this as the seed value for random permutation of the data.
 |          Permutation is performed before splitting the data for cross validation.
 |          Each seed generates unique data splits.
 |          Used only when cv is None or int.
 |
 |      search_by_train_test_split: bool, optional (default=True)
 |          If True, source dataset is splitted into train and test parts, models are trained
 |          on the train part and parameters are compared by loss function score on the test part.
 |          After that, if calc_cv_statistics=true, statistics on metrics are calculated
 |          using cross-validation using best parameters and the model is fitted with these parameters.
 |
 |          If False, every iteration of grid search evaluates results on cross-validation.
 |          It is recommended to set parameter to True for large datasets, and to False for small datasets.
 |
 |      calc_cv_statistics: bool, optional (default=True)
 |          The parameter determines whether quality should be estimated.
 |          using cross-validation with the found best parameters. Used only when search_by_train_test_split=True.
 |
 |      refit: bool (default=True)
 |          Refit an estimator using the best found parameters on the whole dataset.
 |
 |      shuffle: bool, optional (default=True)
 |          Shuffle the dataset objects before parameters searching.
 |
 |      stratified: bool, optional (default=None)
 |          Perform stratified sampling. True for classification and False otherwise.
 |          Currently supported only for final cross-validation.
 |
 |      train_size: float, optional (default=0.8)
 |          Should be between 0.0 and 1.0 and represent the proportion of the dataset to include in the train split.
 |
 |      verbose: bool or int, optional (default=True)
 |          If verbose is int, it determines the frequency of writing metrics to output
 |          verbose==True is equal to verbose==1
 |          When verbose==False, there is no messages
 |
 |      plot : bool, optional (default=False)
 |          If True, draw train and eval error for every set of parameters in Jupyter notebook
 |
 |      plot_file : file-like or str, optional (default=None)
 |          If not None, save train and eval error for every set of parameters to file
 |
 |      log_cout: output stream or callback for logging (default=None)
 |          If None is specified, sys.stdout is used
 |
 |      log_cerr: error stream or callback for logging (default=None)
 |          If None is specified, sys.stderr is used
 |
 |      Returns
 |      -------
 |      dict with two fields:
 |          'params': dict of best found parameters
 |          'cv_results': dict or pandas.core.frame.DataFrame with cross-validation results
 |              columns are: test-error-mean  test-error-std  train-error-mean  train-error-std
 |
 |  iterate_leaf_indexes(self, data, ntree_start=0, ntree_end=0)
 |      Returns indexes of leafs to which objects from pool are mapped by model trees.
 |
 |      Parameters
 |      ----------
 |      data : catboost.Pool or list of features or list of lists or numpy.ndarray or pandas.DataFrame or pandas.Series
 |              or polars.DataFrame or polars.Series or catboost.FeaturesData
 |          Data to apply model on.
 |          If data is a simple list (not list of lists) or a one-dimensional numpy.ndarray it is interpreted
 |          as a list of features for a single object.
 |
 |      ntree_start: int, optional (default=0)
 |          Index of first tree for which leaf indexes will be calculated (zero-based indexing).
 |
 |      ntree_end: int, optional (default=0)
 |          Index of the tree after last tree for which leaf indexes will be calculated (zero-based indexing).
 |          If value equals to 0 this parameter is ignored and ntree_end equal to tree_count_.
 |
 |      Returns
 |      -------
 |      leaf_indexes : generator. For each object in pool yields one-dimensional numpy.ndarray of leaf indexes.
 |
 |  load_model(self, fname=None, format='cbm', stream=None, blob=None)
 |      Load model from a file, stream or blob.
 |
 |      Parameters
 |      ----------
 |      fname : string
 |          Input file name.
 |
 |  plot_partial_dependence(self, data, features, plot=True, plot_file=None, thread_count=-1)
 |      To use this function, you should install plotly.
 |      data: numpy.ndarray or pandas.DataFrame or polars.DataFrame or catboost.Pool
 |      features: int, str, list<int>, tuple<int>, list<string>, tuple<string>
 |          Float features to calculate partial dependence for. Number of features should be 1 or 2.
 |      plot: bool
 |          Plot predictions.
 |      plot_file: str
 |          Output file for plot predictions.
 |      thread_count: int
 |          Number of threads to use. If -1 use maximum available number of threads.
 |      Returns
 |      -------
 |          If number of features is one - 1d numpy array and figure with line plot.
 |          If number of features is two - 2d numpy array and figure with 2d heatmap.
 |
 |  plot_predictions(self, data, features_to_change, plot=True, plot_file=None)
 |      To use this function, you should install plotly.
 |
 |      data: numpy.ndarray or pandas.DataFrame or polars.DataFrame or catboost.Pool
 |      features_to_change: list-like with int (for indices) or str (for names) elements
 |          Numerical features indices or names in `data` for which you want to vary prediction value.
 |      plot: bool
 |          Plot predictions.
 |      plot_file: str
 |          Output file for plot predictions.
 |      Returns
 |      -------
 |          List of list of predictions for all buckets for all samples in data
 |
 |  plot_tree(self, tree_idx, pool=None)
 |
 |  randomized_search(self, param_distributions, X, y=None, cv=3, n_iter=10, partition_random_seed=0, calc_cv_statistics=True, search_by_train_test_split=True, refit=True, shuffle=True, stratified=None, train_size=0.8, verbose=True, plot=False, plot_file=None, log_cout=None, log_cerr=None)
 |      Randomized search on hyper parameters.
 |      After calling this method model is fitted and can be used, if not specified otherwise (refit=False).
 |
 |      In contrast to grid_search, not all parameter values are tried out,
 |      but rather a fixed number of parameter settings is sampled from the specified distributions.
 |      The number of parameter settings that are tried is given by n_iter.
 |
 |      Parameters
 |      ----------
 |      param_distributions: dict
 |          Dictionary with parameters names (string) as keys and distributions or lists of parameters to try.
 |          Distributions must provide a rvs method for sampling (such as those from scipy.stats.distributions).
 |          If a list is given, it is sampled uniformly.
 |
 |      X: numpy.ndarray or pandas.DataFrame or polars.DataFrame or catboost.Pool
 |          Data to compute statistics on
 |
 |      y: list or numpy.ndarray or pandas.DataFrame or pandas.Series or polars.DataFrame or polars.Series, optional (default=None)
 |          Labels of the training data.
 |          If not None, can be a single- or two- dimensional array with either:
 |            - numerical values - for regression (including multiregression), ranking and binary classification problems
 |            - class labels (boolean, integer or string) - for classification (including multiclassification) problems
 |          Use only if X is not catboost.Pool and does not point to a file.
 |
 |      cv: int, cross-validation generator or an iterable, optional (default=None)
 |          Determines the cross-validation splitting strategy. Possible inputs for cv are:
 |          - None, to use the default 3-fold cross validation,
 |          - integer, to specify the number of folds in a (Stratified)KFold
 |          - one of the scikit-learn splitter classes
 |              (https://scikit-learn.org/stable/modules/classes.html#splitter-classes)
 |          - An iterable yielding (train, test) splits as arrays of indices.
 |
 |      n_iter: int
 |          Number of parameter settings that are sampled.
 |          n_iter trades off runtime vs quality of the solution.
 |
 |      partition_random_seed: int, optional (default=0)
 |          Use this as the seed value for random permutation of the data.
 |          Permutation is performed before splitting the data for cross validation.
 |          Each seed generates unique data splits.
 |          Used only when cv is None or int.
 |
 |      search_by_train_test_split: bool, optional (default=True)
 |          If True, source dataset is splitted into train and test parts, models are trained
 |          on the train part and parameters are compared by loss function score on the test part.
 |          After that, if calc_cv_statistics=true, statistics on metrics are calculated
 |          using cross-validation using best parameters and the model is fitted with these parameters.
 |
 |          If False, every iteration of grid search evaluates results on cross-validation.
 |          It is recommended to set parameter to True for large datasets, and to False for small datasets.
 |
 |      calc_cv_statistics: bool, optional (default=True)
 |          The parameter determines whether quality should be estimated.
 |          using cross-validation with the found best parameters. Used only when search_by_train_test_split=True.
 |
 |      refit: bool (default=True)
 |          Refit an estimator using the best found parameters on the whole dataset.
 |
 |      shuffle: bool, optional (default=True)
 |          Shuffle the dataset objects before parameters searching.
 |
 |      stratified: bool, optional (default=None)
 |          Perform stratified sampling. True for classification and False otherwise.
 |          Currently supported only for cross-validation.
 |
 |      train_size: float, optional (default=0.8)
 |          Should be between 0.0 and 1.0 and represent the proportion of the dataset to include in the train split.
 |
 |      verbose: bool or int, optional (default=True)
 |          If verbose is int, it determines the frequency of writing metrics to output
 |          verbose==True is equal to verbose==1
 |          When verbose==False, there is no messages
 |
 |      plot : bool, optional (default=False)
 |          If True, draw train and eval error for every set of parameters in Jupyter notebook
 |
 |      plot_file : file-like or str, optional (default=None)
 |          If not None, save train and eval error for every set of parameters to file
 |
 |      log_cout: output stream or callback for logging (default=None)
 |          If None is specified, sys.stdout is used
 |
 |      log_cerr: error stream or callback for logging (default=None)
 |          If None is specified, sys.stderr is used
 |
 |      Returns
 |      -------
 |      dict with two fields:
 |          'params': dict of best found parameters
 |          'cv_results': dict or pandas.core.frame.DataFrame with cross-validation results
 |              columns are: test-error-mean  test-error-std  train-error-mean  train-error-std
 |
 |  save_borders(self, fname)
 |      Save the model borders to a file.
 |
 |      Parameters
 |      ----------
 |      fname : string or os.PathLike
 |          Output file name.
 |
 |  save_model(self, fname, format='cbm', export_parameters=None, pool=None)
 |      Save the model to a file.
 |
 |      Parameters
 |      ----------
 |      fname : string
 |          Output file name.
 |      format : string
 |          Possible values:
 |              * 'cbm' for catboost binary format,
 |              * 'coreml' to export into Apple CoreML format
 |              * 'onnx' to export into ONNX-ML format
 |              * 'pmml' to export into PMML format
 |              * 'cpp' to export as C++ code
 |              * 'python' to export as Python code.
 |      export_parameters : dict
 |          Parameters for CoreML export:
 |              * prediction_type : string - either 'probability' or 'raw'
 |              * coreml_description : string
 |              * coreml_model_version : string
 |              * coreml_model_author : string
 |              * coreml_model_license: string
 |          Parameters for PMML export:
 |              * pmml_copyright : string
 |              * pmml_description : string
 |              * pmml_model_version : string
 |      pool : catboost.Pool or list or numpy.ndarray or pandas.DataFrame or pandas.Series or polars.DataFrame or catboost.FeaturesData
 |          Training pool.
 |
 |  select_features(self, X, y=None, eval_set=None, features_for_select=None, num_features_to_select=None, algorithm=None, steps=None, shap_calc_type=None, train_final_model=True, verbose=None, logging_level=None, plot=False, plot_file=None, log_cout=None, log_cerr=None, grouping=None, features_tags_for_select=None, num_features_tags_to_select=None)
 |      Select best features from pool according to loss value.
 |
 |      Parameters
 |      ----------
 |      X : catboost.Pool or list or numpy.ndarray or pandas.DataFrame or pandas.Series or polars.DataFrame
 |          If not catboost.Pool, 2 dimensional Feature matrix or string - file with dataset.
 |
 |      y : list or numpy.ndarray or pandas.DataFrame or pandas.Series or polars.DataFrame or polars.Series, optional (default=None)
 |          Labels of the training data.
 |          If not None, can be a single- or two- dimensional array with either:
 |            - numerical values - for regression (including multiregression), ranking and binary classification problems
 |            - class labels (boolean, integer or string) - for classification (including multiclassification) problems
 |          Use only if X is not catboost.Pool and does not point to a file.
 |
 |      eval_set : catboost.Pool or list of catboost.Pool or tuple (X, y) or list [(X, y)], optional (default=None)
 |          Validation dataset or datasets for metrics calculation and possibly early stopping.
 |
 |      features_for_select : str or list of feature indices, names or ranges
 |          (for grouping = Individual)
 |          Which features should participate in the selection.
 |          Format examples:
 |              - [0, 2, 3, 4, 17]
 |              - [0, "2-4", 17] (both ends in ranges are inclusive)
 |              - "0,2-4,20"
 |              - ["Name0", "Name2", "Name3", "Name4", "Name20"]
 |
 |      num_features_to_select : positive int
 |          (for grouping = Individual)
 |          How many features to select from features_for_select.
 |
 |      algorithm : EFeaturesSelectionAlgorithm or string, optional (default=RecursiveByShapValues)
 |          Which algorithm to use for features selection.
 |          Possible values:
 |              - RecursiveByPredictionValuesChange
 |                  Use prediction values change as feature strength, eliminate batch of features at once.
 |              - RecursiveByLossFunctionChange
 |                  Use loss function change as feature strength, eliminate batch of features at each step.
 |              - RecursiveByShapValues
 |                  Use shap values to estimate loss function change, eliminate features one by one.
 |
 |      steps : positive int, optional (default=1)
 |          How many steps should be performed. In other words, how many times a full model will be trained.
 |          More steps give more accurate results.
 |
 |      shap_calc_type : EShapCalcType or string, optional (default=Regular)
 |          Which method to use for calculation of shap values.
 |          Possible values:
 |              - Regular
 |                  Calculate regular SHAP values
 |              - Approximate
 |                  Calculate approximate SHAP values
 |              - Exact
 |                  Calculate exact SHAP values
 |
 |      train_final_model : bool, optional (default=True)
 |          Need to fit model with selected features.
 |
 |      verbose : bool or int
 |          If verbose is bool, then if set to True, logging_level is set to Verbose,
 |          if set to False, logging_level is set to Silent.
 |          If verbose is int, it determines the frequency of writing metrics to output and
 |          logging_level is set to Verbose.
 |
 |      logging_level : string, optional (default=None)
 |          Possible values:
 |              - 'Silent'
 |              - 'Verbose'
 |              - 'Info'
 |              - 'Debug'
 |
 |      plot : bool, optional (default=False)
 |          If True, draw train and eval error in Jupyter notebook.
 |
 |      plot_file : file-like or str, optional (default=None)
 |          If not None, save train and eval error graphs to file
 |
 |      log_cout: output stream or callback for logging (default=None)
 |          If None is specified, sys.stdout is used
 |
 |      log_cerr: error stream or callback for logging (default=None)
 |          If None is specified, sys.stderr is used
 |
 |      grouping : EFeaturesSelectionGrouping or string, optional (default=Individual)
 |          Which grouping to use for features selection.
 |          Possible values:
 |              - Individual
 |                  Select individual features
 |              - ByTags
 |                  Select feature groups (marked by tags)
 |
 |      features_tags_for_select : list of strings
 |          (for grouping = ByTags)
 |          Which features tags should participate in the selection.
 |
 |      num_features_tags_to_select : positive int
 |          (for grouping = ByTags)
 |          How many features tags to select from features_tags_for_select.
 |
 |      Returns
 |      -------
 |      dict with fields:
 |          'selected_features': list of selected features indices
 |          'eliminated_features': list of eliminated features indices
 |          'selected_features_tags': list of selected features tags (optional, present if grouping == ByTags)
 |          'eliminated_features_tags': list of selected features tags (optional, present if grouping == ByTags)
 |
 |  set_params(self, **params)
 |      Set parameters into CatBoost model.
 |
 |      Parameters
 |      ----------
 |      **params : key=value format
 |          List of key=value paris. Example: model.set_params(iterations=500, thread_count=2).
 |
 |  shrink(self, ntree_end, ntree_start=0)
 |      Shrink the model.
 |
 |      Parameters
 |      ----------
 |      ntree_end: int
 |          Leave the trees with indices from the interval [ntree_start, ntree_end) (zero-based indexing).
 |      ntree_start: int, optional (default=0)
 |          Leave the trees with indices from the interval [ntree_start, ntree_end) (zero-based indexing).
 |
 |  virtual_ensembles_predict(self, data, prediction_type='VirtEnsembles', ntree_end=0, virtual_ensembles_count=10, thread_count=-1, verbose=None)
 |      Predict with data.
 |
 |      Parameters
 |      ----------
 |      data : catboost.Pool or list of features or list of lists or numpy.ndarray or pandas.DataFrame or pandas.Series
 |               or polars.DataFrame or polars.Series or catboost.FeaturesData
 |          Data to apply model on.
 |          If data is a simple list (not list of lists) or a one-dimensional numpy.ndarray it is interpreted
 |          as a list of features for a single object.
 |
 |      prediction_type : string, optional (default='RawFormulaVal')
 |          Can be:
 |          - 'VirtEnsembles': return V (virtual_ensembles_count) predictions.
 |              k-th virtEnsemle consists of trees [0, T/2] + [T/2 + T/(2V) * k, T/2 + T/(2V) * (k + 1)]  * constant.
 |          - 'TotalUncertainty': see returned predictions format in 'Returns' part
 |
 |      ntree_end: int, optional (default=0)
 |          Model is applied on the interval [ntree_start, ntree_end) (zero-based indexing).
 |          If value equals to 0 this parameter is ignored and ntree_end equal to tree_count_.
 |
 |      virtual_ensembles_count: int, optional (default=10)
 |          virtual ensembles count for 'TotalUncertainty' and 'VirtEnsembles' prediction types.
 |
 |      thread_count : int (default=-1)
 |          The number of threads to use when applying the model.
 |          Allows you to optimize the speed of execution. This parameter doesn't affect results.
 |          If -1, then the number of threads is set to the number of CPU cores.
 |
 |      verbose : bool, optional (default=False)
 |          If True, writes the evaluation metric measured set to stderr.
 |
 |      Returns
 |      -------
 |      prediction :
 |          (with V as virtual_ensembles_count and T as trees count,
 |          k-th virtEnsemle consists of trees [0, T/2] + [T/2 + T/(2V) * k, T/2 + T/(2V) * (k + 1)]  * constant)
 |          If data is for a single object, return 1-dimensional array of predictions with size depends on prediction type,
 |          otherwise return 2-dimensional numpy.ndarray with shape (number_of_objects x size depends on prediction type);
 |          Returned predictions depends on prediction type:
 |          If loss-function was RMSEWithUncertainty:
 |              - 'VirtEnsembles': [mean0, var0, mean1, var1, ..., vark-1].
 |              - 'TotalUncertainty': [mean_predict, KnowledgeUnc, DataUnc].
 |          otherwise for regression:
 |              - 'VirtEnsembles':  [mean0, mean1, ...].
 |              - 'TotalUncertainty': [mean_predicts, KnowledgeUnc].
 |          otherwise for binary classification:
 |              - 'VirtEnsembles':  [ApproxRawFormulaVal0, ApproxRawFormulaVal1, ..., ApproxRawFormulaValk-1].
 |              - 'TotalUncertainty':  [DataUnc, TotalUnc].
 |
 |  ----------------------------------------------------------------------
 |  Readonly properties inherited from CatBoost:
 |
 |  feature_importances_
 |
 |  ----------------------------------------------------------------------
 |  Methods inherited from _CatBoostBase:
 |
 |  __copy__(self)
 |
 |  __deepcopy__(self, _)
 |
 |  __eq__(self, other)
 |      Return self==value.
 |
 |  __getstate__(self)
 |      Helper for pickle.
 |
 |  __ne__(self, other)
 |      Return self!=value.
 |
 |  __repr__(self) -> str
 |      Return repr(self).
 |
 |  __setstate__(self, state)
 |
 |  __sklearn_tags__(self)
 |
 |  copy(self)
 |
 |  get_best_iteration(self)
 |
 |  get_best_score(self)
 |
 |  get_evals_result(self)
 |
 |  get_leaf_values(self)
 |      Returns
 |      -------
 |      leaf_values : 1d-array of leaf values for all trees.
 |      Value corresponding to j-th leaf of i-th tree is at position
 |      sum(get_tree_leaf_counts()[:i]) + j (leaf and tree indexing starts from zero).
 |
 |  get_leaf_weights(self)
 |      Returns
 |      -------
 |      leaf_weights : 1d-array of leaf weights for all trees.
 |      Weight of j-th leaf of i-th tree is at position
 |      sum(get_tree_leaf_counts()[:i]) + j (leaf and tree indexing starts from zero).
 |
 |  get_metadata(self)
 |
 |  get_n_features_in(self)
 |
 |  get_scale_and_bias(self)
 |
 |  get_test_eval(self)
 |
 |  get_test_evals(self)
 |
 |  get_tree_leaf_counts(self)
 |      Returns
 |      -------
 |      tree_leaf_counts : 1d-array of numpy.uint32 of size tree_count_.
 |      tree_leaf_counts[i] equals to the number of leafs in i-th tree of the ensemble.
 |
 |  is_fitted(self)
 |
 |  set_feature_names(self, feature_names)
 |      Sets feature names equal to feature_names
 |
 |      Parameters
 |      ----------
 |      feature_names: 1-d array of strings with new feature names in the same order as in pool
 |
 |  set_leaf_values(self, new_leaf_values)
 |      Sets values at tree leafs of ensemble equal to new_leaf_values.
 |
 |      Parameters
 |      ----------
 |      new_leaf_values : 1d-array with new leaf values for all trees.
 |      It's size should be equal to sum(get_tree_leaf_counts()).
 |      Value corresponding to j-th leaf of i-th tree should be at position
 |      sum(get_tree_leaf_counts()[:i]) + j (leaf and tree indexing starts from zero).
 |
 |  set_scale_and_bias(self, scale, bias)
 |
 |  ----------------------------------------------------------------------
 |  Static methods inherited from _CatBoostBase:
 |
 |  get_sklearn_estimator_xfail_checks(estimator: '_CatBoostBase') -> Dict[str, str]
 |      To pass to:
 |          For scikit-learn >= 1.6:
 |              to 'expected_failed_checks' parameter in sklearn.utils.estimator_checks.parametrize_with_checks
 |          For scikit-learn < 1.6:
 |              to '_xfail_checks' field returned by '_CatBoostBase._get_tags'.
 |
 |      This method is made static to be able to pass it to sklearn.utils.estimator_checks.parametrize_with_checks
 |
 |  ----------------------------------------------------------------------
 |  Readonly properties inherited from _CatBoostBase:
 |
 |  best_iteration_
 |
 |  best_score_
 |
 |  classes_
 |
 |  evals_result_
 |
 |  feature_names_
 |
 |  learning_rate_
 |
 |  n_features_in_
 |
 |  random_seed_
 |
 |  tree_count_
 |
 |  ----------------------------------------------------------------------
 |  Data descriptors inherited from _CatBoostBase:
 |
 |  __dict__
 |      dictionary for instance variables
 |
 |  __weakref__
 |      list of weak references to the object
 |
 |  ----------------------------------------------------------------------
 |  Data and other attributes inherited from _CatBoostBase:
 |
 |  __hash__ = None
catboost.CatBoostRegressor
Python Library Documentation: class CatBoostRegressor in module catboost.core

class CatBoostRegressor(CatBoost)
 |  CatBoostRegressor(iterations=None, learning_rate=None, depth=None, l2_leaf_reg=None, model_size_reg=None, rsm=None, loss_function='RMSE', border_count=None, feature_border_type=None, per_float_feature_quantization=None, input_borders=None, output_borders=None, fold_permutation_block=None, od_pval=None, od_wait=None, od_type=None, nan_mode=None, counter_calc_method=None, leaf_estimation_iterations=None, leaf_estimation_method=None, thread_count=None, random_seed=None, use_best_model=None, best_model_min_trees=None, verbose=None, silent=None, logging_level=None, metric_period=None, ctr_leaf_count_limit=None, store_all_simple_ctr=None, max_ctr_complexity=None, has_time=None, allow_const_label=None, target_border=None, one_hot_max_size=None, random_strength=None, random_score_type=None, name=None, ignored_features=None, train_dir=None, custom_metric=None, eval_metric=None, bagging_temperature=None, save_snapshot=None, snapshot_file=None, snapshot_interval=None, fold_len_multiplier=None, used_ram_limit=None, gpu_ram_part=None, pinned_memory_size=None, allow_writing_files=None, final_ctr_computation_mode=None, approx_on_full_history=None, boosting_type=None, simple_ctr=None, combinations_ctr=None, per_feature_ctr=None, ctr_description=None, ctr_target_border_count=None, task_type=None, device_config=None, devices=None, bootstrap_type=None, subsample=None, mvs_reg=None, sampling_frequency=None, sampling_unit=None, dev_score_calc_obj_block_size=None, dev_efb_max_buckets=None, sparse_features_conflict_fraction=None, max_depth=None, n_estimators=None, num_boost_round=None, num_trees=None, colsample_bylevel=None, random_state=None, reg_lambda=None, objective=None, eta=None, max_bin=None, gpu_cat_features_storage=None, data_partition=None, metadata=None, early_stopping_rounds=None, cat_features=None, grow_policy=None, min_data_in_leaf=None, min_child_samples=None, max_leaves=None, num_leaves=None, score_function=None, leaf_estimation_backtracking=None, ctr_history_unit=None, monotone_constraints=None, feature_weights=None, penalties_coefficient=None, first_feature_use_penalties=None, per_object_feature_penalties=None, model_shrink_rate=None, model_shrink_mode=None, langevin=None, diffusion_temperature=None, posterior_sampling=None, boost_from_average=None, text_features=None, tokenizers=None, dictionaries=None, feature_calcers=None, text_processing=None, embedding_features=None, eval_fraction=None, fixed_binary_splits=None)
 |
 |  Implementation of the scikit-learn API for CatBoost regression.
 |
 |  Parameters
 |  ----------
 |  Like in CatBoostClassifier, except loss_function, classes_count, class_names and class_weights
 |
 |  loss_function : string, [default='RMSE']
 |      'RMSE'
 |      'MAE'
 |      'Quantile:alpha=value'
 |      'LogLinQuantile:alpha=value'
 |      'Poisson'
 |      'MAPE'
 |      'Lq:q=value'
 |      'SurvivalAft:dist=value;scale=value'
 |
 |  Method resolution order:
 |      CatBoostRegressor
 |      CatBoost
 |      _CatBoostBase
 |      builtins.object
 |
 |  Methods defined here:
 |
 |  __init__(self, iterations=None, learning_rate=None, depth=None, l2_leaf_reg=None, model_size_reg=None, rsm=None, loss_function='RMSE', border_count=None, feature_border_type=None, per_float_feature_quantization=None, input_borders=None, output_borders=None, fold_permutation_block=None, od_pval=None, od_wait=None, od_type=None, nan_mode=None, counter_calc_method=None, leaf_estimation_iterations=None, leaf_estimation_method=None, thread_count=None, random_seed=None, use_best_model=None, best_model_min_trees=None, verbose=None, silent=None, logging_level=None, metric_period=None, ctr_leaf_count_limit=None, store_all_simple_ctr=None, max_ctr_complexity=None, has_time=None, allow_const_label=None, target_border=None, one_hot_max_size=None, random_strength=None, random_score_type=None, name=None, ignored_features=None, train_dir=None, custom_metric=None, eval_metric=None, bagging_temperature=None, save_snapshot=None, snapshot_file=None, snapshot_interval=None, fold_len_multiplier=None, used_ram_limit=None, gpu_ram_part=None, pinned_memory_size=None, allow_writing_files=None, final_ctr_computation_mode=None, approx_on_full_history=None, boosting_type=None, simple_ctr=None, combinations_ctr=None, per_feature_ctr=None, ctr_description=None, ctr_target_border_count=None, task_type=None, device_config=None, devices=None, bootstrap_type=None, subsample=None, mvs_reg=None, sampling_frequency=None, sampling_unit=None, dev_score_calc_obj_block_size=None, dev_efb_max_buckets=None, sparse_features_conflict_fraction=None, max_depth=None, n_estimators=None, num_boost_round=None, num_trees=None, colsample_bylevel=None, random_state=None, reg_lambda=None, objective=None, eta=None, max_bin=None, gpu_cat_features_storage=None, data_partition=None, metadata=None, early_stopping_rounds=None, cat_features=None, grow_policy=None, min_data_in_leaf=None, min_child_samples=None, max_leaves=None, num_leaves=None, score_function=None, leaf_estimation_backtracking=None, ctr_history_unit=None, monotone_constraints=None, feature_weights=None, penalties_coefficient=None, first_feature_use_penalties=None, per_object_feature_penalties=None, model_shrink_rate=None, model_shrink_mode=None, langevin=None, diffusion_temperature=None, posterior_sampling=None, boost_from_average=None, text_features=None, tokenizers=None, dictionaries=None, feature_calcers=None, text_processing=None, embedding_features=None, eval_fraction=None, fixed_binary_splits=None)
 |      Initialize the CatBoost.
 |
 |      Parameters
 |      ----------
 |      params : dict
 |          Parameters for CatBoost.
 |          If  None, all params are set to their defaults.
 |          If  dict, overriding parameters present in dict.
 |
 |  fit(self, X, y=None, cat_features=None, text_features=None, embedding_features=None, graph=None, sample_weight=None, baseline=None, use_best_model=None, eval_set=None, verbose=None, logging_level=None, plot=False, plot_file=None, column_description=None, verbose_eval=None, metric_period=None, silent=None, early_stopping_rounds=None, save_snapshot=None, snapshot_file=None, snapshot_interval=None, init_model=None, callbacks=None, log_cout=None, log_cerr=None)
 |      Fit the CatBoost model.
 |
 |      Parameters
 |      ----------
 |      X : catboost.Pool or list or numpy.ndarray or pandas.DataFrame or pandas.Series or polars.DataFrame
 |          If not catboost.Pool, 2 dimensional Feature matrix or string - file with dataset.
 |
 |      y : list or numpy.ndarray or pandas.DataFrame or pandas.Series or polars.DataFrame or polars.Series, optional (default=None)
 |          Labels of the training data.
 |          If not None, can be a single- or two- dimensional array with numerical values.
 |          Use only if X is not catboost.Pool and does not point to a file.
 |
 |      cat_features : list or numpy.ndarray, optional (default=None)
 |          If not None, giving the list of Categ columns indices.
 |          Use only if X is not catboost.Pool.
 |
 |      text_features : list or numpy.ndarray, optional (default=None)
 |          If not None, giving the list of Text columns indices.
 |          Use only if X is not catboost.Pool.
 |
 |      embedding_features : list or numpy.ndarray, optional (default=None)
 |          If not None, giving the list of Embedding columns indices.
 |          Use only if X is not catboost.Pool.
 |
 |      graph : list or numpy.ndarray or pandas.DataFrame or polars.DataFrame
 |          The graph edges list description.
 |          If list or numpy.ndarrays or pandas.DataFrame or polars.DataFrame, giving 2 dimensional.
 |
 |      sample_weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series or polars.Series, optional (default=None)
 |          Instance weights, 1 dimensional array like.
 |
 |      baseline : list or numpy.ndarray or polars.DataFrame or polars.Series, optional (default=None)
 |          If not None, giving 2 dimensional array like data.
 |          Use only if X is not catboost.Pool.
 |
 |      use_best_model : bool, optional (default=None)
 |          Flag to use best model
 |
 |      eval_set : catboost.Pool or list of catboost.Pool or tuple (X, y) or list [(X, y)], optional (default=None)
 |          Validation dataset or datasets for metrics calculation and possibly early stopping.
 |
 |      metric_period : int
 |          Frequency of evaluating metrics.
 |
 |      verbose : bool or int
 |          If verbose is bool, then if set to True, logging_level is set to Verbose,
 |          if set to False, logging_level is set to Silent.
 |          If verbose is int, it determines the frequency of writing metrics to output and
 |          logging_level is set to Verbose.
 |
 |      silent : bool
 |          If silent is True, logging_level is set to Silent.
 |          If silent is False, logging_level is set to Verbose.
 |
 |      logging_level : string, optional (default=None)
 |          Possible values:
 |              - 'Silent'
 |              - 'Verbose'
 |              - 'Info'
 |              - 'Debug'
 |
 |      plot : bool, optional (default=False)
 |          If True, draw train and eval error in Jupyter notebook
 |
 |      plot_file : file-like or str, optional (default=None)
 |          If not None, save train and eval error graphs to file (requires installed plotly)
 |
 |      verbose_eval : bool or int
 |          Synonym for verbose. Only one of these parameters should be set.
 |
 |      early_stopping_rounds : int
 |          Activates Iter overfitting detector with od_wait set to early_stopping_rounds.
 |
 |      save_snapshot : bool, [default=None]
 |          Enable progress snapshotting for restoring progress after crashes or interruptions
 |
 |      snapshot_file : string or os.PathLike, [default=None]
 |          Learn progress snapshot file path, if None will use default filename
 |
 |      snapshot_interval: int, [default=600]
 |          Interval between saving snapshots (seconds)
 |
 |      init_model : CatBoost class or string or os.PathLike, [default=None]
 |          Continue training starting from the existing model.
 |          If this parameter is a string or os.PathLike, load initial model from the path specified by this string.
 |
 |      callbacks : list, optional (default=None)
 |          List of callback objects that are applied at end of each iteration.
 |
 |      log_cout: output stream or callback for logging (default=None)
 |          If None is specified, sys.stdout is used
 |
 |      log_cerr: error stream or callback for logging (default=None)
 |          If None is specified, sys.stderr is used
 |
 |      Returns
 |      -------
 |      model : CatBoost
 |
 |  predict(self, data, prediction_type=None, ntree_start=0, ntree_end=0, thread_count=-1, verbose=None, task_type='CPU')
 |      Predict with data.
 |
 |      Parameters
 |      ----------
 |      data : catboost.Pool or list of features or list of lists or numpy.ndarray or pandas.DataFrame or pandas.Series
 |              or polars.DataFrame or polars.Series or catboost.FeaturesData
 |          Data to apply model on.
 |          If data is a simple list (not list of lists) or a one-dimensional numpy.ndarray it is interpreted
 |          as a list of features for a single object.
 |
 |      prediction_type : string, optional (default='RawFormulaVal')
 |          Can be:
 |          - 'RawFormulaVal' : return raw formula value.
 |          - 'Exponent' : return Exponent of raw formula value.
 |
 |      ntree_start: int, optional (default=0)
 |          Model is applied on the interval [ntree_start, ntree_end) (zero-based indexing).
 |
 |      ntree_end: int, optional (default=0)
 |          Model is applied on the interval [ntree_start, ntree_end) (zero-based indexing).
 |          If value equals to 0 this parameter is ignored and ntree_end equal to tree_count_.
 |
 |      thread_count : int (default=-1)
 |          The number of threads to use when applying the model.
 |          Allows you to optimize the speed of execution. This parameter doesn't affect results.
 |          If -1, then the number of threads is set to the number of CPU cores.
 |
 |      verbose : bool
 |          If True, writes the evaluation metric measured set to stderr.
 |
 |      task_type : string, [default=None]
 |          The evaluator type.
 |          Possible values:
 |              - 'CPU'
 |              - 'GPU' (models with only numerical features are supported for now)
 |
 |      Returns
 |      -------
 |      prediction :
 |          If data is for a single object, the return value is single float formula return value
 |          otherwise one-dimensional numpy.ndarray of formula return values for each object.
 |
 |  score(self, X, y=None)
 |      Calculate R^2.
 |
 |      Parameters
 |      ----------
 |      X : catboost.Pool or list or numpy.ndarray or pandas.DataFrame or pandas.Series or polars.DataFrame
 |          Data to apply model on.
 |      y : list or numpy.ndarray or polars.Series
 |          True labels.
 |
 |      Returns
 |      -------
 |      R^2 : float
 |
 |  staged_predict(self, data, prediction_type='RawFormulaVal', ntree_start=0, ntree_end=0, eval_period=1, thread_count=-1, verbose=None)
 |      Predict target at each stage for data.
 |
 |      Parameters
 |      ----------
 |      data : catboost.Pool or list of features or list of lists or numpy.ndarray or pandas.DataFrame or pandas.Series
 |              or polars.DataFrame or polars.Series or catboost.FeaturesData
 |          Data to apply model on.
 |          If data is a simple list (not list of lists) or a one-dimensional numpy.ndarray it is interpreted
 |          as a list of features for a single object.
 |
 |      ntree_start: int, optional (default=0)
 |          Model is applied on the interval [ntree_start, ntree_end) with the step eval_period (zero-based indexing).
 |
 |      ntree_end: int, optional (default=0)
 |          Model is applied on the interval [ntree_start, ntree_end) with the step eval_period (zero-based indexing).
 |          If value equals to 0 this parameter is ignored and ntree_end equal to tree_count_.
 |
 |      eval_period: int, optional (default=1)
 |          Model is applied on the interval [ntree_start, ntree_end) with the step eval_period (zero-based indexing).
 |
 |      thread_count : int (default=-1)
 |          The number of threads to use when applying the model.
 |          Allows you to optimize the speed of execution. This parameter doesn't affect results.
 |          If -1, then the number of threads is set to the number of CPU cores.
 |
 |      verbose : bool
 |          If True, writes the evaluation metric measured set to stderr.
 |
 |      Returns
 |      -------
 |      prediction : generator for each iteration that generates:
 |          If data is for a single object, the return value is single float formula return value
 |          otherwise one-dimensional numpy.ndarray of formula return values for each object.
 |
 |  ----------------------------------------------------------------------
 |  Methods inherited from CatBoost:
 |
 |  calc_feature_statistics(self, data, target=None, feature=None, prediction_type=None, cat_feature_values=None, plot=True, max_cat_features_on_plot=10, thread_count=-1, plot_file=None)
 |      Get statistics for the feature using the model, dataset and target.
 |      To use this function, you should install plotly.
 |
 |      The catboost model has borders for the float features used in it. The borders divide
 |      feature values into bins, and the model's prediction depends on the number of the bin where the
 |      feature value falls in.
 |
 |      For float features this function takes model's borders and computes
 |      1) Mean target value for every bin;
 |      2) Mean model prediction for every bin;
 |      3) The number of objects in dataset which fall into each bin;
 |      4) Predictions on varying feature. For every object, varies the feature value
 |      so that it falls into bin #0, bin #1, ... and counts model predictions.
 |      Then counts average prediction for each bin.
 |
 |      For categorical features (only one-hot supported) does the same, but takes feature values
 |      provided in cat_feature_values instead of borders.
 |
 |      Parameters
 |      ----------
 |      data: numpy.ndarray or pandas.DataFrame or polars.DataFrame or catboost. Pool or dict {'pool_name': pool} if you want several pools
 |          Data to compute statistics on
 |      target: numpy.ndarray or pandas.Series or polars.Series or dict {'pool_name': target} if you want several pools or None
 |          Target corresponding to data
 |          Use only if data is not catboost.Pool.
 |      feature: None, int, string, or list of int or strings
 |          Features indexes or names in pd.DataFrame for which you want to get statistics.
 |          None, if you need statistics for all features.
 |      prediction_type: str
 |          Prediction type used for counting mean_prediction: 'Class', 'Probability' or 'RawFormulaVal'.
 |          If not specified, is derived from the model.
 |      cat_feature_values: list or numpy.ndarray or pandas.Series or
 |                          dict: int or string to list or numpy.ndarray or pandas.Series
 |          Contains categorical feature values you need to get statistics on.
 |          Use dict, when parameter 'feature' is a list to specify cat values for different features.
 |          When parameter 'feature' is int or str, you can just pass list of cat values.
 |      plot: bool
 |          Plot statistics.
 |      max_cat_features_on_plot: int
 |          If categorical feature takes more than max_cat_features_on_plot different unique values,
 |          output result on several plots, not more than max_cat_features_on_plot feature values on each.
 |          Used only if plot=True or plot_file is not None.
 |      thread_count: int
 |          Number of threads to use for getting statistics.
 |      plot_file: str
 |          Output file for plot statistics.
 |
 |      Returns
 |      -------
 |      dict if parameter 'feature' is int or string, else dict of dicts:
 |          For each unique feature contain
 |          python dict with binarized feature statistics.
 |          For float feature, includes
 |                  'borders' -- borders for the specified feature in model
 |                  'binarized_feature' -- numbers of bins where feature values fall
 |                  'mean_target' -- mean value of target over each bin
 |                  'mean_prediction' -- mean value of model prediction over each bin
 |                  'objects_per_bin' -- number of objects per bin
 |                  'predictions_on_varying_feature' -- averaged over dataset predictions for
 |                  varying feature (see above)
 |          For one-hot feature, returns the same, but with 'cat_values' instead of 'borders'
 |
 |  calc_leaf_indexes(self, data, ntree_start=0, ntree_end=0, thread_count=-1, verbose=False)
 |      Returns indexes of leafs to which objects from pool are mapped by model trees.
 |
 |      Parameters
 |      ----------
 |      data : catboost.Pool or list of features or list of lists or numpy.ndarray or pandas.DataFrame or pandas.Series
 |              or polars.DataFrame or polars.Series or catboost.FeaturesData
 |          Data to apply model on.
 |          If data is a simple list (not list of lists) or a one-dimensional numpy.ndarray it is interpreted
 |          as a list of features for a single object.
 |
 |      ntree_start: int, optional (default=0)
 |          Index of first tree for which leaf indexes will be calculated (zero-based indexing).
 |
 |      ntree_end: int, optional (default=0)
 |          Index of the tree after last tree for which leaf indexes will be calculated (zero-based indexing).
 |          If value equals to 0 this parameter is ignored and ntree_end equal to tree_count_.
 |
 |      thread_count : int (default=-1)
 |          The number of threads to use when applying the model.
 |          Allows you to optimize the speed of execution. This parameter doesn't affect results.
 |          If -1, then the number of threads is set to the number of CPU cores.
 |
 |      verbose : bool (default=False)
 |          Enable debug logging level.
 |
 |      Returns
 |      -------
 |      leaf_indexes : 2-dimensional numpy.ndarray of numpy.uint32 with shape (object count, ntree_end - ntree_start).
 |          i-th row is an array of leaf indexes for i-th object.
 |
 |  compare(self, model, data, metrics, ntree_start=0, ntree_end=0, eval_period=1, thread_count=-1, tmp_dir=None, plot_file=None, log_cout=None, log_cerr=None)
 |      Draw train and eval errors in Jupyter notebook for both models
 |
 |      Parameters
 |      ----------
 |      model: CatBoost model
 |          Another model to draw metrics
 |
 |      data : catboost.Pool
 |          Data to evaluate metrics on.
 |
 |      metrics : list of strings or catboost.metrics.BuiltinMetric
 |          List of evaluated metrics.
 |
 |      ntree_start: int, optional (default=0)
 |          Model is applied on the interval [ntree_start, ntree_end) (zero-based indexing).
 |
 |      ntree_end: int, optional (default=0)
 |          Model is applied on the interval [ntree_start, ntree_end) (zero-based indexing).
 |          If value equals to 0 this parameter is ignored and ntree_end equal to tree_count_.
 |
 |      eval_period: int, optional (default=1)
 |          Model is applied on the interval [ntree_start, ntree_end) with the step eval_period (zero-based indexing).
 |
 |      thread_count : int (default=-1)
 |          The number of threads to use when applying the model.
 |          Allows you to optimize the speed of execution. This parameter doesn't affect results.
 |          If -1, then the number of threads is set to the number of CPU cores.
 |
 |      tmp_dir : string or os.PathLike (default=None)
 |          The name of the temporary directory for intermediate results.
 |          If None, then the name will be generated.
 |
 |      plot_file : file-like or str, optional (default=None)
 |          If not None, save eval error graphs to file
 |
 |      log_cout: output stream or callback for logging (default=None)
 |          If None is specified, sys.stdout is used
 |
 |      log_cerr: error stream or callback for logging (default=None)
 |          If None is specified, sys.stderr is used
 |
 |  create_metric_calcer(self, metrics, ntree_start=0, ntree_end=0, eval_period=1, thread_count=-1, tmp_dir=None)
 |      Create batch metric calcer. Could be used to aggregate metric on several pools
 |      Parameters
 |      ----------
 |          Same as in eval_metrics except data
 |      Returns
 |      -------
 |          BatchMetricCalcer object
 |
 |      Usage example
 |      -------
 |      # Large dataset is partitioned into parts [part1, part2]
 |      model.fit(params)
 |      batch_calcer = model.create_metric_calcer(['Logloss'])
 |      batch_calcer.add(part1)
 |      batch_calcer.add(part2)
 |      metrics = batch_calcer.eval_metrics()
 |
 |  drop_unused_features(self)
 |      Drop unused features information from model
 |
 |  eval_metrics(self, data, metrics, ntree_start=0, ntree_end=0, eval_period=1, thread_count=-1, tmp_dir=None, plot=False, plot_file=None, log_cout=None, log_cerr=None)
 |      Calculate metrics.
 |
 |      Parameters
 |      ----------
 |      data : catboost.Pool
 |          Data to evaluate metrics on.
 |
 |      metrics : list of strings or catboost.metrics.BuiltinMetric
 |          List of evaluated metrics.
 |
 |      ntree_start: int, optional (default=0)
 |          Model is applied on the interval [ntree_start, ntree_end) (zero-based indexing).
 |
 |      ntree_end: int, optional (default=0)
 |          Model is applied on the interval [ntree_start, ntree_end) (zero-based indexing).
 |          If value equals to 0 this parameter is ignored and ntree_end equal to tree_count_.
 |
 |      eval_period: int, optional (default=1)
 |          Model is applied on the interval [ntree_start, ntree_end) with the step eval_period (zero-based indexing).
 |
 |      thread_count : int (default=-1)
 |          The number of threads to use when applying the model.
 |          Allows you to optimize the speed of execution. This parameter doesn't affect results.
 |          If -1, then the number of threads is set to the number of CPU cores.
 |
 |      tmp_dir : string or os.PathLike (default=None)
 |          The name of the temporary directory for intermediate results.
 |          If None, then the name will be generated.
 |
 |      plot : bool, optional (default=False)
 |          If True, draw train and eval error in Jupyter notebook
 |
 |      plot_file : file-like or str, optional (default=None)
 |          If not None, save train and eval error graphs to file
 |
 |      log_cout: output stream or callback for logging (default=None)
 |          If None is specified, sys.stdout is used
 |
 |      log_cerr: error stream or callback for logging (default=None)
 |          If None is specified, sys.stderr is used
 |
 |      Returns
 |      -------
 |      prediction : dict: metric -> array of shape [(ntree_end - ntree_start) / eval_period]
 |
 |  get_all_params(self)
 |      Get all params (specified by user and default params) that were set in training from CatBoost model.
 |      Full parameters documentation could be found here: https://catboost.ai/docs/concepts/python-reference_parameters-list.html
 |
 |      Returns
 |      -------
 |      result : dict
 |          Dictionary of {param_key: param_value}.
 |
 |  get_borders(self)
 |      Return map feature_index: borders for float features.
 |
 |  get_cat_feature_indices(self)
 |
 |  get_embedding_feature_indices(self)
 |
 |  get_feature_importance(self, data=None, type=<EFstrType.FeatureImportance: 2>, prettified=False, thread_count=-1, verbose=False, fstr_type=None, shap_mode='Auto', model_output='Raw', interaction_indices=None, shap_calc_type='Regular', reference_data=None, sage_n_samples=128, sage_batch_size=512, sage_detect_convergence=True, log_cout=None, log_cerr=None)
 |      Parameters
 |      ----------
 |      data :
 |          Data to get feature importance.
 |          If type in ('LossFunctionChange', 'ShapValues', 'ShapInteractionValues') data must of Pool type.
 |              For every object in this dataset feature importances will be calculated.
 |          if type == 'SageValues' data must of Pool type.
 |              For every feature in this dataset importance will be calculated.
 |          If type == 'PredictionValuesChange', data is None or a dataset of Pool type
 |              Dataset specification is needed only in case if the model does not contain leaf weight information (trained with CatBoost v < 0.9).
 |          If type == 'PredictionDiff' data must contain a matrix of feature values of shape (2, n_features).
 |              Possible types are catboost.Pool or list of lists or numpy.ndarray or pandas.DataFrame or pandas.Series
 |              or polars.DataFrame or catboost.FeaturesData or pandas.SparseDataFrame or scipy.sparse.spmatrix
 |          If type == 'FeatureImportance'
 |              See 'PredictionValuesChange' for non-ranking metrics and 'LossFunctionChange' for ranking metrics.
 |          If type == 'Interaction'
 |              This parameter is not used.
 |
 |      type : EFstrType or string (converted to EFstrType), optional
 |                  (default=EFstrType.FeatureImportance)
 |          Possible values:
 |              - PredictionValuesChange
 |                  Calculate score for every feature.
 |              - LossFunctionChange
 |                  Calculate score for every feature by loss.
 |              - FeatureImportance
 |                  PredictionValuesChange for non-ranking metrics and LossFunctionChange for ranking metrics
 |              - ShapValues
 |                  Calculate SHAP Values for every object.
 |              - ShapInteractionValues
 |                  Calculate SHAP Interaction Values between each pair of features for every object
 |              - Interaction
 |                  Calculate pairwise score between every feature.
 |              - PredictionDiff
 |                  Calculate most important features explaining difference in predictions for a pair of documents.
 |              - SageValues
 |                  Calculate SAGE value for every feature
 |
 |      prettified : bool, optional (default=False)
 |          change returned data format to the list of (feature_id, importance) pairs sorted by importance
 |
 |      thread_count : int, optional (default=-1)
 |          Number of threads.
 |          If -1, then the number of threads is set to the number of CPU cores.
 |
 |      verbose : bool or int
 |          If False, then evaluation is not logged. If True, then each possible iteration is logged.
 |          If a positive integer, then it stands for the size of batch N. After processing each batch, print progress
 |          and remaining time.
 |
 |      fstr_type : string, deprecated, use type instead
 |
 |      shap_mode : string, optional (default="Auto")
 |          used only for ShapValues type
 |          Possible values:
 |              - "Auto"
 |                  Use direct SHAP Values calculation only if data size is smaller than average leaves number
 |                  (the best of two strategies below is chosen).
 |              - "UsePreCalc"
 |                  Calculate SHAP Values for every leaf in preprocessing. Final complexity is
 |                  O(NT(D+F))+O(TL^2 D^2) where N is the number of documents(objects), T - number of trees,
 |                  D - average tree depth, F - average number of features in tree, L - average number of leaves in tree
 |                  This is much faster (because of a smaller constant) than direct calculation when N >> L
 |              - "NoPreCalc"
 |                  Use direct SHAP Values calculation calculation with complexity O(NTLD^2). Direct algorithm
 |                  is faster when N < L (algorithm from https://arxiv.org/abs/1802.03888)
 |
 |      shap_calc_type : EShapCalcType or string, optional (default="Regular")
 |          used only for ShapValues type
 |          Possible values:
 |              - "Regular"
 |                  Calculate regular SHAP values
 |              - "Approximate"
 |                  Calculate approximate SHAP values
 |              - "Exact"
 |                  Calculate exact SHAP values
 |
 |      interaction_indices : list of int or string (feature_idx_1, feature_idx_2), optional (default=None)
 |          used only for ShapInteractionValues type
 |          Calculate SHAP Interaction Values between pair of features feature_idx_1 and feature_idx_2 for every object
 |
 |      reference_data: catboost.Pool or None
 |          Reference data for Independent Tree SHAP values from https://arxiv.org/abs/1905.04610v1
 |          if type == 'ShapValues' and reference_data is not None, then Independent Tree SHAP values are calculated
 |
 |      sage_n_samples: int, optional (default=32)
 |          Number of outer samples used in SAGE values approximation algorithm
 |      sage_batch_size: int, optional (default=min(512, number of samples in dataset))
 |          Number of samples used on each step of SAGE values approximation algorithm
 |      sage_detect_convergence: bool, optional (default=False)
 |          If set True, sage values calculation will be stopped either when sage values converge
 |          or when sage_n_samples iterations of algorithm pass
 |
 |      log_cout: output stream or callback for logging (default=None)
 |          If None is specified, sys.stdout is used
 |
 |      log_cerr: error stream or callback for logging (default=None)
 |          If None is specified, sys.stderr is used
 |
 |      Returns
 |      -------
 |      depends on type:
 |          - FeatureImportance
 |              See PredictionValuesChange for non-ranking metrics and LossFunctionChange for ranking metrics.
 |          - PredictionValuesChange, LossFunctionChange, PredictionDiff, SageValues with prettified=False (default)
 |              list of length [n_features] with feature_importance values (float) for feature
 |          - PredictionValuesChange, LossFunctionChange, PredictionDiff, SageValues with prettified=True
 |              list of length [n_features] with (feature_id (string), feature_importance (float)) pairs, sorted by feature_importance in descending order
 |          - ShapValues
 |              np.ndarray of shape (n_objects, n_features + 1) with Shap values (float) for (object, feature).
 |              In case of multiclass the returned value is np.ndarray of shape
 |              (n_objects, classes_count, n_features + 1). For each object it contains Shap values (float).
 |              Values are calculated for RawFormulaVal predictions.
 |          - ShapInteractionValues
 |              np.ndarray of shape (n_objects, n_features + 1, n_features + 1) with Shap interaction values (float) for (object, feature(i), feature(j)).
 |              In case of multiclass the returned value is np.ndarray of shape
 |              (n_objects, classes_count, n_features + 1, n_features + 1). For each object it contains Shap interaction values (float).
 |              Values are calculated for RawFormulaVal predictions.
 |          - Interaction
 |              list of length [n_features] of 3-element lists of (first_feature_index, second_feature_index, interaction_score (float))
 |
 |  get_object_importance(self, pool, train_pool, top_size=-1, type='Average', update_method='SinglePoint', importance_values_sign='All', thread_count=-1, verbose=False, ostr_type=None, log_cout=None, log_cerr=None)
 |      This is the implementation of the LeafInfluence algorithm from the following paper:
 |      https://arxiv.org/pdf/1802.06640.pdf
 |
 |      Parameters
 |      ----------
 |      pool : Pool
 |          The pool for which you want to evaluate the object importances.
 |
 |      train_pool : Pool
 |          The pool on which the model has been trained.
 |
 |      top_size : int (default=-1)
 |          Method returns the result of the top_size most important train objects.
 |          If -1, then the top size is not limited.
 |
 |      type : string, optional (default='Average')
 |          Possible values:
 |              - Average (Method returns the mean train objects scores for all input objects)
 |              - PerObject (Method returns the train objects scores for every input object)
 |
 |      importance_values_sign : string, optional (default='All')
 |          Method returns only Positive, Negative or All values.
 |          Possible values:
 |              - Positive
 |              - Negative
 |              - All
 |
 |      update_method : string, optional (default='SinglePoint')
 |          Possible values:
 |              - SinglePoint
 |              - TopKLeaves (It is posible to set top size : TopKLeaves:top=2)
 |              - AllPoints
 |          Description of the update set methods are given in section 3.1.3 of the paper.
 |
 |      thread_count : int, optional (default=-1)
 |          Number of threads.
 |          If -1, then the number of threads is set to the number of CPU cores.
 |
 |      verbose : bool or int
 |          If False, then evaluation is not logged. If True, then each possible iteration is logged.
 |          If a positive integer, then it stands for the size of batch N. After processing each batch, print progress
 |          and remaining time.
 |
 |      ostr_type : string, deprecated, use type instead
 |
 |      log_cout: output stream or callback for logging (default=None)
 |          If None is specified, sys.stdout is used
 |
 |      log_cerr: error stream or callback for logging (default=None)
 |          If None is specified, sys.stderr is used
 |
 |      Returns
 |      -------
 |      object_importances : tuple of two arrays (indices and scores) of shape = [top_size]
 |
 |  get_param(self, key)
 |      Get param value from CatBoost model.
 |
 |      Parameters
 |      ----------
 |      key : string
 |          The key to get param value from.
 |
 |      Returns
 |      -------
 |      value :
 |          The param value of the key, returns None if param do not exist.
 |
 |  get_params(self, **_unused_kwargs)
 |      Get all params from CatBoost model.
 |
 |      Returns
 |      -------
 |      result : dict
 |          Dictionary of {param_key: param_value}.
 |
 |  get_text_feature_indices(self)
 |
 |  grid_search(self, param_grid, X, y=None, cv=3, partition_random_seed=0, calc_cv_statistics=True, search_by_train_test_split=True, refit=True, shuffle=True, stratified=None, train_size=0.8, verbose=True, plot=False, plot_file=None, log_cout=None, log_cerr=None)
 |      Exhaustive search over specified parameter values for a model.
 |      After calling this method model is fitted and can be used, if not specified otherwise (refit=False).
 |
 |      Parameters
 |      ----------
 |      param_grid: dict or list of dictionaries
 |          Dictionary with parameters names (string) as keys and lists of parameter settings
 |          to try as values, or a list of such dictionaries, in which case the grids spanned by each
 |          dictionary in the list are explored.
 |          This enables searching over any sequence of parameter settings.
 |
 |      X: numpy.ndarray or pandas.DataFrame or polars.DataFrame or catboost.Pool
 |          Data to compute statistics on
 |
 |      y: list or numpy.ndarray or pandas.DataFrame or pandas.Series or polars.DataFrame or polars.Series, optional (default=None)
 |          Labels of the training data.
 |          If not None, can be a single- or two- dimensional array with either:
 |            - numerical values - for regression (including multiregression), ranking and binary classification problems
 |            - class labels (boolean, integer or string) - for classification (including multiclassification) problems
 |          Use only if X is not catboost.Pool and does not point to a file.
 |
 |      cv: int, cross-validation generator or an iterable, optional (default=None)
 |          Determines the cross-validation splitting strategy. Possible inputs for cv are:
 |          - None, to use the default 3-fold cross validation,
 |          - integer, to specify the number of folds in a (Stratified)KFold
 |          - one of the scikit-learn splitter classes
 |              (https://scikit-learn.org/stable/modules/classes.html#splitter-classes)
 |          - An iterable yielding (train, test) splits as arrays of indices.
 |
 |      partition_random_seed: int, optional (default=0)
 |          Use this as the seed value for random permutation of the data.
 |          Permutation is performed before splitting the data for cross validation.
 |          Each seed generates unique data splits.
 |          Used only when cv is None or int.
 |
 |      search_by_train_test_split: bool, optional (default=True)
 |          If True, source dataset is splitted into train and test parts, models are trained
 |          on the train part and parameters are compared by loss function score on the test part.
 |          After that, if calc_cv_statistics=true, statistics on metrics are calculated
 |          using cross-validation using best parameters and the model is fitted with these parameters.
 |
 |          If False, every iteration of grid search evaluates results on cross-validation.
 |          It is recommended to set parameter to True for large datasets, and to False for small datasets.
 |
 |      calc_cv_statistics: bool, optional (default=True)
 |          The parameter determines whether quality should be estimated.
 |          using cross-validation with the found best parameters. Used only when search_by_train_test_split=True.
 |
 |      refit: bool (default=True)
 |          Refit an estimator using the best found parameters on the whole dataset.
 |
 |      shuffle: bool, optional (default=True)
 |          Shuffle the dataset objects before parameters searching.
 |
 |      stratified: bool, optional (default=None)
 |          Perform stratified sampling. True for classification and False otherwise.
 |          Currently supported only for final cross-validation.
 |
 |      train_size: float, optional (default=0.8)
 |          Should be between 0.0 and 1.0 and represent the proportion of the dataset to include in the train split.
 |
 |      verbose: bool or int, optional (default=True)
 |          If verbose is int, it determines the frequency of writing metrics to output
 |          verbose==True is equal to verbose==1
 |          When verbose==False, there is no messages
 |
 |      plot : bool, optional (default=False)
 |          If True, draw train and eval error for every set of parameters in Jupyter notebook
 |
 |      plot_file : file-like or str, optional (default=None)
 |          If not None, save train and eval error for every set of parameters to file
 |
 |      log_cout: output stream or callback for logging (default=None)
 |          If None is specified, sys.stdout is used
 |
 |      log_cerr: error stream or callback for logging (default=None)
 |          If None is specified, sys.stderr is used
 |
 |      Returns
 |      -------
 |      dict with two fields:
 |          'params': dict of best found parameters
 |          'cv_results': dict or pandas.core.frame.DataFrame with cross-validation results
 |              columns are: test-error-mean  test-error-std  train-error-mean  train-error-std
 |
 |  iterate_leaf_indexes(self, data, ntree_start=0, ntree_end=0)
 |      Returns indexes of leafs to which objects from pool are mapped by model trees.
 |
 |      Parameters
 |      ----------
 |      data : catboost.Pool or list of features or list of lists or numpy.ndarray or pandas.DataFrame or pandas.Series
 |              or polars.DataFrame or polars.Series or catboost.FeaturesData
 |          Data to apply model on.
 |          If data is a simple list (not list of lists) or a one-dimensional numpy.ndarray it is interpreted
 |          as a list of features for a single object.
 |
 |      ntree_start: int, optional (default=0)
 |          Index of first tree for which leaf indexes will be calculated (zero-based indexing).
 |
 |      ntree_end: int, optional (default=0)
 |          Index of the tree after last tree for which leaf indexes will be calculated (zero-based indexing).
 |          If value equals to 0 this parameter is ignored and ntree_end equal to tree_count_.
 |
 |      Returns
 |      -------
 |      leaf_indexes : generator. For each object in pool yields one-dimensional numpy.ndarray of leaf indexes.
 |
 |  load_model(self, fname=None, format='cbm', stream=None, blob=None)
 |      Load model from a file, stream or blob.
 |
 |      Parameters
 |      ----------
 |      fname : string
 |          Input file name.
 |
 |  plot_partial_dependence(self, data, features, plot=True, plot_file=None, thread_count=-1)
 |      To use this function, you should install plotly.
 |      data: numpy.ndarray or pandas.DataFrame or polars.DataFrame or catboost.Pool
 |      features: int, str, list<int>, tuple<int>, list<string>, tuple<string>
 |          Float features to calculate partial dependence for. Number of features should be 1 or 2.
 |      plot: bool
 |          Plot predictions.
 |      plot_file: str
 |          Output file for plot predictions.
 |      thread_count: int
 |          Number of threads to use. If -1 use maximum available number of threads.
 |      Returns
 |      -------
 |          If number of features is one - 1d numpy array and figure with line plot.
 |          If number of features is two - 2d numpy array and figure with 2d heatmap.
 |
 |  plot_predictions(self, data, features_to_change, plot=True, plot_file=None)
 |      To use this function, you should install plotly.
 |
 |      data: numpy.ndarray or pandas.DataFrame or polars.DataFrame or catboost.Pool
 |      features_to_change: list-like with int (for indices) or str (for names) elements
 |          Numerical features indices or names in `data` for which you want to vary prediction value.
 |      plot: bool
 |          Plot predictions.
 |      plot_file: str
 |          Output file for plot predictions.
 |      Returns
 |      -------
 |          List of list of predictions for all buckets for all samples in data
 |
 |  plot_tree(self, tree_idx, pool=None)
 |
 |  randomized_search(self, param_distributions, X, y=None, cv=3, n_iter=10, partition_random_seed=0, calc_cv_statistics=True, search_by_train_test_split=True, refit=True, shuffle=True, stratified=None, train_size=0.8, verbose=True, plot=False, plot_file=None, log_cout=None, log_cerr=None)
 |      Randomized search on hyper parameters.
 |      After calling this method model is fitted and can be used, if not specified otherwise (refit=False).
 |
 |      In contrast to grid_search, not all parameter values are tried out,
 |      but rather a fixed number of parameter settings is sampled from the specified distributions.
 |      The number of parameter settings that are tried is given by n_iter.
 |
 |      Parameters
 |      ----------
 |      param_distributions: dict
 |          Dictionary with parameters names (string) as keys and distributions or lists of parameters to try.
 |          Distributions must provide a rvs method for sampling (such as those from scipy.stats.distributions).
 |          If a list is given, it is sampled uniformly.
 |
 |      X: numpy.ndarray or pandas.DataFrame or polars.DataFrame or catboost.Pool
 |          Data to compute statistics on
 |
 |      y: list or numpy.ndarray or pandas.DataFrame or pandas.Series or polars.DataFrame or polars.Series, optional (default=None)
 |          Labels of the training data.
 |          If not None, can be a single- or two- dimensional array with either:
 |            - numerical values - for regression (including multiregression), ranking and binary classification problems
 |            - class labels (boolean, integer or string) - for classification (including multiclassification) problems
 |          Use only if X is not catboost.Pool and does not point to a file.
 |
 |      cv: int, cross-validation generator or an iterable, optional (default=None)
 |          Determines the cross-validation splitting strategy. Possible inputs for cv are:
 |          - None, to use the default 3-fold cross validation,
 |          - integer, to specify the number of folds in a (Stratified)KFold
 |          - one of the scikit-learn splitter classes
 |              (https://scikit-learn.org/stable/modules/classes.html#splitter-classes)
 |          - An iterable yielding (train, test) splits as arrays of indices.
 |
 |      n_iter: int
 |          Number of parameter settings that are sampled.
 |          n_iter trades off runtime vs quality of the solution.
 |
 |      partition_random_seed: int, optional (default=0)
 |          Use this as the seed value for random permutation of the data.
 |          Permutation is performed before splitting the data for cross validation.
 |          Each seed generates unique data splits.
 |          Used only when cv is None or int.
 |
 |      search_by_train_test_split: bool, optional (default=True)
 |          If True, source dataset is splitted into train and test parts, models are trained
 |          on the train part and parameters are compared by loss function score on the test part.
 |          After that, if calc_cv_statistics=true, statistics on metrics are calculated
 |          using cross-validation using best parameters and the model is fitted with these parameters.
 |
 |          If False, every iteration of grid search evaluates results on cross-validation.
 |          It is recommended to set parameter to True for large datasets, and to False for small datasets.
 |
 |      calc_cv_statistics: bool, optional (default=True)
 |          The parameter determines whether quality should be estimated.
 |          using cross-validation with the found best parameters. Used only when search_by_train_test_split=True.
 |
 |      refit: bool (default=True)
 |          Refit an estimator using the best found parameters on the whole dataset.
 |
 |      shuffle: bool, optional (default=True)
 |          Shuffle the dataset objects before parameters searching.
 |
 |      stratified: bool, optional (default=None)
 |          Perform stratified sampling. True for classification and False otherwise.
 |          Currently supported only for cross-validation.
 |
 |      train_size: float, optional (default=0.8)
 |          Should be between 0.0 and 1.0 and represent the proportion of the dataset to include in the train split.
 |
 |      verbose: bool or int, optional (default=True)
 |          If verbose is int, it determines the frequency of writing metrics to output
 |          verbose==True is equal to verbose==1
 |          When verbose==False, there is no messages
 |
 |      plot : bool, optional (default=False)
 |          If True, draw train and eval error for every set of parameters in Jupyter notebook
 |
 |      plot_file : file-like or str, optional (default=None)
 |          If not None, save train and eval error for every set of parameters to file
 |
 |      log_cout: output stream or callback for logging (default=None)
 |          If None is specified, sys.stdout is used
 |
 |      log_cerr: error stream or callback for logging (default=None)
 |          If None is specified, sys.stderr is used
 |
 |      Returns
 |      -------
 |      dict with two fields:
 |          'params': dict of best found parameters
 |          'cv_results': dict or pandas.core.frame.DataFrame with cross-validation results
 |              columns are: test-error-mean  test-error-std  train-error-mean  train-error-std
 |
 |  save_borders(self, fname)
 |      Save the model borders to a file.
 |
 |      Parameters
 |      ----------
 |      fname : string or os.PathLike
 |          Output file name.
 |
 |  save_model(self, fname, format='cbm', export_parameters=None, pool=None)
 |      Save the model to a file.
 |
 |      Parameters
 |      ----------
 |      fname : string
 |          Output file name.
 |      format : string
 |          Possible values:
 |              * 'cbm' for catboost binary format,
 |              * 'coreml' to export into Apple CoreML format
 |              * 'onnx' to export into ONNX-ML format
 |              * 'pmml' to export into PMML format
 |              * 'cpp' to export as C++ code
 |              * 'python' to export as Python code.
 |      export_parameters : dict
 |          Parameters for CoreML export:
 |              * prediction_type : string - either 'probability' or 'raw'
 |              * coreml_description : string
 |              * coreml_model_version : string
 |              * coreml_model_author : string
 |              * coreml_model_license: string
 |          Parameters for PMML export:
 |              * pmml_copyright : string
 |              * pmml_description : string
 |              * pmml_model_version : string
 |      pool : catboost.Pool or list or numpy.ndarray or pandas.DataFrame or pandas.Series or polars.DataFrame or catboost.FeaturesData
 |          Training pool.
 |
 |  select_features(self, X, y=None, eval_set=None, features_for_select=None, num_features_to_select=None, algorithm=None, steps=None, shap_calc_type=None, train_final_model=True, verbose=None, logging_level=None, plot=False, plot_file=None, log_cout=None, log_cerr=None, grouping=None, features_tags_for_select=None, num_features_tags_to_select=None)
 |      Select best features from pool according to loss value.
 |
 |      Parameters
 |      ----------
 |      X : catboost.Pool or list or numpy.ndarray or pandas.DataFrame or pandas.Series or polars.DataFrame
 |          If not catboost.Pool, 2 dimensional Feature matrix or string - file with dataset.
 |
 |      y : list or numpy.ndarray or pandas.DataFrame or pandas.Series or polars.DataFrame or polars.Series, optional (default=None)
 |          Labels of the training data.
 |          If not None, can be a single- or two- dimensional array with either:
 |            - numerical values - for regression (including multiregression), ranking and binary classification problems
 |            - class labels (boolean, integer or string) - for classification (including multiclassification) problems
 |          Use only if X is not catboost.Pool and does not point to a file.
 |
 |      eval_set : catboost.Pool or list of catboost.Pool or tuple (X, y) or list [(X, y)], optional (default=None)
 |          Validation dataset or datasets for metrics calculation and possibly early stopping.
 |
 |      features_for_select : str or list of feature indices, names or ranges
 |          (for grouping = Individual)
 |          Which features should participate in the selection.
 |          Format examples:
 |              - [0, 2, 3, 4, 17]
 |              - [0, "2-4", 17] (both ends in ranges are inclusive)
 |              - "0,2-4,20"
 |              - ["Name0", "Name2", "Name3", "Name4", "Name20"]
 |
 |      num_features_to_select : positive int
 |          (for grouping = Individual)
 |          How many features to select from features_for_select.
 |
 |      algorithm : EFeaturesSelectionAlgorithm or string, optional (default=RecursiveByShapValues)
 |          Which algorithm to use for features selection.
 |          Possible values:
 |              - RecursiveByPredictionValuesChange
 |                  Use prediction values change as feature strength, eliminate batch of features at once.
 |              - RecursiveByLossFunctionChange
 |                  Use loss function change as feature strength, eliminate batch of features at each step.
 |              - RecursiveByShapValues
 |                  Use shap values to estimate loss function change, eliminate features one by one.
 |
 |      steps : positive int, optional (default=1)
 |          How many steps should be performed. In other words, how many times a full model will be trained.
 |          More steps give more accurate results.
 |
 |      shap_calc_type : EShapCalcType or string, optional (default=Regular)
 |          Which method to use for calculation of shap values.
 |          Possible values:
 |              - Regular
 |                  Calculate regular SHAP values
 |              - Approximate
 |                  Calculate approximate SHAP values
 |              - Exact
 |                  Calculate exact SHAP values
 |
 |      train_final_model : bool, optional (default=True)
 |          Need to fit model with selected features.
 |
 |      verbose : bool or int
 |          If verbose is bool, then if set to True, logging_level is set to Verbose,
 |          if set to False, logging_level is set to Silent.
 |          If verbose is int, it determines the frequency of writing metrics to output and
 |          logging_level is set to Verbose.
 |
 |      logging_level : string, optional (default=None)
 |          Possible values:
 |              - 'Silent'
 |              - 'Verbose'
 |              - 'Info'
 |              - 'Debug'
 |
 |      plot : bool, optional (default=False)
 |          If True, draw train and eval error in Jupyter notebook.
 |
 |      plot_file : file-like or str, optional (default=None)
 |          If not None, save train and eval error graphs to file
 |
 |      log_cout: output stream or callback for logging (default=None)
 |          If None is specified, sys.stdout is used
 |
 |      log_cerr: error stream or callback for logging (default=None)
 |          If None is specified, sys.stderr is used
 |
 |      grouping : EFeaturesSelectionGrouping or string, optional (default=Individual)
 |          Which grouping to use for features selection.
 |          Possible values:
 |              - Individual
 |                  Select individual features
 |              - ByTags
 |                  Select feature groups (marked by tags)
 |
 |      features_tags_for_select : list of strings
 |          (for grouping = ByTags)
 |          Which features tags should participate in the selection.
 |
 |      num_features_tags_to_select : positive int
 |          (for grouping = ByTags)
 |          How many features tags to select from features_tags_for_select.
 |
 |      Returns
 |      -------
 |      dict with fields:
 |          'selected_features': list of selected features indices
 |          'eliminated_features': list of eliminated features indices
 |          'selected_features_tags': list of selected features tags (optional, present if grouping == ByTags)
 |          'eliminated_features_tags': list of selected features tags (optional, present if grouping == ByTags)
 |
 |  set_params(self, **params)
 |      Set parameters into CatBoost model.
 |
 |      Parameters
 |      ----------
 |      **params : key=value format
 |          List of key=value paris. Example: model.set_params(iterations=500, thread_count=2).
 |
 |  shrink(self, ntree_end, ntree_start=0)
 |      Shrink the model.
 |
 |      Parameters
 |      ----------
 |      ntree_end: int
 |          Leave the trees with indices from the interval [ntree_start, ntree_end) (zero-based indexing).
 |      ntree_start: int, optional (default=0)
 |          Leave the trees with indices from the interval [ntree_start, ntree_end) (zero-based indexing).
 |
 |  virtual_ensembles_predict(self, data, prediction_type='VirtEnsembles', ntree_end=0, virtual_ensembles_count=10, thread_count=-1, verbose=None)
 |      Predict with data.
 |
 |      Parameters
 |      ----------
 |      data : catboost.Pool or list of features or list of lists or numpy.ndarray or pandas.DataFrame or pandas.Series
 |               or polars.DataFrame or polars.Series or catboost.FeaturesData
 |          Data to apply model on.
 |          If data is a simple list (not list of lists) or a one-dimensional numpy.ndarray it is interpreted
 |          as a list of features for a single object.
 |
 |      prediction_type : string, optional (default='RawFormulaVal')
 |          Can be:
 |          - 'VirtEnsembles': return V (virtual_ensembles_count) predictions.
 |              k-th virtEnsemle consists of trees [0, T/2] + [T/2 + T/(2V) * k, T/2 + T/(2V) * (k + 1)]  * constant.
 |          - 'TotalUncertainty': see returned predictions format in 'Returns' part
 |
 |      ntree_end: int, optional (default=0)
 |          Model is applied on the interval [ntree_start, ntree_end) (zero-based indexing).
 |          If value equals to 0 this parameter is ignored and ntree_end equal to tree_count_.
 |
 |      virtual_ensembles_count: int, optional (default=10)
 |          virtual ensembles count for 'TotalUncertainty' and 'VirtEnsembles' prediction types.
 |
 |      thread_count : int (default=-1)
 |          The number of threads to use when applying the model.
 |          Allows you to optimize the speed of execution. This parameter doesn't affect results.
 |          If -1, then the number of threads is set to the number of CPU cores.
 |
 |      verbose : bool, optional (default=False)
 |          If True, writes the evaluation metric measured set to stderr.
 |
 |      Returns
 |      -------
 |      prediction :
 |          (with V as virtual_ensembles_count and T as trees count,
 |          k-th virtEnsemle consists of trees [0, T/2] + [T/2 + T/(2V) * k, T/2 + T/(2V) * (k + 1)]  * constant)
 |          If data is for a single object, return 1-dimensional array of predictions with size depends on prediction type,
 |          otherwise return 2-dimensional numpy.ndarray with shape (number_of_objects x size depends on prediction type);
 |          Returned predictions depends on prediction type:
 |          If loss-function was RMSEWithUncertainty:
 |              - 'VirtEnsembles': [mean0, var0, mean1, var1, ..., vark-1].
 |              - 'TotalUncertainty': [mean_predict, KnowledgeUnc, DataUnc].
 |          otherwise for regression:
 |              - 'VirtEnsembles':  [mean0, mean1, ...].
 |              - 'TotalUncertainty': [mean_predicts, KnowledgeUnc].
 |          otherwise for binary classification:
 |              - 'VirtEnsembles':  [ApproxRawFormulaVal0, ApproxRawFormulaVal1, ..., ApproxRawFormulaValk-1].
 |              - 'TotalUncertainty':  [DataUnc, TotalUnc].
 |
 |  ----------------------------------------------------------------------
 |  Readonly properties inherited from CatBoost:
 |
 |  feature_importances_
 |
 |  ----------------------------------------------------------------------
 |  Methods inherited from _CatBoostBase:
 |
 |  __copy__(self)
 |
 |  __deepcopy__(self, _)
 |
 |  __eq__(self, other)
 |      Return self==value.
 |
 |  __getstate__(self)
 |      Helper for pickle.
 |
 |  __ne__(self, other)
 |      Return self!=value.
 |
 |  __repr__(self) -> str
 |      Return repr(self).
 |
 |  __setstate__(self, state)
 |
 |  __sklearn_tags__(self)
 |
 |  copy(self)
 |
 |  get_best_iteration(self)
 |
 |  get_best_score(self)
 |
 |  get_evals_result(self)
 |
 |  get_leaf_values(self)
 |      Returns
 |      -------
 |      leaf_values : 1d-array of leaf values for all trees.
 |      Value corresponding to j-th leaf of i-th tree is at position
 |      sum(get_tree_leaf_counts()[:i]) + j (leaf and tree indexing starts from zero).
 |
 |  get_leaf_weights(self)
 |      Returns
 |      -------
 |      leaf_weights : 1d-array of leaf weights for all trees.
 |      Weight of j-th leaf of i-th tree is at position
 |      sum(get_tree_leaf_counts()[:i]) + j (leaf and tree indexing starts from zero).
 |
 |  get_metadata(self)
 |
 |  get_n_features_in(self)
 |
 |  get_scale_and_bias(self)
 |
 |  get_test_eval(self)
 |
 |  get_test_evals(self)
 |
 |  get_tree_leaf_counts(self)
 |      Returns
 |      -------
 |      tree_leaf_counts : 1d-array of numpy.uint32 of size tree_count_.
 |      tree_leaf_counts[i] equals to the number of leafs in i-th tree of the ensemble.
 |
 |  is_fitted(self)
 |
 |  set_feature_names(self, feature_names)
 |      Sets feature names equal to feature_names
 |
 |      Parameters
 |      ----------
 |      feature_names: 1-d array of strings with new feature names in the same order as in pool
 |
 |  set_leaf_values(self, new_leaf_values)
 |      Sets values at tree leafs of ensemble equal to new_leaf_values.
 |
 |      Parameters
 |      ----------
 |      new_leaf_values : 1d-array with new leaf values for all trees.
 |      It's size should be equal to sum(get_tree_leaf_counts()).
 |      Value corresponding to j-th leaf of i-th tree should be at position
 |      sum(get_tree_leaf_counts()[:i]) + j (leaf and tree indexing starts from zero).
 |
 |  set_scale_and_bias(self, scale, bias)
 |
 |  ----------------------------------------------------------------------
 |  Static methods inherited from _CatBoostBase:
 |
 |  get_sklearn_estimator_xfail_checks(estimator: '_CatBoostBase') -> Dict[str, str]
 |      To pass to:
 |          For scikit-learn >= 1.6:
 |              to 'expected_failed_checks' parameter in sklearn.utils.estimator_checks.parametrize_with_checks
 |          For scikit-learn < 1.6:
 |              to '_xfail_checks' field returned by '_CatBoostBase._get_tags'.
 |
 |      This method is made static to be able to pass it to sklearn.utils.estimator_checks.parametrize_with_checks
 |
 |  ----------------------------------------------------------------------
 |  Readonly properties inherited from _CatBoostBase:
 |
 |  best_iteration_
 |
 |  best_score_
 |
 |  classes_
 |
 |  evals_result_
 |
 |  feature_names_
 |
 |  learning_rate_
 |
 |  n_features_in_
 |
 |  random_seed_
 |
 |  tree_count_
 |
 |  ----------------------------------------------------------------------
 |  Data descriptors inherited from _CatBoostBase:
 |
 |  __dict__
 |      dictionary for instance variables
 |
 |  __weakref__
 |      list of weak references to the object
 |
 |  ----------------------------------------------------------------------
 |  Data and other attributes inherited from _CatBoostBase:
 |
 |  __hash__ = None
catboost.CatboostError
Python Library Documentation: class CatBoostError in module catboost._catboost

class CatBoostError(builtins.Exception)
 |  Method resolution order:
 |      CatBoostError
 |      builtins.Exception
 |      builtins.BaseException
 |      builtins.object
 |
 |  Data descriptors defined here:
 |
 |  __weakref__
 |      list of weak references to the object
 |
 |  ----------------------------------------------------------------------
 |  Methods inherited from builtins.Exception:
 |
 |  __init__(self, /, *args, **kwargs)
 |      Initialize self.  See help(type(self)) for accurate signature.
 |
 |  ----------------------------------------------------------------------
 |  Static methods inherited from builtins.Exception:
 |
 |  __new__(*args, **kwargs) class method of builtins.Exception
 |      Create and return a new object.  See help(type) for accurate signature.
 |
 |  ----------------------------------------------------------------------
 |  Methods inherited from builtins.BaseException:
 |
 |  __getattribute__(self, name, /)
 |      Return getattr(self, name).
 |
 |  __reduce__(...)
 |      Helper for pickle.
 |
 |  __repr__(self, /)
 |      Return repr(self).
 |
 |  __setstate__(...)
 |
 |  __str__(self, /)
 |      Return str(self).
 |
 |  add_note(...)
 |      Exception.add_note(note) --
 |      add a note to the exception
 |
 |  with_traceback(...)
 |      Exception.with_traceback(tb) --
 |      set self.__traceback__ to tb and return self.
 |
 |  ----------------------------------------------------------------------
 |  Data descriptors inherited from builtins.BaseException:
 |
 |  __cause__
 |      exception cause
 |
 |  __context__
 |      exception context
 |
 |  __dict__
 |
 |  __suppress_context__
 |
 |  __traceback__
 |
 |  args
catboost.EFeaturesSelectionAlgorithm
Python Library Documentation: class EFeaturesSelectionAlgorithm in module catboost.core

class EFeaturesSelectionAlgorithm(enum.Enum)
 |  EFeaturesSelectionAlgorithm(*values)
 |
 |  Use prediction values change as feature strength, eliminate batch of features at once
 |
 |  Method resolution order:
 |      EFeaturesSelectionAlgorithm
 |      enum.Enum
 |      builtins.object
 |
 |  Data and other attributes defined here:
 |
 |  RecursiveByLossFunctionChange = <EFeaturesSelectionAlgorithm.Recursive...
 |
 |  RecursiveByPredictionValuesChange = <EFeaturesSelectionAlgorithm.Recur...
 |
 |  RecursiveByShapValues = <EFeaturesSelectionAlgorithm.RecursiveByShapVa...
 |
 |  ----------------------------------------------------------------------
 |  Data descriptors inherited from enum.Enum:
 |
 |  name
 |      The name of the Enum member.
 |
 |  value
 |      The value of the Enum member.
 |
 |  ----------------------------------------------------------------------
 |  Static methods inherited from enum.EnumType:
 |
 |  __contains__(value)
 |      Return True if `value` is in `cls`.
 |
 |      `value` is in `cls` if:
 |      1) `value` is a member of `cls`, or
 |      2) `value` is the value of one of the `cls`'s members.
 |
 |  __getitem__(name)
 |      Return the member matching `name`.
 |
 |  __iter__()
 |      Return members in definition order.
 |
 |  __len__()
 |      Return the number of members (no aliases)
 |
 |  ----------------------------------------------------------------------
 |  Readonly properties inherited from enum.EnumType:
 |
 |  __members__
 |      Returns a mapping of member name->value.
 |
 |      This mapping lists all enum members, including aliases. Note that this
 |      is a read-only view of the internal mapping.
catboost.EFeaturesSelectionGrouping
Python Library Documentation: class EFeaturesSelectionGrouping in module catboost.core

class EFeaturesSelectionGrouping(enum.Enum)
 |  EFeaturesSelectionGrouping(*values)
 |
 |  Select individual features
 |
 |  Method resolution order:
 |      EFeaturesSelectionGrouping
 |      enum.Enum
 |      builtins.object
 |
 |  Data and other attributes defined here:
 |
 |  ByTags = <EFeaturesSelectionGrouping.ByTags: 'ByTags'>
 |
 |  Individual = <EFeaturesSelectionGrouping.Individual: 'Individual'>
 |
 |  ----------------------------------------------------------------------
 |  Data descriptors inherited from enum.Enum:
 |
 |  name
 |      The name of the Enum member.
 |
 |  value
 |      The value of the Enum member.
 |
 |  ----------------------------------------------------------------------
 |  Static methods inherited from enum.EnumType:
 |
 |  __contains__(value)
 |      Return True if `value` is in `cls`.
 |
 |      `value` is in `cls` if:
 |      1) `value` is a member of `cls`, or
 |      2) `value` is the value of one of the `cls`'s members.
 |
 |  __getitem__(name)
 |      Return the member matching `name`.
 |
 |  __iter__()
 |      Return members in definition order.
 |
 |  __len__()
 |      Return the number of members (no aliases)
 |
 |  ----------------------------------------------------------------------
 |  Readonly properties inherited from enum.EnumType:
 |
 |  __members__
 |      Returns a mapping of member name->value.
 |
 |      This mapping lists all enum members, including aliases. Note that this
 |      is a read-only view of the internal mapping.
catboost.EFstrType
Python Library Documentation: class EFstrType in module catboost.core

class EFstrType(enum.Enum)
 |  EFstrType(*values)
 |
 |  Calculate score for every feature by values change.
 |
 |  Method resolution order:
 |      EFstrType
 |      enum.Enum
 |      builtins.object
 |
 |  Data and other attributes defined here:
 |
 |  FeatureImportance = <EFstrType.FeatureImportance: 2>
 |
 |  Interaction = <EFstrType.Interaction: 3>
 |
 |  LossFunctionChange = <EFstrType.LossFunctionChange: 1>
 |
 |  PredictionDiff = <EFstrType.PredictionDiff: 5>
 |
 |  PredictionValuesChange = <EFstrType.PredictionValuesChange: 0>
 |
 |  SageValues = <EFstrType.SageValues: 7>
 |
 |  ShapInteractionValues = <EFstrType.ShapInteractionValues: 6>
 |
 |  ShapValues = <EFstrType.ShapValues: 4>
 |
 |  ----------------------------------------------------------------------
 |  Data descriptors inherited from enum.Enum:
 |
 |  name
 |      The name of the Enum member.
 |
 |  value
 |      The value of the Enum member.
 |
 |  ----------------------------------------------------------------------
 |  Static methods inherited from enum.EnumType:
 |
 |  __contains__(value)
 |      Return True if `value` is in `cls`.
 |
 |      `value` is in `cls` if:
 |      1) `value` is a member of `cls`, or
 |      2) `value` is the value of one of the `cls`'s members.
 |
 |  __getitem__(name)
 |      Return the member matching `name`.
 |
 |  __iter__()
 |      Return members in definition order.
 |
 |  __len__()
 |      Return the number of members (no aliases)
 |
 |  ----------------------------------------------------------------------
 |  Readonly properties inherited from enum.EnumType:
 |
 |  __members__
 |      Returns a mapping of member name->value.
 |
 |      This mapping lists all enum members, including aliases. Note that this
 |      is a read-only view of the internal mapping.
catboost.EShapCalcType
Python Library Documentation: class EShapCalcType in module catboost.core

class EShapCalcType(enum.Enum)
 |  EShapCalcType(*values)
 |
 |  Calculate regular SHAP values
 |
 |  Method resolution order:
 |      EShapCalcType
 |      enum.Enum
 |      builtins.object
 |
 |  Data and other attributes defined here:
 |
 |  Approximate = <EShapCalcType.Approximate: 'Approximate'>
 |
 |  Exact = <EShapCalcType.Exact: 'Exact'>
 |
 |  Regular = <EShapCalcType.Regular: 'Regular'>
 |
 |  ----------------------------------------------------------------------
 |  Data descriptors inherited from enum.Enum:
 |
 |  name
 |      The name of the Enum member.
 |
 |  value
 |      The value of the Enum member.
 |
 |  ----------------------------------------------------------------------
 |  Static methods inherited from enum.EnumType:
 |
 |  __contains__(value)
 |      Return True if `value` is in `cls`.
 |
 |      `value` is in `cls` if:
 |      1) `value` is a member of `cls`, or
 |      2) `value` is the value of one of the `cls`'s members.
 |
 |  __getitem__(name)
 |      Return the member matching `name`.
 |
 |  __iter__()
 |      Return members in definition order.
 |
 |  __len__()
 |      Return the number of members (no aliases)
 |
 |  ----------------------------------------------------------------------
 |  Readonly properties inherited from enum.EnumType:
 |
 |  __members__
 |      Returns a mapping of member name->value.
 |
 |      This mapping lists all enum members, including aliases. Note that this
 |      is a read-only view of the internal mapping.
catboost.FeaturesData
Python Library Documentation: class FeaturesData in module catboost._catboost

class FeaturesData(builtins.object)
 |  FeaturesData(num_feature_data=None, cat_feature_data=None, num_feature_names=None, cat_feature_names=None)
 |
 |  class to store features data in optimized form to pass to Pool constructor
 |
 |  stores the following:
 |     num_feature_data  - np.ndarray of (object_count x num_feature_count) with dtype=np.float32 or None
 |     cat_feature_data  - np.ndarray of (object_count x cat_feature_count) with dtype=object,
 |                         elements must have 'bytes' type, containing utf-8 encoded strings
 |     num_feature_names - sequence of (str or bytes) or None
 |     cat_feature_names - sequence of (str or bytes) or None
 |
 |     if feature names are not specified they are initialized to empty strings.
 |
 |  Methods defined here:
 |
 |  __init__(self, num_feature_data=None, cat_feature_data=None, num_feature_names=None, cat_feature_names=None)
 |
 |  get_cat_feature_count(self)
 |
 |  get_feature_count(self)
 |
 |  get_feature_names(self)
 |      empty strings are returned for features for which no names data was specified
 |
 |  get_num_feature_count(self)
 |
 |  get_object_count(self)
 |
 |  ----------------------------------------------------------------------
 |  Data descriptors defined here:
 |
 |  __dict__
 |      dictionary for instance variables
 |
 |  __weakref__
 |      list of weak references to the object
catboost.MetricVisualizer
Python Library Documentation: class MetricVisualizer in module catboost.widget.ipythonwidget

class MetricVisualizer(MetricWidget)
 |  MetricVisualizer(train_dirs, subdirs=False)
 |
 |  Method resolution order:
 |      MetricVisualizer
 |      MetricWidget
 |      ipywidgets.widgets.domwidget.DOMWidget
 |      ipywidgets.widgets.widget.Widget
 |      ipywidgets.widgets.widget.LoggingHasTraits
 |      traitlets.traitlets.HasTraits
 |      traitlets.traitlets.HasDescriptors
 |      builtins.object
 |
 |  Methods defined here:
 |
 |  __init__(self, train_dirs, subdirs=False)
 |      Public constructor
 |
 |  start(self)
 |
 |  ----------------------------------------------------------------------
 |  Data and other attributes defined here:
 |
 |  __annotations__ = {}
 |
 |  ----------------------------------------------------------------------
 |  Data descriptors inherited from MetricWidget:
 |
 |  data
 |
 |  ----------------------------------------------------------------------
 |  Methods inherited from ipywidgets.widgets.domwidget.DOMWidget:
 |
 |  add_class(self, className)
 |      Adds a class to the top level element of the widget.
 |
 |      Doesn't add the class if it already exists.
 |
 |  blur(self)
 |      Blur the widget.
 |
 |  focus(self)
 |      Focus on the widget.
 |
 |  remove_class(self, className)
 |      Removes a class from the top level element of the widget.
 |
 |      Doesn't remove the class if it doesn't exist.
 |
 |  ----------------------------------------------------------------------
 |  Data descriptors inherited from ipywidgets.widgets.domwidget.DOMWidget:
 |
 |  layout
 |
 |  tabbable
 |      Is widget tabbable?
 |
 |  tooltip
 |      A tooltip caption.
 |
 |  ----------------------------------------------------------------------
 |  Methods inherited from ipywidgets.widgets.widget.Widget:
 |
 |  __copy__(self)
 |
 |  __deepcopy__(self, memo)
 |
 |  __del__(self)
 |      Object disposal
 |
 |  __repr__(self)
 |      Return repr(self).
 |
 |  add_traits(self, **traits)
 |      Dynamically add trait attributes to the Widget.
 |
 |  close(self)
 |      Close method.
 |
 |      Closes the underlying comm.
 |      When the comm is closed, all of the widget views are automatically
 |      removed from the front-end.
 |
 |  get_state(self, key=None, drop_defaults=False)
 |      Gets the widget state, or a piece of it.
 |
 |      Parameters
 |      ----------
 |      key : unicode or iterable (optional)
 |          A single property's name or iterable of property names to get.
 |
 |      Returns
 |      -------
 |      state : dict of states
 |      metadata : dict
 |          metadata for each field: {key: metadata}
 |
 |  get_view_spec(self)
 |
 |  hold_sync(self)
 |      Hold syncing any state until the outermost context manager exits
 |
 |  notify_change(self, change)
 |      Called when a property has changed.
 |
 |  on_msg(self, callback, remove=False)
 |      (Un)Register a custom msg receive callback.
 |
 |      Parameters
 |      ----------
 |      callback: callable
 |          callback will be passed three arguments when a message arrives::
 |
 |              callback(widget, content, buffers)
 |
 |      remove: bool
 |          True if the callback should be unregistered.
 |
 |  open(self)
 |      Open a comm to the frontend if one isn't already open.
 |
 |  send(self, content, buffers=None)
 |      Sends a custom msg to the widget model in the front-end.
 |
 |      Parameters
 |      ----------
 |      content : dict
 |          Content of the message to send.
 |      buffers : list of binary buffers
 |          Binary buffers to send with message
 |
 |  send_state(self, key=None)
 |      Sends the widget state, or a piece of it, to the front-end, if it exists.
 |
 |      Parameters
 |      ----------
 |      key : unicode, or iterable (optional)
 |          A single property's name or iterable of property names to sync with the front-end.
 |
 |  set_state(self, sync_data)
 |      Called when a state is received from the front-end.
 |
 |  ----------------------------------------------------------------------
 |  Class methods inherited from ipywidgets.widgets.widget.Widget:
 |
 |  close_all()
 |
 |  handle_control_comm_opened(comm, msg)
 |      Class method, called when the comm-open message on the
 |      "jupyter.widget.control" comm channel is received
 |
 |  ----------------------------------------------------------------------
 |  Static methods inherited from ipywidgets.widgets.widget.Widget:
 |
 |  get_manager_state(drop_defaults=False, widgets=None)
 |      Returns the full state for a widget manager for embedding
 |
 |      :param drop_defaults: when True, it will not include default value
 |      :param widgets: list with widgets to include in the state (or all widgets when None)
 |      :return:
 |
 |  handle_comm_opened(comm, msg)
 |      Static method, called when a widget is constructed.
 |
 |  on_widget_constructed(callback)
 |      Registers a callback to be called when a widget is constructed.
 |
 |      The callback must have the following signature:
 |      callback(widget)
 |
 |  ----------------------------------------------------------------------
 |  Readonly properties inherited from ipywidgets.widgets.widget.Widget:
 |
 |  model_id
 |      Gets the model id of this widget.
 |
 |      If a Comm doesn't exist yet, a Comm will be created automagically.
 |
 |  ----------------------------------------------------------------------
 |  Data descriptors inherited from ipywidgets.widgets.widget.Widget:
 |
 |  comm
 |
 |  keys
 |      The traits which are synced.
 |
 |  ----------------------------------------------------------------------
 |  Data and other attributes inherited from ipywidgets.widgets.widget.Widget:
 |
 |  widget_types = <ipywidgets.widgets.widget.WidgetRegistry object>
 |
 |  widgets = {}
 |
 |  ----------------------------------------------------------------------
 |  Data descriptors inherited from ipywidgets.widgets.widget.LoggingHasTraits:
 |
 |  log
 |
 |  ----------------------------------------------------------------------
 |  Methods inherited from traitlets.traitlets.HasTraits:
 |
 |  __getstate__(self) -> 'dict[str, t.Any]'
 |      Helper for pickle.
 |
 |  __setstate__(self, state: 'dict[str, t.Any]') -> 'None'
 |
 |  has_trait(self, name: 'str') -> 'bool'
 |      Returns True if the object has a trait with the specified name.
 |
 |  hold_trait_notifications(self) -> 't.Any'
 |      Context manager for bundling trait change notifications and cross
 |      validation.
 |
 |      Use this when doing multiple trait assignments (init, config), to avoid
 |      race conditions in trait notifiers requesting other trait values.
 |      All trait notifications will fire after all values have been assigned.
 |
 |  observe(self, handler: 't.Callable[..., t.Any]', names: 'Sentinel | str | t.Iterable[Sentinel | str]' = traitlets.All, type: 'Sentinel | str' = 'change') -> 'None'
 |      Setup a handler to be called when a trait changes.
 |
 |      This is used to setup dynamic notifications of trait changes.
 |
 |      Parameters
 |      ----------
 |      handler : callable
 |          A callable that is called when a trait changes. Its
 |          signature should be ``handler(change)``, where ``change`` is a
 |          dictionary. The change dictionary at least holds a 'type' key.
 |          * ``type``: the type of notification.
 |          Other keys may be passed depending on the value of 'type'. In the
 |          case where type is 'change', we also have the following keys:
 |          * ``owner`` : the HasTraits instance
 |          * ``old`` : the old value of the modified trait attribute
 |          * ``new`` : the new value of the modified trait attribute
 |          * ``name`` : the name of the modified trait attribute.
 |      names : list, str, All
 |          If names is All, the handler will apply to all traits.  If a list
 |          of str, handler will apply to all names in the list.  If a
 |          str, the handler will apply just to that name.
 |      type : str, All (default: 'change')
 |          The type of notification to filter by. If equal to All, then all
 |          notifications are passed to the observe handler.
 |
 |  on_trait_change(self, handler: 'EventHandler | None' = None, name: 'Sentinel | str | None' = None, remove: 'bool' = False) -> 'None'
 |      DEPRECATED: Setup a handler to be called when a trait changes.
 |
 |      This is used to setup dynamic notifications of trait changes.
 |
 |      Static handlers can be created by creating methods on a HasTraits
 |      subclass with the naming convention '_[traitname]_changed'.  Thus,
 |      to create static handler for the trait 'a', create the method
 |      _a_changed(self, name, old, new) (fewer arguments can be used, see
 |      below).
 |
 |      If `remove` is True and `handler` is not specified, all change
 |      handlers for the specified name are uninstalled.
 |
 |      Parameters
 |      ----------
 |      handler : callable, None
 |          A callable that is called when a trait changes.  Its
 |          signature can be handler(), handler(name), handler(name, new),
 |          handler(name, old, new), or handler(name, old, new, self).
 |      name : list, str, None
 |          If None, the handler will apply to all traits.  If a list
 |          of str, handler will apply to all names in the list.  If a
 |          str, the handler will apply just to that name.
 |      remove : bool
 |          If False (the default), then install the handler.  If True
 |          then unintall it.
 |
 |  set_trait(self, name: 'str', value: 't.Any') -> 'None'
 |      Forcibly sets trait attribute, including read-only attributes.
 |
 |  setup_instance(*args: 't.Any', **kwargs: 't.Any') -> 'None'
 |      This is called **before** self.__init__ is called.
 |
 |  trait_defaults(self, *names: 'str', **metadata: 't.Any') -> 'dict[str, t.Any] | Sentinel'
 |      Return a trait's default value or a dictionary of them
 |
 |      Notes
 |      -----
 |      Dynamically generated default values may
 |      depend on the current state of the object.
 |
 |  trait_has_value(self, name: 'str') -> 'bool'
 |      Returns True if the specified trait has a value.
 |
 |      This will return false even if ``getattr`` would return a
 |      dynamically generated default value. These default values
 |      will be recognized as existing only after they have been
 |      generated.
 |
 |      Example
 |
 |      .. code-block:: python
 |
 |          class MyClass(HasTraits):
 |              i = Int()
 |
 |
 |          mc = MyClass()
 |          assert not mc.trait_has_value("i")
 |          mc.i  # generates a default value
 |          assert mc.trait_has_value("i")
 |
 |  trait_metadata(self, traitname: 'str', key: 'str', default: 't.Any' = None) -> 't.Any'
 |      Get metadata values for trait by key.
 |
 |  trait_names(self, **metadata: 't.Any') -> 'list[str]'
 |      Get a list of all the names of this class' traits.
 |
 |  trait_values(self, **metadata: 't.Any') -> 'dict[str, t.Any]'
 |      A ``dict`` of trait names and their values.
 |
 |      The metadata kwargs allow functions to be passed in which
 |      filter traits based on metadata values.  The functions should
 |      take a single value as an argument and return a boolean.  If
 |      any function returns False, then the trait is not included in
 |      the output.  If a metadata key doesn't exist, None will be passed
 |      to the function.
 |
 |      Returns
 |      -------
 |      A ``dict`` of trait names and their values.
 |
 |      Notes
 |      -----
 |      Trait values are retrieved via ``getattr``, any exceptions raised
 |      by traits or the operations they may trigger will result in the
 |      absence of a trait value in the result ``dict``.
 |
 |  traits(self, **metadata: 't.Any') -> 'dict[str, TraitType[t.Any, t.Any]]'
 |      Get a ``dict`` of all the traits of this class.  The dictionary
 |      is keyed on the name and the values are the TraitType objects.
 |
 |      The TraitTypes returned don't know anything about the values
 |      that the various HasTrait's instances are holding.
 |
 |      The metadata kwargs allow functions to be passed in which
 |      filter traits based on metadata values.  The functions should
 |      take a single value as an argument and return a boolean.  If
 |      any function returns False, then the trait is not included in
 |      the output.  If a metadata key doesn't exist, None will be passed
 |      to the function.
 |
 |  unobserve(self, handler: 't.Callable[..., t.Any]', names: 'Sentinel | str | t.Iterable[Sentinel | str]' = traitlets.All, type: 'Sentinel | str' = 'change') -> 'None'
 |      Remove a trait change handler.
 |
 |      This is used to unregister handlers to trait change notifications.
 |
 |      Parameters
 |      ----------
 |      handler : callable
 |          The callable called when a trait attribute changes.
 |      names : list, str, All (default: All)
 |          The names of the traits for which the specified handler should be
 |          uninstalled. If names is All, the specified handler is uninstalled
 |          from the list of notifiers corresponding to all changes.
 |      type : str or All (default: 'change')
 |          The type of notification to filter by. If All, the specified handler
 |          is uninstalled from the list of notifiers corresponding to all types.
 |
 |  unobserve_all(self, name: 'str | t.Any' = traitlets.All) -> 'None'
 |      Remove trait change handlers of any type for the specified name.
 |      If name is not specified, removes all trait notifiers.
 |
 |  ----------------------------------------------------------------------
 |  Class methods inherited from traitlets.traitlets.HasTraits:
 |
 |  class_own_trait_events(name: 'str') -> 'dict[str, EventHandler]'
 |      Get a dict of all event handlers defined on this class, not a parent.
 |
 |      Works like ``event_handlers``, except for excluding traits from parents.
 |
 |  class_own_traits(**metadata: 't.Any') -> 'dict[str, TraitType[t.Any, t.Any]]'
 |      Get a dict of all the traitlets defined on this class, not a parent.
 |
 |      Works like `class_traits`, except for excluding traits from parents.
 |
 |  class_trait_names(**metadata: 't.Any') -> 'list[str]'
 |      Get a list of all the names of this class' traits.
 |
 |      This method is just like the :meth:`trait_names` method,
 |      but is unbound.
 |
 |  class_traits(**metadata: 't.Any') -> 'dict[str, TraitType[t.Any, t.Any]]'
 |      Get a ``dict`` of all the traits of this class.  The dictionary
 |      is keyed on the name and the values are the TraitType objects.
 |
 |      This method is just like the :meth:`traits` method, but is unbound.
 |
 |      The TraitTypes returned don't know anything about the values
 |      that the various HasTrait's instances are holding.
 |
 |      The metadata kwargs allow functions to be passed in which
 |      filter traits based on metadata values.  The functions should
 |      take a single value as an argument and return a boolean.  If
 |      any function returns False, then the trait is not included in
 |      the output.  If a metadata key doesn't exist, None will be passed
 |      to the function.
 |
 |  trait_events(name: 'str | None' = None) -> 'dict[str, EventHandler]'
 |      Get a ``dict`` of all the event handlers of this class.
 |
 |      Parameters
 |      ----------
 |      name : str (default: None)
 |          The name of a trait of this class. If name is ``None`` then all
 |          the event handlers of this class will be returned instead.
 |
 |      Returns
 |      -------
 |      The event handlers associated with a trait name, or all event handlers.
 |
 |  ----------------------------------------------------------------------
 |  Readonly properties inherited from traitlets.traitlets.HasTraits:
 |
 |  cross_validation_lock
 |      A contextmanager for running a block with our cross validation lock set
 |      to True.
 |
 |      At the end of the block, the lock's value is restored to its value
 |      prior to entering the block.
 |
 |  ----------------------------------------------------------------------
 |  Static methods inherited from traitlets.traitlets.HasDescriptors:
 |
 |  __new__(*args: 't.Any', **kwargs: 't.Any') -> 't.Any'
 |      Create and return a new object.  See help(type) for accurate signature.
 |
 |  ----------------------------------------------------------------------
 |  Data descriptors inherited from traitlets.traitlets.HasDescriptors:
 |
 |  __dict__
 |      dictionary for instance variables
 |
 |  __weakref__
 |      list of weak references to the object
catboost.MetricsPlotter
Python Library Documentation: class MetricsPlotter in module catboost.widget.metrics_plotter

class MetricsPlotter(builtins.object)
 |  MetricsPlotter(train_metrics: List[Union[str, Dict[str, str]]], test_metrics: Optional[List[Union[str, Dict[str, str]]]] = None, total_iterations: Optional[int] = None) -> None
 |
 |  Context manager that enables widget with learning curves in
 |  JupyterLab / Jupyter Notebook
 |
 |  Methods defined here:
 |
 |  __enter__(self) -> 'MetricsPlotter'
 |
 |  __exit__(self, exc_type, exc_value, traceback) -> Any
 |
 |  __init__(self, train_metrics: List[Union[str, Dict[str, str]]], test_metrics: Optional[List[Union[str, Dict[str, str]]]] = None, total_iterations: Optional[int] = None) -> None
 |      Constructor that defines metrics to be plotted and total iterations count.
 |
 |      Parameters
 |      ----------
 |      train_metrics : list of str or list of dict
 |          List of train metrics to be tracked.
 |          Each item in list can be either string with metric name or dict
 |          with the following format:
 |          {
 |              "name": "{metric_name}",
 |              "best_value": "Max|Min|Undefined",
 |          }
 |
 |      test_metrics : list of str or list of dict, optional (default=None)
 |          List of test metrics to be tracked.
 |          Has the same format as train_metrics. Equals to train_metrics, if not defined
 |
 |      total_iterations: int, optional (default=None)
 |          Total number of iterations, allows for remaining time estimation.
 |
 |  estimate_remaining_time(self, time_from_start: float) -> Optional[float]
 |
 |  log(self, epoch: int, train: bool, metrics: Dict[str, float]) -> None
 |      Save metrics at specific training epoch.
 |
 |      Parameters
 |      ----------
 |      epoch : int
 |          Current epoch
 |
 |      train : bool
 |          Flag that indicates whether metrics are calculated on train or test data
 |
 |      metrics: dict
 |          Values for each of metrics defined in `__init__` method of this class
 |
 |  ----------------------------------------------------------------------
 |  Static methods defined here:
 |
 |  construct_metrics_array(metrics_positions: Dict[str, int], metrics: Dict[str, float]) -> List[float]
 |
 |  construct_metrics_meta(metrics: List[Union[str, Dict[str, str]]]) -> List[Dict[str, str]]
 |
 |  ----------------------------------------------------------------------
 |  Data descriptors defined here:
 |
 |  __dict__
 |      dictionary for instance variables
 |
 |  __weakref__
 |      list of weak references to the object
catboost.MultiRegressionCustomMetric
Python Library Documentation: class MultiTargetCustomMetric in module catboost._catboost

class MultiTargetCustomMetric(builtins.object)
 |  Methods defined here:
 |
 |  evaluate(self, approxes, targets, weights)
 |      MultiTargetCustomMetric.evaluate(self, approxes, targets, weights)
 |
 |      Evaluates metric value.
 |
 |      Parameters
 |      ----------
 |      approxes : list of lists of float
 |          Vectors of approx labels.
 |
 |      targets : list of lists of float
 |          Vectors of true labels.
 |
 |      weights : list of float, optional (default=None)
 |          Weight for each instance.
 |
 |      Returns
 |      -------
 |          weighted error : float
 |          total weight : float
 |
 |  get_final_error(self, error, weight)
 |      MultiTargetCustomMetric.get_final_error(self, error, weight)
 |
 |      Returns final value of metric based on error and weight.
 |
 |      Parameters
 |      ----------
 |      error : float
 |          Sum of errors in all instances.
 |
 |      weight : float
 |          Sum of weights of all instances.
 |
 |      Returns
 |      -------
 |      metric value : float
 |
 |  is_max_optimal(self)
 |      MultiTargetCustomMetric.is_max_optimal(self)
 |
 |  ----------------------------------------------------------------------
 |  Data descriptors defined here:
 |
 |  __dict__
 |      dictionary for instance variables
 |
 |  __weakref__
 |      list of weak references to the object
catboost.MultiRegressionCustomObjective
Python Library Documentation: class MultiTargetCustomObjective in module catboost._catboost

class MultiTargetCustomObjective(builtins.object)
 |  Methods defined here:
 |
 |  calc_ders_multi(self, approxes, targets, weights)
 |      MultiTargetCustomObjective.calc_ders_multi(self, approxes, targets, weights)
 |
 |      Computes first derivative and Hessian matrix of the loss function with respect to the predicted value for each dimension.
 |
 |      Parameters
 |      ----------
 |      approxes : list of float
 |          Vector of approx labels.
 |
 |      targets : list of float
 |          Vector of true labels.
 |
 |      weight : float, optional (default=None)
 |          Instance weight.
 |
 |      Returns
 |      -------
 |          der1 : list of float
 |          der2 : list of lists of float
 |
 |  ----------------------------------------------------------------------
 |  Data descriptors defined here:
 |
 |  __dict__
 |      dictionary for instance variables
 |
 |  __weakref__
 |      list of weak references to the object
catboost.MultiTargetCustomMetric
Python Library Documentation: class MultiTargetCustomMetric in module catboost._catboost

class MultiTargetCustomMetric(builtins.object)
 |  Methods defined here:
 |
 |  evaluate(self, approxes, targets, weights)
 |      MultiTargetCustomMetric.evaluate(self, approxes, targets, weights)
 |
 |      Evaluates metric value.
 |
 |      Parameters
 |      ----------
 |      approxes : list of lists of float
 |          Vectors of approx labels.
 |
 |      targets : list of lists of float
 |          Vectors of true labels.
 |
 |      weights : list of float, optional (default=None)
 |          Weight for each instance.
 |
 |      Returns
 |      -------
 |          weighted error : float
 |          total weight : float
 |
 |  get_final_error(self, error, weight)
 |      MultiTargetCustomMetric.get_final_error(self, error, weight)
 |
 |      Returns final value of metric based on error and weight.
 |
 |      Parameters
 |      ----------
 |      error : float
 |          Sum of errors in all instances.
 |
 |      weight : float
 |          Sum of weights of all instances.
 |
 |      Returns
 |      -------
 |      metric value : float
 |
 |  is_max_optimal(self)
 |      MultiTargetCustomMetric.is_max_optimal(self)
 |
 |  ----------------------------------------------------------------------
 |  Data descriptors defined here:
 |
 |  __dict__
 |      dictionary for instance variables
 |
 |  __weakref__
 |      list of weak references to the object
catboost.MultiTargetCustomObjective
Python Library Documentation: class MultiTargetCustomObjective in module catboost._catboost

class MultiTargetCustomObjective(builtins.object)
 |  Methods defined here:
 |
 |  calc_ders_multi(self, approxes, targets, weights)
 |      MultiTargetCustomObjective.calc_ders_multi(self, approxes, targets, weights)
 |
 |      Computes first derivative and Hessian matrix of the loss function with respect to the predicted value for each dimension.
 |
 |      Parameters
 |      ----------
 |      approxes : list of float
 |          Vector of approx labels.
 |
 |      targets : list of float
 |          Vector of true labels.
 |
 |      weight : float, optional (default=None)
 |          Instance weight.
 |
 |      Returns
 |      -------
 |          der1 : list of float
 |          der2 : list of lists of float
 |
 |  ----------------------------------------------------------------------
 |  Data descriptors defined here:
 |
 |  __dict__
 |      dictionary for instance variables
 |
 |  __weakref__
 |      list of weak references to the object
catboost.Pool
Python Library Documentation: class Pool in module catboost.core

class Pool(_catboost._PoolBase)
 |  Pool(data, label=None, cat_features=None, text_features=None, embedding_features=None, embedding_features_data=None, column_description=None, pairs=None, graph=None, delimiter='\t', has_header=False, ignore_csv_quoting=False, weight=None, group_id=None, group_weight=None, subgroup_id=None, pairs_weight=None, baseline=None, timestamp=None, feature_names=None, feature_tags=None, thread_count=-1, log_cout=None, log_cerr=None, data_can_be_none=False)
 |
 |  Pool used in CatBoost as a data structure to train model from.
 |
 |  Method resolution order:
 |      Pool
 |      _catboost._PoolBase
 |      builtins.object
 |
 |  Methods defined here:
 |
 |  __init__(self, data, label=None, cat_features=None, text_features=None, embedding_features=None, embedding_features_data=None, column_description=None, pairs=None, graph=None, delimiter='\t', has_header=False, ignore_csv_quoting=False, weight=None, group_id=None, group_weight=None, subgroup_id=None, pairs_weight=None, baseline=None, timestamp=None, feature_names=None, feature_tags=None, thread_count=-1, log_cout=None, log_cerr=None, data_can_be_none=False)
 |      Pool is an internal data structure that is used by CatBoost.
 |      You can construct Pool from list, numpy.ndarray, pandas.DataFrame, pandas.Series.
 |
 |      Parameters
 |      ----------
 |      data : list or numpy.ndarray or pandas.DataFrame or pandas.Series or polars.DataFrame or FeaturesData or string or os.PathLike
 |          Data source of Pool.
 |          If list or numpy.ndarrays or pandas.DataFrame or pandas.Series or polars.DataFrame,
 |            giving 2 dimensional array like data.
 |          If FeaturesData - see FeaturesData description for details, 'cat_features' and 'feature_names'
 |            parameters must be equal to None in this case
 |          If string or os.PathLike, giving the path to the file with data in catboost format.
 |            If string starts with "quantized://", the file has to contain quantized dataset saved with Pool.save().
 |
 |      label : list or numpy.ndarrays or pandas.DataFrame or pandas.Series or polars.DataFrame or polars.Series, optional (default=None)
 |          Labels data.
 |          If not None, can be a single- or two- dimensional array with either:
 |            - numerical values - for regression (including multiregression), ranking and binary classification problems
 |            - class labels (boolean, integer or string) - for classification (including multiclassification) problems
 |          If `data` parameter points to a file, Label data is loaded from it as well. This parameter must
 |            be None in this case.
 |
 |      cat_features : list or numpy.ndarray, optional (default=None)
 |          If not None, giving the list of Categ features indices or names.
 |          If it contains feature names, Pool's feature names must be defined: either by passing 'feature_names'
 |            parameter or if data is pandas.DataFrame (feature names are initialized from it's column names)
 |          Must be None if 'data' parameter has FeaturesData type
 |
 |      text_features : list or numpy.ndarray, optional (default=None)
 |          If not None, giving the list of Text features indices or names.
 |          If it contains feature names, Pool's feature names must be defined: either by passing 'feature_names'
 |            parameter or if data is pandas.DataFrame (feature names are initialized from it's column names)
 |          Must be None if 'data' parameter has FeaturesData type
 |
 |      embedding_features : list or numpy.ndarray, optional (default=None)
 |          If not None, giving the list of Embedding features indices or names.
 |          If it contains feature names, Pool's feature names must be defined: either by passing 'feature_names'
 |            parameter or if data is pandas.DataFrame (feature names are initialized from it's column names)
 |          Must be None if 'data' parameter has FeaturesData type
 |
 |      embedding_features_data : list or dict, optional (default=None)
 |          If not None, giving the data of Embedding features (instead of data in main 'data' parameter).
 |          If list - list containing 2d arrays (lists or numpy.ndarrays or scipy.sparse.spmatrix) with [n_data_size x embedding_size] elements
 |          If dict - dict containing 2d arrays (lists or numpy.ndarrays or scipy.sparse.spmatrix) with [n_data_size x embedding_size] elements
 |              Dict keys must be the same as specified in 'embedding_features' parameter
 |
 |      column_description : string or os.PathLike, optional (default=None)
 |          ColumnsDescription parameter.
 |          There are several columns description types: Label, Categ, Num, Auxiliary, DocId, Weight, Baseline, GroupId, Timestamp.
 |          All columns are Num as default, it's not necessary to specify
 |          this type of columns. Default Label column index is 0 (zero).
 |          If None, Label column is 0 (zero) as default, all data columns are Num as default.
 |          If string or os.PathLike, giving the path to the file with ColumnsDescription in column_description format.
 |
 |      pairs : list or numpy.ndarray or pandas.DataFrame or polars.DataFrame or string or os.PathLike
 |          The pairs description.
 |          If list or numpy.ndarrays or pandas.DataFrame or polars.DataFrame, giving 2 dimensional.
 |          The shape should be Nx2, where N is the pairs' count. The first element of the pair is
 |          the index of winner object in the training set. The second element of the pair is
 |          the index of loser object in the training set.
 |          If string or os.PathLike, giving the path to the file with pairs description.
 |
 |      graph: list or numpy.ndarray or pandas.DataFrame or polars.DataFrame or string or os.PathLike
 |          The graph description.
 |          ...
 |
 |      delimiter : string, optional (default=' ')
 |          Delimiter to use for separate features in file.
 |          Should be only one symbol, otherwise would be taken only the first character of the string.
 |
 |      has_header : bool optional (default=False)
 |          If True, read column names from first line.
 |
 |      ignore_csv_quoting : bool optional (default=False)
 |          If True ignore quoting '"'.
 |
 |      weight : list or numpy.ndarray or polars.Series, optional (default=None)
 |          Weight for each instance.
 |          If not None, giving 1 dimensional array like data.
 |
 |      group_id : list or numpy.ndarray or polars.Series, optional (default=None)
 |          group id for each instance.
 |          If not None, giving 1 dimensional array like data.
 |
 |      group_weight : list or numpy.ndarray or polars.Series, optional (default=None)
 |          Group weight for each instance.
 |          If not None, giving 1 dimensional array like data.
 |
 |      subgroup_id : list or numpy.ndarray or polars.Series, optional (default=None)
 |          subgroup id for each instance.
 |          If not None, giving 1 dimensional array like data.
 |
 |      pairs_weight : list or numpy.ndarray or polars.Series, optional (default=None)
 |          Weight for each pair.
 |          If not None, giving 1 dimensional array like pairs.
 |
 |      baseline : list or numpy.ndarray or polars.DataFrame or polars.Series, optional (default=None)
 |          Baseline for each instance.
 |          If not None, giving 2 dimensional array like data.
 |
 |      timestamp: list or numpy.ndarray or polars.Series, optional (default=None)
 |          Timestamp for each instance.
 |          Should be a non-negative integer.
 |          Useful for sorting a learning dataset by this field during training.
 |
 |      feature_names : list or string or os.PathLike, optional (default=None)
 |          If list - list of names for each given data_feature.
 |          If string or os.PathLike - path with scheme for feature names data to load.
 |          If this parameter is None and 'data' is pandas.DataFrame feature names will be initialized
 |            from DataFrame's column names.
 |          Must be None if 'data' parameter has FeaturesData type
 |
 |      feature_tags : json, optional (default=None)
 |          Format:
 |          {'tag1':
 |              {
 |                  'features': [<ids or names of features>],
 |                  'cost': <positive integer>
 |              }
 |           'tag2':
 |              {
 |               ...
 |              }
 |          ...
 |          }
 |
 |      thread_count : int, optional (default=-1)
 |          Thread count for data processing.
 |          If -1, then the number of threads is set to the number of CPU cores.
 |
 |      log_cout: output stream or callback for logging (default=None)
 |          If None is specified, sys.stdout is used
 |
 |      log_cerr: error stream or callback for logging (default=None)
 |          If None is specified, sys.stderr is used
 |
 |  quantize(self, ignored_features=None, per_float_feature_quantization=None, border_count=None, max_bin=None, feature_border_type=None, sparse_features_conflict_fraction=None, nan_mode=None, input_borders=None, task_type=None, used_ram_limit=None, random_seed=None, **kwargs)
 |      Quantize this pool
 |
 |      Parameters
 |      ----------
 |      pool : catboost.Pool
 |          Dataset to quantize.
 |
 |      ignored_features : list, [default=None]
 |          Indices or names of features that should be excluded when training.
 |
 |      per_float_feature_quantization : list of strings, [default=None]
 |          List of float binarization descriptions.
 |          Format : described in documentation on catboost.ai
 |          Example 1: ['0:1024'] means that feature 0 will have 1024 borders.
 |          Example 2: ['0:border_count=1024', '1:border_count=1024', ...] means that two first features have 1024 borders.
 |          Example 3: ['0:nan_mode=Forbidden,border_count=32,border_type=GreedyLogSum',
 |                      '1:nan_mode=Forbidden,border_count=32,border_type=GreedyLogSum'] - defines more quantization properties for first two features.
 |
 |      border_count : int, [default = 254 for training on CPU or 128 for training on GPU]
 |          The number of partitions in numeric features binarization. Used in the preliminary calculation.
 |          range: [1,65535] on CPU, [1,255] on GPU
 |
 |      max_bin : float, synonym for border_count.
 |
 |      feature_border_type : string, [default='GreedyLogSum']
 |          The binarization mode in numeric features binarization. Used in the preliminary calculation.
 |          Possible values:
 |              - 'Median'
 |              - 'Uniform'
 |              - 'UniformAndQuantiles'
 |              - 'GreedyLogSum'
 |              - 'MaxLogSum'
 |              - 'MinEntropy'
 |
 |      sparse_features_conflict_fraction : float, [default=0.0]
 |          CPU only. Maximum allowed fraction of conflicting non-default values for features in exclusive features bundle.
 |          Should be a real value in [0, 1) interval.
 |
 |      nan_mode : string, [default=None]
 |          Way to process missing values for numeric features.
 |          Possible values:
 |              - 'Forbidden' - raises an exception if there is a missing value for a numeric feature in a dataset.
 |              - 'Min' - each missing value will be processed as the minimum numerical value.
 |              - 'Max' - each missing value will be processed as the maximum numerical value.
 |          If None, then nan_mode=Min.
 |
 |      input_borders : string or os.PathLike, [default=None]
 |          input file with borders used in numeric features binarization.
 |
 |      task_type : string, [default=None]
 |          The calcer type that will be used to train the model after quantization.
 |          Possible values:
 |              - 'CPU'
 |              - 'GPU'
 |
 |      used_ram_limit=None
 |
 |      random_seed : int, [default=None]
 |          The random seed used for data sampling.
 |          If None, 0 is used.
 |
 |  save(self, fname)
 |      Save the quantized pool to a file.
 |
 |      Parameters
 |      ----------
 |      fname : string or os.PathLike
 |          Output file name.
 |
 |  set_baseline(self, baseline)
 |
 |  set_feature_names(self, feature_names)
 |
 |  set_group_id(self, group_id)
 |
 |  set_group_weight(self, group_weight)
 |
 |  set_pairs(self, pairs)
 |
 |  set_pairs_weight(self, pairs_weight)
 |
 |  set_subgroup_id(self, subgroup_id)
 |
 |  set_timestamp(self, timestamp)
 |
 |  set_weight(self, weight)
 |
 |  slice(self, rindex)
 |
 |  train_eval_split(self, has_time, is_classification, eval_fraction, save_eval_pool)
 |
 |  ----------------------------------------------------------------------
 |  Data descriptors defined here:
 |
 |  __dict__
 |      dictionary for instance variables
 |
 |  __weakref__
 |      list of weak references to the object
 |
 |  ----------------------------------------------------------------------
 |  Methods inherited from _catboost._PoolBase:
 |
 |  __deepcopy__(self, _)
 |
 |  __eq__(self, value, /)
 |      Return self==value.
 |
 |  __ge__(self, value, /)
 |      Return self>=value.
 |
 |  __gt__(self, value, /)
 |      Return self>value.
 |
 |  __le__(self, value, /)
 |      Return self<=value.
 |
 |  __lt__(self, value, /)
 |      Return self<value.
 |
 |  __ne__(self, value, /)
 |      Return self!=value.
 |
 |  __reduce__ = __reduce_cython__(...)
 |
 |  __setstate__ = __setstate_cython__(...)
 |
 |  get_baseline(self)
 |      Get baseline from Pool.
 |
 |      Returns
 |      -------
 |      baseline : np.ndarray of shape (object_count, baseline_count)
 |
 |  get_cat_feature_indices(self)
 |      Get cat_feature indices from Pool.
 |
 |      Returns
 |      -------
 |      cat_feature_indices : list
 |
 |  get_embedding_feature_indices(self)
 |      Get embedding_feature indices from Pool.
 |
 |      Returns
 |      -------
 |      embedding_feature_indices : list
 |
 |  get_feature_names(self)
 |
 |  get_features(self)
 |      Get feature matrix from Pool.
 |
 |      Returns
 |      -------
 |      feature matrix : np.ndarray of shape (object_count, feature_count)
 |
 |  get_group_id_hash(self)
 |      Get hashes generated from group_id.
 |
 |      Returns
 |      -------
 |      group_id : np.array with dtype==np.uint64 if group_id was defined or None otherwise.
 |
 |  get_label(self)
 |      Get labels from Pool.
 |
 |      Returns
 |      -------
 |      labels : list if labels are one-dimensional, np.ndarray of shape (object_count, labels_count) otherwise
 |
 |  get_text_feature_indices(self)
 |      Get text_feature indices from Pool.
 |
 |      Returns
 |      -------
 |      text_feature_indices : list
 |
 |  get_weight(self)
 |      Get weight for each instance.
 |
 |      Returns
 |      -------
 |      weight : list
 |
 |  has_label(self)
 |      Returns
 |      -------
 |      True if Pool has label data
 |
 |  is_quantized(self)
 |
 |  num_col(self)
 |      Get the number of columns in the Pool.
 |
 |      Returns
 |      -------
 |      number of cols : int
 |
 |  num_pairs(self)
 |      Get the number of pairs in the Pool.
 |
 |      Returns
 |      -------
 |      number of pairs : int
 |
 |  num_row(self)
 |      Get the number of rows in the Pool.
 |
 |      Returns
 |      -------
 |      number of rows : int
 |
 |  save_quantization_borders(self, output_file)
 |      Save file with borders used in numeric features quantization.
 |      File format is described here: https://catboost.ai/docs/concepts/input-data_custom-borders.html
 |
 |      Parameters
 |      ----------
 |      output_file : string or pathlib.Path
 |          Output file name.
 |
 |      Examples
 |      --------
 |      >>> train.quantize()
 |      >>> train.save_quantization_borders("borders.dat")
 |      >>> test.quantize(input_borders="borders.dat")
 |
 |  ----------------------------------------------------------------------
 |  Static methods inherited from _catboost._PoolBase:
 |
 |  __new__(*args, **kwargs) class method of _catboost._PoolBase
 |      Create and return a new object.  See help(type) for accurate signature.
 |
 |  ----------------------------------------------------------------------
 |  Data descriptors inherited from _catboost._PoolBase:
 |
 |  is_empty_
 |      Check if Pool is empty (contains no objects).
 |
 |      Returns
 |      -------
 |      is_empty_ : bool
 |
 |  shape
 |      Get the shape of the Pool.
 |
 |      Returns
 |      -------
 |      shape : (int, int)
 |          (rows, cols)
 |
 |  ----------------------------------------------------------------------
 |  Data and other attributes inherited from _catboost._PoolBase:
 |
 |  __hash__ = None
 |
 |  __pyx_vtable__ = <capsule object NULL>
catboost.XGBPlottingCallback
Python Library Documentation: class XGBPlottingCallback in module catboost.widget.callbacks

class XGBPlottingCallback(xgboost.callback.TrainingCallback)
 |  XGBPlottingCallback(total_iterations: int)
 |
 |  XGBoost callback with metrics plotting widget from CatBoost
 |
 |  Method resolution order:
 |      XGBPlottingCallback
 |      xgboost.callback.TrainingCallback
 |      abc.ABC
 |      builtins.object
 |
 |  Methods defined here:
 |
 |  __init__(self, total_iterations: int)
 |      Initialize self.  See help(type(self)) for accurate signature.
 |
 |  after_iteration(self, model, epoch, evals_log)
 |      Run after each iteration.  Returns `True` when training should stop.
 |
 |      Parameters
 |      ----------
 |
 |      model :
 |          Eeither a :py:class:`~xgboost.Booster` object or a CVPack if the cv function
 |          in xgboost is being used.
 |      epoch :
 |          The current training iteration.
 |      evals_log :
 |          A dictionary containing the evaluation history:
 |
 |          .. code-block:: python
 |
 |              {"data_name": {"metric_name": [0.5, ...]}}
 |
 |  ----------------------------------------------------------------------
 |  Data and other attributes defined here:
 |
 |  __abstractmethods__ = frozenset()
 |
 |  __annotations__ = {}
 |
 |  ----------------------------------------------------------------------
 |  Methods inherited from xgboost.callback.TrainingCallback:
 |
 |  after_training(self, model: Any) -> Any
 |      Run after training is finished.
 |
 |  before_iteration(self, model: Any, epoch: int, evals_log: Dict[str, Dict[str, Union[List[float], List[Tuple[float, float]]]]]) -> bool
 |      Run before each iteration.  Returns True when training should stop. See
 |      :py:meth:`after_iteration` for details.
 |
 |  before_training(self, model: Any) -> Any
 |      Run before training starts.
 |
 |  ----------------------------------------------------------------------
 |  Data descriptors inherited from xgboost.callback.TrainingCallback:
 |
 |  __dict__
 |      dictionary for instance variables
 |
 |  __weakref__
 |      list of weak references to the object
 |
 |  ----------------------------------------------------------------------
 |  Data and other attributes inherited from xgboost.callback.TrainingCallback:
 |
 |  EvalsLog = typing.Dict[str, typing.Dict[str, typing.Union[t...loat], t...
catboost.core
Python Library Documentation: module catboost.core in catboost

NAME
    catboost.core

CLASSES
    _catboost._MetricCalcerBase(builtins.object)
        BatchMetricCalcer
    _catboost._PoolBase(builtins.object)
        Pool
    _CatBoostBase(builtins.object)
        CatBoost
            CatBoostClassifier
            CatBoostRanker
            CatBoostRegressor
    enum.Enum(builtins.object)
        EFeaturesSelectionAlgorithm
        EFeaturesSelectionGrouping
        EFstrType
        EShapCalcType

    class BatchMetricCalcer(_catboost._MetricCalcerBase)
     |  BatchMetricCalcer(catboost, metrics, ntree_start, ntree_end, eval_period, thread_count, tmp_dir)
     |
     |  Method resolution order:
     |      BatchMetricCalcer
     |      _catboost._MetricCalcerBase
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __init__(self, catboost, metrics, ntree_start, ntree_end, eval_period, thread_count, tmp_dir)
     |      Initialize self.  See help(type(self)) for accurate signature.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from _catboost._MetricCalcerBase:
     |
     |  __deepcopy__(self)
     |
     |  __reduce__ = __reduce_cython__(...)
     |
     |  __setstate__ = __setstate_cython__(...)
     |
     |  add(self, pool)
     |
     |  eval_metrics(self)
     |
     |  metric_descriptions(self)
     |
     |  ----------------------------------------------------------------------
     |  Static methods inherited from _catboost._MetricCalcerBase:
     |
     |  __new__(*args, **kwargs) class method of _catboost._MetricCalcerBase
     |      Create and return a new object.  See help(type) for accurate signature.
     |
     |  ----------------------------------------------------------------------
     |  Data and other attributes inherited from _catboost._MetricCalcerBase:
     |
     |  __pyx_vtable__ = <capsule object NULL>

    class CatBoost(_CatBoostBase)
     |  CatBoost(params=None)
     |
     |  CatBoost model. Contains training, prediction and evaluation methods.
     |
     |  Method resolution order:
     |      CatBoost
     |      _CatBoostBase
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __init__(self, params=None)
     |      Initialize the CatBoost.
     |
     |      Parameters
     |      ----------
     |      params : dict
     |          Parameters for CatBoost.
     |          If  None, all params are set to their defaults.
     |          If  dict, overriding parameters present in dict.
     |
     |  calc_feature_statistics(self, data, target=None, feature=None, prediction_type=None, cat_feature_values=None, plot=True, max_cat_features_on_plot=10, thread_count=-1, plot_file=None)
     |      Get statistics for the feature using the model, dataset and target.
     |      To use this function, you should install plotly.
     |
     |      The catboost model has borders for the float features used in it. The borders divide
     |      feature values into bins, and the model's prediction depends on the number of the bin where the
     |      feature value falls in.
     |
     |      For float features this function takes model's borders and computes
     |      1) Mean target value for every bin;
     |      2) Mean model prediction for every bin;
     |      3) The number of objects in dataset which fall into each bin;
     |      4) Predictions on varying feature. For every object, varies the feature value
     |      so that it falls into bin #0, bin #1, ... and counts model predictions.
     |      Then counts average prediction for each bin.
     |
     |      For categorical features (only one-hot supported) does the same, but takes feature values
     |      provided in cat_feature_values instead of borders.
     |
     |      Parameters
     |      ----------
     |      data: numpy.ndarray or pandas.DataFrame or polars.DataFrame or catboost. Pool or dict {'pool_name': pool} if you want several pools
     |          Data to compute statistics on
     |      target: numpy.ndarray or pandas.Series or polars.Series or dict {'pool_name': target} if you want several pools or None
     |          Target corresponding to data
     |          Use only if data is not catboost.Pool.
     |      feature: None, int, string, or list of int or strings
     |          Features indexes or names in pd.DataFrame for which you want to get statistics.
     |          None, if you need statistics for all features.
     |      prediction_type: str
     |          Prediction type used for counting mean_prediction: 'Class', 'Probability' or 'RawFormulaVal'.
     |          If not specified, is derived from the model.
     |      cat_feature_values: list or numpy.ndarray or pandas.Series or
     |                          dict: int or string to list or numpy.ndarray or pandas.Series
     |          Contains categorical feature values you need to get statistics on.
     |          Use dict, when parameter 'feature' is a list to specify cat values for different features.
     |          When parameter 'feature' is int or str, you can just pass list of cat values.
     |      plot: bool
     |          Plot statistics.
     |      max_cat_features_on_plot: int
     |          If categorical feature takes more than max_cat_features_on_plot different unique values,
     |          output result on several plots, not more than max_cat_features_on_plot feature values on each.
     |          Used only if plot=True or plot_file is not None.
     |      thread_count: int
     |          Number of threads to use for getting statistics.
     |      plot_file: str
     |          Output file for plot statistics.
     |
     |      Returns
     |      -------
     |      dict if parameter 'feature' is int or string, else dict of dicts:
     |          For each unique feature contain
     |          python dict with binarized feature statistics.
     |          For float feature, includes
     |                  'borders' -- borders for the specified feature in model
     |                  'binarized_feature' -- numbers of bins where feature values fall
     |                  'mean_target' -- mean value of target over each bin
     |                  'mean_prediction' -- mean value of model prediction over each bin
     |                  'objects_per_bin' -- number of objects per bin
     |                  'predictions_on_varying_feature' -- averaged over dataset predictions for
     |                  varying feature (see above)
     |          For one-hot feature, returns the same, but with 'cat_values' instead of 'borders'
     |
     |  calc_leaf_indexes(self, data, ntree_start=0, ntree_end=0, thread_count=-1, verbose=False)
     |      Returns indexes of leafs to which objects from pool are mapped by model trees.
     |
     |      Parameters
     |      ----------
     |      data : catboost.Pool or list of features or list of lists or numpy.ndarray or pandas.DataFrame or pandas.Series
     |              or polars.DataFrame or polars.Series or catboost.FeaturesData
     |          Data to apply model on.
     |          If data is a simple list (not list of lists) or a one-dimensional numpy.ndarray it is interpreted
     |          as a list of features for a single object.
     |
     |      ntree_start: int, optional (default=0)
     |          Index of first tree for which leaf indexes will be calculated (zero-based indexing).
     |
     |      ntree_end: int, optional (default=0)
     |          Index of the tree after last tree for which leaf indexes will be calculated (zero-based indexing).
     |          If value equals to 0 this parameter is ignored and ntree_end equal to tree_count_.
     |
     |      thread_count : int (default=-1)
     |          The number of threads to use when applying the model.
     |          Allows you to optimize the speed of execution. This parameter doesn't affect results.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      verbose : bool (default=False)
     |          Enable debug logging level.
     |
     |      Returns
     |      -------
     |      leaf_indexes : 2-dimensional numpy.ndarray of numpy.uint32 with shape (object count, ntree_end - ntree_start).
     |          i-th row is an array of leaf indexes for i-th object.
     |
     |  compare(self, model, data, metrics, ntree_start=0, ntree_end=0, eval_period=1, thread_count=-1, tmp_dir=None, plot_file=None, log_cout=None, log_cerr=None)
     |      Draw train and eval errors in Jupyter notebook for both models
     |
     |      Parameters
     |      ----------
     |      model: CatBoost model
     |          Another model to draw metrics
     |
     |      data : catboost.Pool
     |          Data to evaluate metrics on.
     |
     |      metrics : list of strings or catboost.metrics.BuiltinMetric
     |          List of evaluated metrics.
     |
     |      ntree_start: int, optional (default=0)
     |          Model is applied on the interval [ntree_start, ntree_end) (zero-based indexing).
     |
     |      ntree_end: int, optional (default=0)
     |          Model is applied on the interval [ntree_start, ntree_end) (zero-based indexing).
     |          If value equals to 0 this parameter is ignored and ntree_end equal to tree_count_.
     |
     |      eval_period: int, optional (default=1)
     |          Model is applied on the interval [ntree_start, ntree_end) with the step eval_period (zero-based indexing).
     |
     |      thread_count : int (default=-1)
     |          The number of threads to use when applying the model.
     |          Allows you to optimize the speed of execution. This parameter doesn't affect results.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      tmp_dir : string or os.PathLike (default=None)
     |          The name of the temporary directory for intermediate results.
     |          If None, then the name will be generated.
     |
     |      plot_file : file-like or str, optional (default=None)
     |          If not None, save eval error graphs to file
     |
     |      log_cout: output stream or callback for logging (default=None)
     |          If None is specified, sys.stdout is used
     |
     |      log_cerr: error stream or callback for logging (default=None)
     |          If None is specified, sys.stderr is used
     |
     |  create_metric_calcer(self, metrics, ntree_start=0, ntree_end=0, eval_period=1, thread_count=-1, tmp_dir=None)
     |      Create batch metric calcer. Could be used to aggregate metric on several pools
     |      Parameters
     |      ----------
     |          Same as in eval_metrics except data
     |      Returns
     |      -------
     |          BatchMetricCalcer object
     |
     |      Usage example
     |      -------
     |      # Large dataset is partitioned into parts [part1, part2]
     |      model.fit(params)
     |      batch_calcer = model.create_metric_calcer(['Logloss'])
     |      batch_calcer.add(part1)
     |      batch_calcer.add(part2)
     |      metrics = batch_calcer.eval_metrics()
     |
     |  drop_unused_features(self)
     |      Drop unused features information from model
     |
     |  eval_metrics(self, data, metrics, ntree_start=0, ntree_end=0, eval_period=1, thread_count=-1, tmp_dir=None, plot=False, plot_file=None, log_cout=None, log_cerr=None)
     |      Calculate metrics.
     |
     |      Parameters
     |      ----------
     |      data : catboost.Pool
     |          Data to evaluate metrics on.
     |
     |      metrics : list of strings or catboost.metrics.BuiltinMetric
     |          List of evaluated metrics.
     |
     |      ntree_start: int, optional (default=0)
     |          Model is applied on the interval [ntree_start, ntree_end) (zero-based indexing).
     |
     |      ntree_end: int, optional (default=0)
     |          Model is applied on the interval [ntree_start, ntree_end) (zero-based indexing).
     |          If value equals to 0 this parameter is ignored and ntree_end equal to tree_count_.
     |
     |      eval_period: int, optional (default=1)
     |          Model is applied on the interval [ntree_start, ntree_end) with the step eval_period (zero-based indexing).
     |
     |      thread_count : int (default=-1)
     |          The number of threads to use when applying the model.
     |          Allows you to optimize the speed of execution. This parameter doesn't affect results.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      tmp_dir : string or os.PathLike (default=None)
     |          The name of the temporary directory for intermediate results.
     |          If None, then the name will be generated.
     |
     |      plot : bool, optional (default=False)
     |          If True, draw train and eval error in Jupyter notebook
     |
     |      plot_file : file-like or str, optional (default=None)
     |          If not None, save train and eval error graphs to file
     |
     |      log_cout: output stream or callback for logging (default=None)
     |          If None is specified, sys.stdout is used
     |
     |      log_cerr: error stream or callback for logging (default=None)
     |          If None is specified, sys.stderr is used
     |
     |      Returns
     |      -------
     |      prediction : dict: metric -> array of shape [(ntree_end - ntree_start) / eval_period]
     |
     |  fit(self, X, y=None, cat_features=None, text_features=None, embedding_features=None, pairs=None, graph=None, sample_weight=None, group_id=None, group_weight=None, subgroup_id=None, pairs_weight=None, baseline=None, use_best_model=None, eval_set=None, verbose=None, logging_level=None, plot=False, plot_file=None, column_description=None, verbose_eval=None, metric_period=None, silent=None, early_stopping_rounds=None, save_snapshot=None, snapshot_file=None, snapshot_interval=None, init_model=None, callbacks=None, log_cout=None, log_cerr=None)
     |      Fit the CatBoost model.
     |
     |      Parameters
     |      ----------
     |      X : catboost.Pool or list or numpy.ndarray or pandas.DataFrame or pandas.Series or polars.DataFrame
     |           or string.
     |          If not catboost.Pool or catboost.FeaturesData it must be 2 dimensional Feature matrix
     |           or string - file with dataset.
     |
     |           Must be non-empty (contain > 0 objects)
     |
     |      y : list or numpy.ndarray or pandas.DataFrame or pandas.Series or polars.DataFrame or polars.Series, optional (default=None)
     |          Labels of the training data.
     |          If not None, can be a single- or two- dimensional array with either:
     |            - numerical values - for regression (including multiregression), ranking and binary classification problems
     |            - class labels (boolean, integer or string) - for classification (including multiclassification) problems
     |          Use only if X is not catboost.Pool and does not point to a file.
     |
     |      cat_features : list or numpy.ndarray, optional (default=None)
     |          If not None, giving the list of Categ columns indices.
     |          Use only if X is not catboost.Pool and not catboost.FeaturesData
     |
     |      text_features: list or numpy.ndarray, optional (default=None)
     |          If not none, giving the list of Text columns indices.
     |          Use only if X is not catboost.Pool and not catboost.FeaturesData
     |
     |      embedding_features: list or numpy.ndarray, optional (default=None)
     |          If not none, giving the list of Embedding columns indices.
     |          Use only if X is not catboost.Pool and not catboost.FeaturesData
     |
     |      pairs : list or numpy.ndarray or pandas.DataFrame or polars.DataFrame
     |          The pairs description.
     |          If list or numpy.ndarrays or pandas.DataFrame or polars.DataFrame, giving 2 dimensional.
     |          The shape should be Nx2, where N is the pairs' count. The first element of the pair is
     |          the index of the winner object in the training set. The second element of the pair is
     |          the index of the loser object in the training set.
     |
     |      graph : list or numpy.ndarray or pandas.DataFrame or polars.DataFrame
     |          The graph edges list description.
     |          If list or numpy.ndarrays or pandas.DataFrame, giving 2 dimensional.
     |
     |      sample_weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series or polars.Series, optional (default=None)
     |          Instance weights, 1 dimensional array like.
     |
     |      group_id : list or numpy.ndarray or polars.Series, optional (default=None)
     |          group id for each instance.
     |          If not None, giving 1 dimensional array like data.
     |          Use only if X is not catboost.Pool.
     |
     |      group_weight : list or numpy.ndarray or polars.Series, optional (default=None)
     |          Group weight for each instance.
     |          If not None, giving 1 dimensional array like data.
     |
     |      subgroup_id : list or numpy.ndarray or polars.Series, optional (default=None)
     |          subgroup id for each instance.
     |          If not None, giving 1 dimensional array like data.
     |          Use only if X is not catboost.Pool.
     |
     |      pairs_weight : list or numpy.ndarray or polars.Series, optional (default=None)
     |          Weight for each pair.
     |          If not None, giving 1 dimensional array like pairs.
     |
     |      baseline : list or numpy.ndarray or polars.Series or polars.DataFrame, optional (default=None)
     |          If not None, giving 2 dimensional array like data.
     |          Use only if X is not catboost.Pool.
     |
     |      use_best_model : bool, optional (default=None)
     |          Flag to use best model
     |
     |      eval_set : catboost.Pool or list of catboost.Pool or tuple (X, y) or list [(X, y)], optional (default=None)
     |          Validation dataset or datasets for metrics calculation and possibly early stopping.
     |
     |      logging_level : string, optional (default=None)
     |          Possible values:
     |              - 'Silent'
     |              - 'Verbose'
     |              - 'Info'
     |              - 'Debug'
     |
     |      metric_period : int
     |          Frequency of evaluating metrics.
     |
     |      verbose : bool or int
     |          If verbose is bool, then if set to True, logging_level is set to Verbose,
     |          if set to False, logging_level is set to Silent.
     |          If verbose is int, it determines the frequency of writing metrics to output and
     |          logging_level is set to Verbose.
     |
     |      silent : bool
     |          If silent is True, logging_level is set to Silent.
     |          If silent is False, logging_level is set to Verbose.
     |
     |      verbose_eval : bool or int
     |          Synonym for verbose. Only one of these parameters should be set.
     |
     |      plot : bool, optional (default=False)
     |          If True, draw train and eval error in Jupyter notebook
     |
     |      plot_file : file-like or str, optional (default=None)
     |          If not None, save train and eval error graphs to file
     |
     |      early_stopping_rounds : int
     |          Activates Iter overfitting detector with od_wait parameter set to early_stopping_rounds.
     |
     |      save_snapshot : bool, [default=None]
     |          Enable progress snapshotting for restoring progress after crashes or interruptions
     |
     |      snapshot_file : string or os.PathLike, [default=None]
     |          Learn progress snapshot file path, if None will use default filename
     |
     |      snapshot_interval: int, [default=600]
     |          Interval between saving snapshots (seconds)
     |
     |      init_model : CatBoost class or string or os.PathLike, [default=None]
     |          Continue training starting from the existing model.
     |          If this parameter is a string or os.PathLike, load initial model from the path specified by this string.
     |
     |      callbacks : list, optional (default=None)
     |          List of callback objects that are applied at end of each iteration.
     |
     |      log_cout: output stream or callback for logging (default=None)
     |          If None is specified, sys.stdout is used
     |
     |      log_cerr: error stream or callback for logging (default=None)
     |          If None is specified, sys.stderr is used
     |
     |      Returns
     |      -------
     |      model : CatBoost
     |
     |  get_all_params(self)
     |      Get all params (specified by user and default params) that were set in training from CatBoost model.
     |      Full parameters documentation could be found here: https://catboost.ai/docs/concepts/python-reference_parameters-list.html
     |
     |      Returns
     |      -------
     |      result : dict
     |          Dictionary of {param_key: param_value}.
     |
     |  get_borders(self)
     |      Return map feature_index: borders for float features.
     |
     |  get_cat_feature_indices(self)
     |
     |  get_embedding_feature_indices(self)
     |
     |  get_feature_importance(self, data=None, type=<EFstrType.FeatureImportance: 2>, prettified=False, thread_count=-1, verbose=False, fstr_type=None, shap_mode='Auto', model_output='Raw', interaction_indices=None, shap_calc_type='Regular', reference_data=None, sage_n_samples=128, sage_batch_size=512, sage_detect_convergence=True, log_cout=None, log_cerr=None)
     |      Parameters
     |      ----------
     |      data :
     |          Data to get feature importance.
     |          If type in ('LossFunctionChange', 'ShapValues', 'ShapInteractionValues') data must of Pool type.
     |              For every object in this dataset feature importances will be calculated.
     |          if type == 'SageValues' data must of Pool type.
     |              For every feature in this dataset importance will be calculated.
     |          If type == 'PredictionValuesChange', data is None or a dataset of Pool type
     |              Dataset specification is needed only in case if the model does not contain leaf weight information (trained with CatBoost v < 0.9).
     |          If type == 'PredictionDiff' data must contain a matrix of feature values of shape (2, n_features).
     |              Possible types are catboost.Pool or list of lists or numpy.ndarray or pandas.DataFrame or pandas.Series
     |              or polars.DataFrame or catboost.FeaturesData or pandas.SparseDataFrame or scipy.sparse.spmatrix
     |          If type == 'FeatureImportance'
     |              See 'PredictionValuesChange' for non-ranking metrics and 'LossFunctionChange' for ranking metrics.
     |          If type == 'Interaction'
     |              This parameter is not used.
     |
     |      type : EFstrType or string (converted to EFstrType), optional
     |                  (default=EFstrType.FeatureImportance)
     |          Possible values:
     |              - PredictionValuesChange
     |                  Calculate score for every feature.
     |              - LossFunctionChange
     |                  Calculate score for every feature by loss.
     |              - FeatureImportance
     |                  PredictionValuesChange for non-ranking metrics and LossFunctionChange for ranking metrics
     |              - ShapValues
     |                  Calculate SHAP Values for every object.
     |              - ShapInteractionValues
     |                  Calculate SHAP Interaction Values between each pair of features for every object
     |              - Interaction
     |                  Calculate pairwise score between every feature.
     |              - PredictionDiff
     |                  Calculate most important features explaining difference in predictions for a pair of documents.
     |              - SageValues
     |                  Calculate SAGE value for every feature
     |
     |      prettified : bool, optional (default=False)
     |          change returned data format to the list of (feature_id, importance) pairs sorted by importance
     |
     |      thread_count : int, optional (default=-1)
     |          Number of threads.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      verbose : bool or int
     |          If False, then evaluation is not logged. If True, then each possible iteration is logged.
     |          If a positive integer, then it stands for the size of batch N. After processing each batch, print progress
     |          and remaining time.
     |
     |      fstr_type : string, deprecated, use type instead
     |
     |      shap_mode : string, optional (default="Auto")
     |          used only for ShapValues type
     |          Possible values:
     |              - "Auto"
     |                  Use direct SHAP Values calculation only if data size is smaller than average leaves number
     |                  (the best of two strategies below is chosen).
     |              - "UsePreCalc"
     |                  Calculate SHAP Values for every leaf in preprocessing. Final complexity is
     |                  O(NT(D+F))+O(TL^2 D^2) where N is the number of documents(objects), T - number of trees,
     |                  D - average tree depth, F - average number of features in tree, L - average number of leaves in tree
     |                  This is much faster (because of a smaller constant) than direct calculation when N >> L
     |              - "NoPreCalc"
     |                  Use direct SHAP Values calculation calculation with complexity O(NTLD^2). Direct algorithm
     |                  is faster when N < L (algorithm from https://arxiv.org/abs/1802.03888)
     |
     |      shap_calc_type : EShapCalcType or string, optional (default="Regular")
     |          used only for ShapValues type
     |          Possible values:
     |              - "Regular"
     |                  Calculate regular SHAP values
     |              - "Approximate"
     |                  Calculate approximate SHAP values
     |              - "Exact"
     |                  Calculate exact SHAP values
     |
     |      interaction_indices : list of int or string (feature_idx_1, feature_idx_2), optional (default=None)
     |          used only for ShapInteractionValues type
     |          Calculate SHAP Interaction Values between pair of features feature_idx_1 and feature_idx_2 for every object
     |
     |      reference_data: catboost.Pool or None
     |          Reference data for Independent Tree SHAP values from https://arxiv.org/abs/1905.04610v1
     |          if type == 'ShapValues' and reference_data is not None, then Independent Tree SHAP values are calculated
     |
     |      sage_n_samples: int, optional (default=32)
     |          Number of outer samples used in SAGE values approximation algorithm
     |      sage_batch_size: int, optional (default=min(512, number of samples in dataset))
     |          Number of samples used on each step of SAGE values approximation algorithm
     |      sage_detect_convergence: bool, optional (default=False)
     |          If set True, sage values calculation will be stopped either when sage values converge
     |          or when sage_n_samples iterations of algorithm pass
     |
     |      log_cout: output stream or callback for logging (default=None)
     |          If None is specified, sys.stdout is used
     |
     |      log_cerr: error stream or callback for logging (default=None)
     |          If None is specified, sys.stderr is used
     |
     |      Returns
     |      -------
     |      depends on type:
     |          - FeatureImportance
     |              See PredictionValuesChange for non-ranking metrics and LossFunctionChange for ranking metrics.
     |          - PredictionValuesChange, LossFunctionChange, PredictionDiff, SageValues with prettified=False (default)
     |              list of length [n_features] with feature_importance values (float) for feature
     |          - PredictionValuesChange, LossFunctionChange, PredictionDiff, SageValues with prettified=True
     |              list of length [n_features] with (feature_id (string), feature_importance (float)) pairs, sorted by feature_importance in descending order
     |          - ShapValues
     |              np.ndarray of shape (n_objects, n_features + 1) with Shap values (float) for (object, feature).
     |              In case of multiclass the returned value is np.ndarray of shape
     |              (n_objects, classes_count, n_features + 1). For each object it contains Shap values (float).
     |              Values are calculated for RawFormulaVal predictions.
     |          - ShapInteractionValues
     |              np.ndarray of shape (n_objects, n_features + 1, n_features + 1) with Shap interaction values (float) for (object, feature(i), feature(j)).
     |              In case of multiclass the returned value is np.ndarray of shape
     |              (n_objects, classes_count, n_features + 1, n_features + 1). For each object it contains Shap interaction values (float).
     |              Values are calculated for RawFormulaVal predictions.
     |          - Interaction
     |              list of length [n_features] of 3-element lists of (first_feature_index, second_feature_index, interaction_score (float))
     |
     |  get_object_importance(self, pool, train_pool, top_size=-1, type='Average', update_method='SinglePoint', importance_values_sign='All', thread_count=-1, verbose=False, ostr_type=None, log_cout=None, log_cerr=None)
     |      This is the implementation of the LeafInfluence algorithm from the following paper:
     |      https://arxiv.org/pdf/1802.06640.pdf
     |
     |      Parameters
     |      ----------
     |      pool : Pool
     |          The pool for which you want to evaluate the object importances.
     |
     |      train_pool : Pool
     |          The pool on which the model has been trained.
     |
     |      top_size : int (default=-1)
     |          Method returns the result of the top_size most important train objects.
     |          If -1, then the top size is not limited.
     |
     |      type : string, optional (default='Average')
     |          Possible values:
     |              - Average (Method returns the mean train objects scores for all input objects)
     |              - PerObject (Method returns the train objects scores for every input object)
     |
     |      importance_values_sign : string, optional (default='All')
     |          Method returns only Positive, Negative or All values.
     |          Possible values:
     |              - Positive
     |              - Negative
     |              - All
     |
     |      update_method : string, optional (default='SinglePoint')
     |          Possible values:
     |              - SinglePoint
     |              - TopKLeaves (It is posible to set top size : TopKLeaves:top=2)
     |              - AllPoints
     |          Description of the update set methods are given in section 3.1.3 of the paper.
     |
     |      thread_count : int, optional (default=-1)
     |          Number of threads.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      verbose : bool or int
     |          If False, then evaluation is not logged. If True, then each possible iteration is logged.
     |          If a positive integer, then it stands for the size of batch N. After processing each batch, print progress
     |          and remaining time.
     |
     |      ostr_type : string, deprecated, use type instead
     |
     |      log_cout: output stream or callback for logging (default=None)
     |          If None is specified, sys.stdout is used
     |
     |      log_cerr: error stream or callback for logging (default=None)
     |          If None is specified, sys.stderr is used
     |
     |      Returns
     |      -------
     |      object_importances : tuple of two arrays (indices and scores) of shape = [top_size]
     |
     |  get_param(self, key)
     |      Get param value from CatBoost model.
     |
     |      Parameters
     |      ----------
     |      key : string
     |          The key to get param value from.
     |
     |      Returns
     |      -------
     |      value :
     |          The param value of the key, returns None if param do not exist.
     |
     |  get_params(self, **_unused_kwargs)
     |      Get all params from CatBoost model.
     |
     |      Returns
     |      -------
     |      result : dict
     |          Dictionary of {param_key: param_value}.
     |
     |  get_text_feature_indices(self)
     |
     |  grid_search(self, param_grid, X, y=None, cv=3, partition_random_seed=0, calc_cv_statistics=True, search_by_train_test_split=True, refit=True, shuffle=True, stratified=None, train_size=0.8, verbose=True, plot=False, plot_file=None, log_cout=None, log_cerr=None)
     |      Exhaustive search over specified parameter values for a model.
     |      After calling this method model is fitted and can be used, if not specified otherwise (refit=False).
     |
     |      Parameters
     |      ----------
     |      param_grid: dict or list of dictionaries
     |          Dictionary with parameters names (string) as keys and lists of parameter settings
     |          to try as values, or a list of such dictionaries, in which case the grids spanned by each
     |          dictionary in the list are explored.
     |          This enables searching over any sequence of parameter settings.
     |
     |      X: numpy.ndarray or pandas.DataFrame or polars.DataFrame or catboost.Pool
     |          Data to compute statistics on
     |
     |      y: list or numpy.ndarray or pandas.DataFrame or pandas.Series or polars.DataFrame or polars.Series, optional (default=None)
     |          Labels of the training data.
     |          If not None, can be a single- or two- dimensional array with either:
     |            - numerical values - for regression (including multiregression), ranking and binary classification problems
     |            - class labels (boolean, integer or string) - for classification (including multiclassification) problems
     |          Use only if X is not catboost.Pool and does not point to a file.
     |
     |      cv: int, cross-validation generator or an iterable, optional (default=None)
     |          Determines the cross-validation splitting strategy. Possible inputs for cv are:
     |          - None, to use the default 3-fold cross validation,
     |          - integer, to specify the number of folds in a (Stratified)KFold
     |          - one of the scikit-learn splitter classes
     |              (https://scikit-learn.org/stable/modules/classes.html#splitter-classes)
     |          - An iterable yielding (train, test) splits as arrays of indices.
     |
     |      partition_random_seed: int, optional (default=0)
     |          Use this as the seed value for random permutation of the data.
     |          Permutation is performed before splitting the data for cross validation.
     |          Each seed generates unique data splits.
     |          Used only when cv is None or int.
     |
     |      search_by_train_test_split: bool, optional (default=True)
     |          If True, source dataset is splitted into train and test parts, models are trained
     |          on the train part and parameters are compared by loss function score on the test part.
     |          After that, if calc_cv_statistics=true, statistics on metrics are calculated
     |          using cross-validation using best parameters and the model is fitted with these parameters.
     |
     |          If False, every iteration of grid search evaluates results on cross-validation.
     |          It is recommended to set parameter to True for large datasets, and to False for small datasets.
     |
     |      calc_cv_statistics: bool, optional (default=True)
     |          The parameter determines whether quality should be estimated.
     |          using cross-validation with the found best parameters. Used only when search_by_train_test_split=True.
     |
     |      refit: bool (default=True)
     |          Refit an estimator using the best found parameters on the whole dataset.
     |
     |      shuffle: bool, optional (default=True)
     |          Shuffle the dataset objects before parameters searching.
     |
     |      stratified: bool, optional (default=None)
     |          Perform stratified sampling. True for classification and False otherwise.
     |          Currently supported only for final cross-validation.
     |
     |      train_size: float, optional (default=0.8)
     |          Should be between 0.0 and 1.0 and represent the proportion of the dataset to include in the train split.
     |
     |      verbose: bool or int, optional (default=True)
     |          If verbose is int, it determines the frequency of writing metrics to output
     |          verbose==True is equal to verbose==1
     |          When verbose==False, there is no messages
     |
     |      plot : bool, optional (default=False)
     |          If True, draw train and eval error for every set of parameters in Jupyter notebook
     |
     |      plot_file : file-like or str, optional (default=None)
     |          If not None, save train and eval error for every set of parameters to file
     |
     |      log_cout: output stream or callback for logging (default=None)
     |          If None is specified, sys.stdout is used
     |
     |      log_cerr: error stream or callback for logging (default=None)
     |          If None is specified, sys.stderr is used
     |
     |      Returns
     |      -------
     |      dict with two fields:
     |          'params': dict of best found parameters
     |          'cv_results': dict or pandas.core.frame.DataFrame with cross-validation results
     |              columns are: test-error-mean  test-error-std  train-error-mean  train-error-std
     |
     |  iterate_leaf_indexes(self, data, ntree_start=0, ntree_end=0)
     |      Returns indexes of leafs to which objects from pool are mapped by model trees.
     |
     |      Parameters
     |      ----------
     |      data : catboost.Pool or list of features or list of lists or numpy.ndarray or pandas.DataFrame or pandas.Series
     |              or polars.DataFrame or polars.Series or catboost.FeaturesData
     |          Data to apply model on.
     |          If data is a simple list (not list of lists) or a one-dimensional numpy.ndarray it is interpreted
     |          as a list of features for a single object.
     |
     |      ntree_start: int, optional (default=0)
     |          Index of first tree for which leaf indexes will be calculated (zero-based indexing).
     |
     |      ntree_end: int, optional (default=0)
     |          Index of the tree after last tree for which leaf indexes will be calculated (zero-based indexing).
     |          If value equals to 0 this parameter is ignored and ntree_end equal to tree_count_.
     |
     |      Returns
     |      -------
     |      leaf_indexes : generator. For each object in pool yields one-dimensional numpy.ndarray of leaf indexes.
     |
     |  load_model(self, fname=None, format='cbm', stream=None, blob=None)
     |      Load model from a file, stream or blob.
     |
     |      Parameters
     |      ----------
     |      fname : string
     |          Input file name.
     |
     |  plot_partial_dependence(self, data, features, plot=True, plot_file=None, thread_count=-1)
     |      To use this function, you should install plotly.
     |      data: numpy.ndarray or pandas.DataFrame or polars.DataFrame or catboost.Pool
     |      features: int, str, list<int>, tuple<int>, list<string>, tuple<string>
     |          Float features to calculate partial dependence for. Number of features should be 1 or 2.
     |      plot: bool
     |          Plot predictions.
     |      plot_file: str
     |          Output file for plot predictions.
     |      thread_count: int
     |          Number of threads to use. If -1 use maximum available number of threads.
     |      Returns
     |      -------
     |          If number of features is one - 1d numpy array and figure with line plot.
     |          If number of features is two - 2d numpy array and figure with 2d heatmap.
     |
     |  plot_predictions(self, data, features_to_change, plot=True, plot_file=None)
     |      To use this function, you should install plotly.
     |
     |      data: numpy.ndarray or pandas.DataFrame or polars.DataFrame or catboost.Pool
     |      features_to_change: list-like with int (for indices) or str (for names) elements
     |          Numerical features indices or names in `data` for which you want to vary prediction value.
     |      plot: bool
     |          Plot predictions.
     |      plot_file: str
     |          Output file for plot predictions.
     |      Returns
     |      -------
     |          List of list of predictions for all buckets for all samples in data
     |
     |  plot_tree(self, tree_idx, pool=None)
     |
     |  predict(self, data, prediction_type='RawFormulaVal', ntree_start=0, ntree_end=0, thread_count=-1, verbose=None, task_type='CPU')
     |      Predict with data.
     |
     |      Parameters
     |      ----------
     |      data : catboost.Pool or list of features or list of lists or numpy.ndarray or pandas.DataFrame or pandas.Series
     |              or polars.DataFrame or polars.Series or catboost.FeaturesData
     |          Data to apply model on.
     |          If data is a simple list (not list of lists) or a one-dimensional numpy.ndarray it is interpreted
     |          as a list of features for a single object.
     |
     |      prediction_type : string, optional (default='RawFormulaVal')
     |          Can be:
     |          - 'RawFormulaVal' : return raw value.
     |          - 'Class' : return class label.
     |          - 'Probability' : return probability for every class.
     |          - 'Exponent' : return Exponent of raw formula value.
     |          - 'RMSEWithUncertainty': return standard deviation for RMSEWithUncertainty loss function
     |            (logarithm of the standard deviation is returned by default).
     |
     |      ntree_start: int, optional (default=0)
     |          Model is applied on the interval [ntree_start, ntree_end) (zero-based indexing).
     |
     |      ntree_end: int, optional (default=0)
     |          Model is applied on the interval [ntree_start, ntree_end) (zero-based indexing).
     |          If value equals to 0 this parameter is ignored and ntree_end equal to tree_count_.
     |
     |      thread_count : int (default=-1)
     |          The number of threads to use when applying the model.
     |          Allows you to optimize the speed of execution. This parameter doesn't affect results.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      verbose : bool, optional (default=False)
     |          If True, writes the evaluation metric measured set to stderr.
     |
     |      task_type : string, [default=None]
     |          The evaluator type.
     |          Possible values:
     |              - 'CPU'
     |              - 'GPU' (models with only numerical features are supported for now)
     |
     |      Returns
     |      -------
     |      prediction :
     |          If data is for a single object, the return value depends on prediction_type value:
     |              - 'RawFormulaVal' : return raw formula value.
     |              - 'Class' : return class label.
     |              - 'Probability' : return one-dimensional numpy.ndarray with probability for every class.
     |          otherwise numpy.ndarray, with values that depend on prediction_type value:
     |              - 'RawFormulaVal' : one-dimensional array of raw formula value for each object.
     |              - 'Class' : one-dimensional array of class label for each object.
     |              - 'Probability' : two-dimensional numpy.ndarray with shape (number_of_objects x number_of_classes)
     |                with probability for every class for each object.
     |
     |  randomized_search(self, param_distributions, X, y=None, cv=3, n_iter=10, partition_random_seed=0, calc_cv_statistics=True, search_by_train_test_split=True, refit=True, shuffle=True, stratified=None, train_size=0.8, verbose=True, plot=False, plot_file=None, log_cout=None, log_cerr=None)
     |      Randomized search on hyper parameters.
     |      After calling this method model is fitted and can be used, if not specified otherwise (refit=False).
     |
     |      In contrast to grid_search, not all parameter values are tried out,
     |      but rather a fixed number of parameter settings is sampled from the specified distributions.
     |      The number of parameter settings that are tried is given by n_iter.
     |
     |      Parameters
     |      ----------
     |      param_distributions: dict
     |          Dictionary with parameters names (string) as keys and distributions or lists of parameters to try.
     |          Distributions must provide a rvs method for sampling (such as those from scipy.stats.distributions).
     |          If a list is given, it is sampled uniformly.
     |
     |      X: numpy.ndarray or pandas.DataFrame or polars.DataFrame or catboost.Pool
     |          Data to compute statistics on
     |
     |      y: list or numpy.ndarray or pandas.DataFrame or pandas.Series or polars.DataFrame or polars.Series, optional (default=None)
     |          Labels of the training data.
     |          If not None, can be a single- or two- dimensional array with either:
     |            - numerical values - for regression (including multiregression), ranking and binary classification problems
     |            - class labels (boolean, integer or string) - for classification (including multiclassification) problems
     |          Use only if X is not catboost.Pool and does not point to a file.
     |
     |      cv: int, cross-validation generator or an iterable, optional (default=None)
     |          Determines the cross-validation splitting strategy. Possible inputs for cv are:
     |          - None, to use the default 3-fold cross validation,
     |          - integer, to specify the number of folds in a (Stratified)KFold
     |          - one of the scikit-learn splitter classes
     |              (https://scikit-learn.org/stable/modules/classes.html#splitter-classes)
     |          - An iterable yielding (train, test) splits as arrays of indices.
     |
     |      n_iter: int
     |          Number of parameter settings that are sampled.
     |          n_iter trades off runtime vs quality of the solution.
     |
     |      partition_random_seed: int, optional (default=0)
     |          Use this as the seed value for random permutation of the data.
     |          Permutation is performed before splitting the data for cross validation.
     |          Each seed generates unique data splits.
     |          Used only when cv is None or int.
     |
     |      search_by_train_test_split: bool, optional (default=True)
     |          If True, source dataset is splitted into train and test parts, models are trained
     |          on the train part and parameters are compared by loss function score on the test part.
     |          After that, if calc_cv_statistics=true, statistics on metrics are calculated
     |          using cross-validation using best parameters and the model is fitted with these parameters.
     |
     |          If False, every iteration of grid search evaluates results on cross-validation.
     |          It is recommended to set parameter to True for large datasets, and to False for small datasets.
     |
     |      calc_cv_statistics: bool, optional (default=True)
     |          The parameter determines whether quality should be estimated.
     |          using cross-validation with the found best parameters. Used only when search_by_train_test_split=True.
     |
     |      refit: bool (default=True)
     |          Refit an estimator using the best found parameters on the whole dataset.
     |
     |      shuffle: bool, optional (default=True)
     |          Shuffle the dataset objects before parameters searching.
     |
     |      stratified: bool, optional (default=None)
     |          Perform stratified sampling. True for classification and False otherwise.
     |          Currently supported only for cross-validation.
     |
     |      train_size: float, optional (default=0.8)
     |          Should be between 0.0 and 1.0 and represent the proportion of the dataset to include in the train split.
     |
     |      verbose: bool or int, optional (default=True)
     |          If verbose is int, it determines the frequency of writing metrics to output
     |          verbose==True is equal to verbose==1
     |          When verbose==False, there is no messages
     |
     |      plot : bool, optional (default=False)
     |          If True, draw train and eval error for every set of parameters in Jupyter notebook
     |
     |      plot_file : file-like or str, optional (default=None)
     |          If not None, save train and eval error for every set of parameters to file
     |
     |      log_cout: output stream or callback for logging (default=None)
     |          If None is specified, sys.stdout is used
     |
     |      log_cerr: error stream or callback for logging (default=None)
     |          If None is specified, sys.stderr is used
     |
     |      Returns
     |      -------
     |      dict with two fields:
     |          'params': dict of best found parameters
     |          'cv_results': dict or pandas.core.frame.DataFrame with cross-validation results
     |              columns are: test-error-mean  test-error-std  train-error-mean  train-error-std
     |
     |  save_borders(self, fname)
     |      Save the model borders to a file.
     |
     |      Parameters
     |      ----------
     |      fname : string or os.PathLike
     |          Output file name.
     |
     |  save_model(self, fname, format='cbm', export_parameters=None, pool=None)
     |      Save the model to a file.
     |
     |      Parameters
     |      ----------
     |      fname : string
     |          Output file name.
     |      format : string
     |          Possible values:
     |              * 'cbm' for catboost binary format,
     |              * 'coreml' to export into Apple CoreML format
     |              * 'onnx' to export into ONNX-ML format
     |              * 'pmml' to export into PMML format
     |              * 'cpp' to export as C++ code
     |              * 'python' to export as Python code.
     |      export_parameters : dict
     |          Parameters for CoreML export:
     |              * prediction_type : string - either 'probability' or 'raw'
     |              * coreml_description : string
     |              * coreml_model_version : string
     |              * coreml_model_author : string
     |              * coreml_model_license: string
     |          Parameters for PMML export:
     |              * pmml_copyright : string
     |              * pmml_description : string
     |              * pmml_model_version : string
     |      pool : catboost.Pool or list or numpy.ndarray or pandas.DataFrame or pandas.Series or polars.DataFrame or catboost.FeaturesData
     |          Training pool.
     |
     |  select_features(self, X, y=None, eval_set=None, features_for_select=None, num_features_to_select=None, algorithm=None, steps=None, shap_calc_type=None, train_final_model=True, verbose=None, logging_level=None, plot=False, plot_file=None, log_cout=None, log_cerr=None, grouping=None, features_tags_for_select=None, num_features_tags_to_select=None)
     |      Select best features from pool according to loss value.
     |
     |      Parameters
     |      ----------
     |      X : catboost.Pool or list or numpy.ndarray or pandas.DataFrame or pandas.Series or polars.DataFrame
     |          If not catboost.Pool, 2 dimensional Feature matrix or string - file with dataset.
     |
     |      y : list or numpy.ndarray or pandas.DataFrame or pandas.Series or polars.DataFrame or polars.Series, optional (default=None)
     |          Labels of the training data.
     |          If not None, can be a single- or two- dimensional array with either:
     |            - numerical values - for regression (including multiregression), ranking and binary classification problems
     |            - class labels (boolean, integer or string) - for classification (including multiclassification) problems
     |          Use only if X is not catboost.Pool and does not point to a file.
     |
     |      eval_set : catboost.Pool or list of catboost.Pool or tuple (X, y) or list [(X, y)], optional (default=None)
     |          Validation dataset or datasets for metrics calculation and possibly early stopping.
     |
     |      features_for_select : str or list of feature indices, names or ranges
     |          (for grouping = Individual)
     |          Which features should participate in the selection.
     |          Format examples:
     |              - [0, 2, 3, 4, 17]
     |              - [0, "2-4", 17] (both ends in ranges are inclusive)
     |              - "0,2-4,20"
     |              - ["Name0", "Name2", "Name3", "Name4", "Name20"]
     |
     |      num_features_to_select : positive int
     |          (for grouping = Individual)
     |          How many features to select from features_for_select.
     |
     |      algorithm : EFeaturesSelectionAlgorithm or string, optional (default=RecursiveByShapValues)
     |          Which algorithm to use for features selection.
     |          Possible values:
     |              - RecursiveByPredictionValuesChange
     |                  Use prediction values change as feature strength, eliminate batch of features at once.
     |              - RecursiveByLossFunctionChange
     |                  Use loss function change as feature strength, eliminate batch of features at each step.
     |              - RecursiveByShapValues
     |                  Use shap values to estimate loss function change, eliminate features one by one.
     |
     |      steps : positive int, optional (default=1)
     |          How many steps should be performed. In other words, how many times a full model will be trained.
     |          More steps give more accurate results.
     |
     |      shap_calc_type : EShapCalcType or string, optional (default=Regular)
     |          Which method to use for calculation of shap values.
     |          Possible values:
     |              - Regular
     |                  Calculate regular SHAP values
     |              - Approximate
     |                  Calculate approximate SHAP values
     |              - Exact
     |                  Calculate exact SHAP values
     |
     |      train_final_model : bool, optional (default=True)
     |          Need to fit model with selected features.
     |
     |      verbose : bool or int
     |          If verbose is bool, then if set to True, logging_level is set to Verbose,
     |          if set to False, logging_level is set to Silent.
     |          If verbose is int, it determines the frequency of writing metrics to output and
     |          logging_level is set to Verbose.
     |
     |      logging_level : string, optional (default=None)
     |          Possible values:
     |              - 'Silent'
     |              - 'Verbose'
     |              - 'Info'
     |              - 'Debug'
     |
     |      plot : bool, optional (default=False)
     |          If True, draw train and eval error in Jupyter notebook.
     |
     |      plot_file : file-like or str, optional (default=None)
     |          If not None, save train and eval error graphs to file
     |
     |      log_cout: output stream or callback for logging (default=None)
     |          If None is specified, sys.stdout is used
     |
     |      log_cerr: error stream or callback for logging (default=None)
     |          If None is specified, sys.stderr is used
     |
     |      grouping : EFeaturesSelectionGrouping or string, optional (default=Individual)
     |          Which grouping to use for features selection.
     |          Possible values:
     |              - Individual
     |                  Select individual features
     |              - ByTags
     |                  Select feature groups (marked by tags)
     |
     |      features_tags_for_select : list of strings
     |          (for grouping = ByTags)
     |          Which features tags should participate in the selection.
     |
     |      num_features_tags_to_select : positive int
     |          (for grouping = ByTags)
     |          How many features tags to select from features_tags_for_select.
     |
     |      Returns
     |      -------
     |      dict with fields:
     |          'selected_features': list of selected features indices
     |          'eliminated_features': list of eliminated features indices
     |          'selected_features_tags': list of selected features tags (optional, present if grouping == ByTags)
     |          'eliminated_features_tags': list of selected features tags (optional, present if grouping == ByTags)
     |
     |  set_params(self, **params)
     |      Set parameters into CatBoost model.
     |
     |      Parameters
     |      ----------
     |      **params : key=value format
     |          List of key=value paris. Example: model.set_params(iterations=500, thread_count=2).
     |
     |  shrink(self, ntree_end, ntree_start=0)
     |      Shrink the model.
     |
     |      Parameters
     |      ----------
     |      ntree_end: int
     |          Leave the trees with indices from the interval [ntree_start, ntree_end) (zero-based indexing).
     |      ntree_start: int, optional (default=0)
     |          Leave the trees with indices from the interval [ntree_start, ntree_end) (zero-based indexing).
     |
     |  staged_predict(self, data, prediction_type='RawFormulaVal', ntree_start=0, ntree_end=0, eval_period=1, thread_count=-1, verbose=None)
     |      Predict target at each stage for data.
     |
     |      Parameters
     |      ----------
     |      data : catboost.Pool or list of features or list of lists or numpy.ndarray or pandas.DataFrame or pandas.Series
     |              or polars.DataFrame or polars.Series or catboost.FeaturesData
     |          Data to apply model on.
     |          If data is a simple list (not list of lists) or a one-dimensional numpy.ndarray it is interpreted
     |          as a list of features for a single object.
     |
     |      prediction_type : string, optional (default='RawFormulaVal')
     |          Can be:
     |          - 'RawFormulaVal' : return raw formula value.
     |          - 'Class' : return class label.
     |          - 'Probability' : return probability for every class.
     |          - 'RMSEWithUncertainty': return standard deviation for RMSEWithUncertainty loss function
     |            (logarithm of the standard deviation is returned by default).
     |
     |      ntree_start: int, optional (default=0)
     |          Model is applied on the interval [ntree_start, ntree_end) with the step eval_period (zero-based indexing).
     |
     |      ntree_end: int, optional (default=0)
     |          Model is applied on the interval [ntree_start, ntree_end) with the step eval_period (zero-based indexing).
     |          If value equals to 0 this parameter is ignored and ntree_end equal to tree_count_.
     |
     |      eval_period: int, optional (default=1)
     |          Model is applied on the interval [ntree_start, ntree_end) with the step eval_period (zero-based indexing).
     |
     |      thread_count : int (default=-1)
     |          The number of threads to use when applying the model.
     |          Allows you to optimize the speed of execution. This parameter doesn't affect results.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      verbose : bool
     |          If True, writes the evaluation metric measured set to stderr.
     |
     |      Returns
     |      -------
     |      prediction : generator for each iteration that generates:
     |          If data is for a single object, the return value depends on prediction_type value:
     |              - 'RawFormulaVal' : return raw formula value.
     |              - 'Class' : return class label.
     |              - 'Probability' : return one-dimensional numpy.ndarray with probability for every class.
     |          otherwise numpy.ndarray, with values that depend on prediction_type value:
     |              - 'RawFormulaVal' : one-dimensional array of raw formula value for each object.
     |              - 'Class' : one-dimensional array of class label for each object.
     |              - 'Probability' : two-dimensional numpy.ndarray with shape (number_of_objects x number_of_classes)
     |                with probability for every class for each object.
     |
     |  virtual_ensembles_predict(self, data, prediction_type='VirtEnsembles', ntree_end=0, virtual_ensembles_count=10, thread_count=-1, verbose=None)
     |      Predict with data.
     |
     |      Parameters
     |      ----------
     |      data : catboost.Pool or list of features or list of lists or numpy.ndarray or pandas.DataFrame or pandas.Series
     |               or polars.DataFrame or polars.Series or catboost.FeaturesData
     |          Data to apply model on.
     |          If data is a simple list (not list of lists) or a one-dimensional numpy.ndarray it is interpreted
     |          as a list of features for a single object.
     |
     |      prediction_type : string, optional (default='RawFormulaVal')
     |          Can be:
     |          - 'VirtEnsembles': return V (virtual_ensembles_count) predictions.
     |              k-th virtEnsemle consists of trees [0, T/2] + [T/2 + T/(2V) * k, T/2 + T/(2V) * (k + 1)]  * constant.
     |          - 'TotalUncertainty': see returned predictions format in 'Returns' part
     |
     |      ntree_end: int, optional (default=0)
     |          Model is applied on the interval [ntree_start, ntree_end) (zero-based indexing).
     |          If value equals to 0 this parameter is ignored and ntree_end equal to tree_count_.
     |
     |      virtual_ensembles_count: int, optional (default=10)
     |          virtual ensembles count for 'TotalUncertainty' and 'VirtEnsembles' prediction types.
     |
     |      thread_count : int (default=-1)
     |          The number of threads to use when applying the model.
     |          Allows you to optimize the speed of execution. This parameter doesn't affect results.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      verbose : bool, optional (default=False)
     |          If True, writes the evaluation metric measured set to stderr.
     |
     |      Returns
     |      -------
     |      prediction :
     |          (with V as virtual_ensembles_count and T as trees count,
     |          k-th virtEnsemle consists of trees [0, T/2] + [T/2 + T/(2V) * k, T/2 + T/(2V) * (k + 1)]  * constant)
     |          If data is for a single object, return 1-dimensional array of predictions with size depends on prediction type,
     |          otherwise return 2-dimensional numpy.ndarray with shape (number_of_objects x size depends on prediction type);
     |          Returned predictions depends on prediction type:
     |          If loss-function was RMSEWithUncertainty:
     |              - 'VirtEnsembles': [mean0, var0, mean1, var1, ..., vark-1].
     |              - 'TotalUncertainty': [mean_predict, KnowledgeUnc, DataUnc].
     |          otherwise for regression:
     |              - 'VirtEnsembles':  [mean0, mean1, ...].
     |              - 'TotalUncertainty': [mean_predicts, KnowledgeUnc].
     |          otherwise for binary classification:
     |              - 'VirtEnsembles':  [ApproxRawFormulaVal0, ApproxRawFormulaVal1, ..., ApproxRawFormulaValk-1].
     |              - 'TotalUncertainty':  [DataUnc, TotalUnc].
     |
     |  ----------------------------------------------------------------------
     |  Readonly properties defined here:
     |
     |  feature_importances_
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from _CatBoostBase:
     |
     |  __copy__(self)
     |
     |  __deepcopy__(self, _)
     |
     |  __eq__(self, other)
     |      Return self==value.
     |
     |  __getstate__(self)
     |      Helper for pickle.
     |
     |  __ne__(self, other)
     |      Return self!=value.
     |
     |  __repr__(self) -> str
     |      Return repr(self).
     |
     |  __setstate__(self, state)
     |
     |  __sklearn_tags__(self)
     |
     |  copy(self)
     |
     |  get_best_iteration(self)
     |
     |  get_best_score(self)
     |
     |  get_evals_result(self)
     |
     |  get_leaf_values(self)
     |      Returns
     |      -------
     |      leaf_values : 1d-array of leaf values for all trees.
     |      Value corresponding to j-th leaf of i-th tree is at position
     |      sum(get_tree_leaf_counts()[:i]) + j (leaf and tree indexing starts from zero).
     |
     |  get_leaf_weights(self)
     |      Returns
     |      -------
     |      leaf_weights : 1d-array of leaf weights for all trees.
     |      Weight of j-th leaf of i-th tree is at position
     |      sum(get_tree_leaf_counts()[:i]) + j (leaf and tree indexing starts from zero).
     |
     |  get_metadata(self)
     |
     |  get_n_features_in(self)
     |
     |  get_scale_and_bias(self)
     |
     |  get_test_eval(self)
     |
     |  get_test_evals(self)
     |
     |  get_tree_leaf_counts(self)
     |      Returns
     |      -------
     |      tree_leaf_counts : 1d-array of numpy.uint32 of size tree_count_.
     |      tree_leaf_counts[i] equals to the number of leafs in i-th tree of the ensemble.
     |
     |  is_fitted(self)
     |
     |  set_feature_names(self, feature_names)
     |      Sets feature names equal to feature_names
     |
     |      Parameters
     |      ----------
     |      feature_names: 1-d array of strings with new feature names in the same order as in pool
     |
     |  set_leaf_values(self, new_leaf_values)
     |      Sets values at tree leafs of ensemble equal to new_leaf_values.
     |
     |      Parameters
     |      ----------
     |      new_leaf_values : 1d-array with new leaf values for all trees.
     |      It's size should be equal to sum(get_tree_leaf_counts()).
     |      Value corresponding to j-th leaf of i-th tree should be at position
     |      sum(get_tree_leaf_counts()[:i]) + j (leaf and tree indexing starts from zero).
     |
     |  set_scale_and_bias(self, scale, bias)
     |
     |  ----------------------------------------------------------------------
     |  Static methods inherited from _CatBoostBase:
     |
     |  get_sklearn_estimator_xfail_checks(estimator: '_CatBoostBase') -> Dict[str, str]
     |      To pass to:
     |          For scikit-learn >= 1.6:
     |              to 'expected_failed_checks' parameter in sklearn.utils.estimator_checks.parametrize_with_checks
     |          For scikit-learn < 1.6:
     |              to '_xfail_checks' field returned by '_CatBoostBase._get_tags'.
     |
     |      This method is made static to be able to pass it to sklearn.utils.estimator_checks.parametrize_with_checks
     |
     |  ----------------------------------------------------------------------
     |  Readonly properties inherited from _CatBoostBase:
     |
     |  best_iteration_
     |
     |  best_score_
     |
     |  classes_
     |
     |  evals_result_
     |
     |  feature_names_
     |
     |  learning_rate_
     |
     |  n_features_in_
     |
     |  random_seed_
     |
     |  tree_count_
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from _CatBoostBase:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object
     |
     |  ----------------------------------------------------------------------
     |  Data and other attributes inherited from _CatBoostBase:
     |
     |  __hash__ = None

    class CatBoostClassifier(CatBoost)
     |  CatBoostClassifier(iterations=None, learning_rate=None, depth=None, l2_leaf_reg=None, model_size_reg=None, rsm=None, loss_function=None, border_count=None, feature_border_type=None, per_float_feature_quantization=None, input_borders=None, output_borders=None, fold_permutation_block=None, od_pval=None, od_wait=None, od_type=None, nan_mode=None, counter_calc_method=None, leaf_estimation_iterations=None, leaf_estimation_method=None, thread_count=None, random_seed=None, use_best_model=None, best_model_min_trees=None, verbose=None, silent=None, logging_level=None, metric_period=None, ctr_leaf_count_limit=None, store_all_simple_ctr=None, max_ctr_complexity=None, has_time=None, allow_const_label=None, target_border=None, classes_count=None, class_weights=None, auto_class_weights=None, class_names=None, one_hot_max_size=None, random_strength=None, random_score_type=None, name=None, ignored_features=None, train_dir=None, custom_loss=None, custom_metric=None, eval_metric=None, bagging_temperature=None, save_snapshot=None, snapshot_file=None, snapshot_interval=None, fold_len_multiplier=None, used_ram_limit=None, gpu_ram_part=None, pinned_memory_size=None, allow_writing_files=None, final_ctr_computation_mode=None, approx_on_full_history=None, boosting_type=None, simple_ctr=None, combinations_ctr=None, per_feature_ctr=None, ctr_description=None, ctr_target_border_count=None, task_type=None, device_config=None, devices=None, bootstrap_type=None, subsample=None, mvs_reg=None, sampling_unit=None, sampling_frequency=None, dev_score_calc_obj_block_size=None, dev_efb_max_buckets=None, sparse_features_conflict_fraction=None, max_depth=None, n_estimators=None, num_boost_round=None, num_trees=None, colsample_bylevel=None, random_state=None, reg_lambda=None, objective=None, eta=None, max_bin=None, scale_pos_weight=None, gpu_cat_features_storage=None, data_partition=None, metadata=None, early_stopping_rounds=None, cat_features=None, grow_policy=None, min_data_in_leaf=None, min_child_samples=None, max_leaves=None, num_leaves=None, score_function=None, leaf_estimation_backtracking=None, ctr_history_unit=None, monotone_constraints=None, feature_weights=None, penalties_coefficient=None, first_feature_use_penalties=None, per_object_feature_penalties=None, model_shrink_rate=None, model_shrink_mode=None, langevin=None, diffusion_temperature=None, posterior_sampling=None, boost_from_average=None, text_features=None, tokenizers=None, dictionaries=None, feature_calcers=None, text_processing=None, embedding_features=None, callback=None, eval_fraction=None, fixed_binary_splits=None)
     |
     |  Implementation of the scikit-learn API for CatBoost classification.
     |
     |  Parameters
     |  ----------
     |  iterations : int, [default=500]
     |      Max count of trees.
     |      range: [1,+inf)
     |  learning_rate : float, [default value is selected automatically for binary classification with other parameters set to default. In all other cases default is 0.03]
     |      Step size shrinkage used in update to prevents overfitting.
     |      range: (0,1]
     |  depth : int, [default=6]
     |      Depth of a tree. All trees are the same depth.
     |      range: [1,16]
     |  l2_leaf_reg : float, [default=3.0]
     |      Coefficient at the L2 regularization term of the cost function.
     |      range: [0,+inf)
     |  model_size_reg : float, [default=None]
     |      Model size regularization coefficient.
     |      range: [0,+inf)
     |  rsm : float, [default=None]
     |      Subsample ratio of columns when constructing each tree.
     |      range: (0,1]
     |  loss_function : string or object, [default='Logloss']
     |      The metric to use in training and also selector of the machine learning
     |      problem to solve. If string, then the name of a supported metric,
     |      optionally suffixed with parameter description.
     |      If object, it shall provide methods 'calc_ders_range' or 'calc_ders_multi'.
     |  border_count : int, [default = 254 for training on CPU or 128 for training on GPU]
     |      The number of partitions in numeric features binarization. Used in the preliminary calculation.
     |      range: [1,65535] on CPU, [1,255] on GPU
     |  feature_border_type : string, [default='GreedyLogSum']
     |      The binarization mode in numeric features binarization. Used in the preliminary calculation.
     |      Possible values:
     |          - 'Median'
     |          - 'Uniform'
     |          - 'UniformAndQuantiles'
     |          - 'GreedyLogSum'
     |          - 'MaxLogSum'
     |          - 'MinEntropy'
     |  per_float_feature_quantization : list of strings, [default=None]
     |      List of float binarization descriptions.
     |      Format : described in documentation on catboost.ai
     |      Example 1: ['0:1024'] means that feature 0 will have 1024 borders.
     |      Example 2: ['0:border_count=1024', '1:border_count=1024', ...] means that two first features have 1024 borders.
     |      Example 3: ['0:nan_mode=Forbidden,border_count=32,border_type=GreedyLogSum',
     |                  '1:nan_mode=Forbidden,border_count=32,border_type=GreedyLogSum'] - defines more quantization properties for first two features.
     |  input_borders : string or os.PathLike, [default=None]
     |      input file with borders used in numeric features binarization.
     |  output_borders : string, [default=None]
     |      output file for borders that were used in numeric features binarization.
     |  fold_permutation_block : int, [default=1]
     |      To accelerate the learning.
     |      The recommended value is within [1, 256]. On small samples, must be set to 1.
     |      range: [1,+inf)
     |  od_pval : float, [default=None]
     |      Use overfitting detector to stop training when reaching a specified threshold.
     |      Can be used only with eval_set.
     |      range: [0,1]
     |  od_wait : int, [default=None]
     |      Number of iterations which overfitting detector will wait after new best error.
     |  od_type : string, [default=None]
     |      Type of overfitting detector which will be used in program.
     |      Posible values:
     |          - 'IncToDec'
     |          - 'Iter'
     |      For 'Iter' type od_pval must not be set.
     |      If None, then od_type=IncToDec.
     |  nan_mode : string, [default=None]
     |      Way to process missing values for numeric features.
     |      Possible values:
     |          - 'Forbidden' - raises an exception if there is a missing value for a numeric feature in a dataset.
     |          - 'Min' - each missing value will be processed as the minimum numerical value.
     |          - 'Max' - each missing value will be processed as the maximum numerical value.
     |      If None, then nan_mode=Min.
     |  counter_calc_method : string, [default=None]
     |      The method used to calculate counters for dataset with Counter type.
     |      Possible values:
     |          - 'PrefixTest' - only objects up to current in the test dataset are considered
     |          - 'FullTest' - all objects are considered in the test dataset
     |          - 'SkipTest' - Objects from test dataset are not considered
     |          - 'Full' - all objects are considered for both learn and test dataset
     |      If None, then counter_calc_method=PrefixTest.
     |  leaf_estimation_iterations : int, [default=None]
     |      The number of steps in the gradient when calculating the values in the leaves.
     |      If None, then leaf_estimation_iterations=1.
     |      range: [1,+inf)
     |  leaf_estimation_method : string, [default=None]
     |      The method used to calculate the values in the leaves.
     |      Possible values:
     |          - 'Newton'
     |          - 'Gradient'
     |  thread_count : int, [default=None]
     |      Number of parallel threads used to run CatBoost.
     |      If None or -1, then the number of threads is set to the number of CPU cores.
     |      range: [1,+inf)
     |  random_seed : int, [default=None]
     |      Random number seed.
     |      If None, 0 is used.
     |      range: [0,+inf)
     |  use_best_model : bool, [default=None]
     |      To limit the number of trees in predict() using information about the optimal value of the error function.
     |      Can be used only with eval_set.
     |  best_model_min_trees : int, [default=None]
     |      The minimal number of trees the best model should have.
     |  verbose: bool
     |      When set to True, logging_level is set to 'Verbose'.
     |      When set to False, logging_level is set to 'Silent'.
     |  silent: bool, synonym for verbose
     |  logging_level : string, [default='Verbose']
     |      Possible values:
     |          - 'Silent'
     |          - 'Verbose'
     |          - 'Info'
     |          - 'Debug'
     |  metric_period : int, [default=1]
     |      The frequency of iterations to print the information to stdout. The value should be a positive integer.
     |  simple_ctr: list of strings, [default=None]
     |      Binarization settings for categorical features.
     |          Format : see documentation
     |          Example: ['Borders:CtrBorderCount=5:Prior=0:Prior=0.5', 'BinarizedTargetMeanValue:TargetBorderCount=10:TargetBorderType=MinEntropy', ...]
     |          CTR types:
     |              CPU and GPU
     |              - 'Borders'
     |              - 'Buckets'
     |              CPU only
     |              - 'BinarizedTargetMeanValue'
     |              - 'Counter'
     |              GPU only
     |              - 'FloatTargetMeanValue'
     |              - 'FeatureFreq'
     |          Number_of_borders, binarization type, target borders and binarizations, priors are optional parametrs
     |  combinations_ctr: list of strings, [default=None]
     |  per_feature_ctr: list of strings, [default=None]
     |  ctr_target_border_count: int, [default=None]
     |      Maximum number of borders used in target binarization for categorical features that need it.
     |      If TargetBorderCount is specified in 'simple_ctr', 'combinations_ctr' or 'per_feature_ctr' option it
     |      overrides this value.
     |      range: [1, 255]
     |  ctr_leaf_count_limit : int, [default=None]
     |      The maximum number of leaves with categorical features.
     |      If the number of leaves exceeds the specified limit, some leaves are discarded.
     |      The leaves to be discarded are selected as follows:
     |          - The leaves are sorted by the frequency of the values.
     |          - The top N leaves are selected, where N is the value specified in the parameter.
     |          - All leaves starting from N+1 are discarded.
     |      This option reduces the resulting model size
     |      and the amount of memory required for training.
     |      Note that the resulting quality of the model can be affected.
     |      range: [1,+inf) (for zero limit use ignored_features)
     |  store_all_simple_ctr : bool, [default=None]
     |      Ignore categorical features, which are not used in feature combinations,
     |      when choosing candidates for exclusion.
     |      Use this parameter with ctr_leaf_count_limit only.
     |  max_ctr_complexity : int, [default=4]
     |      The maximum number of Categ features that can be combined.
     |      range: [0,+inf)
     |  has_time : bool, [default=False]
     |      To use the order in which objects are represented in the input data
     |      (do not perform a random permutation of the dataset at the preprocessing stage).
     |  allow_const_label : bool, [default=False]
     |      To allow the constant label value in dataset.
     |  target_border: float, [default=None]
     |      Border for target binarization.
     |  classes_count : int, [default=None]
     |      The upper limit for the numeric class label.
     |      Defines the number of classes for multiclassification.
     |      Only non-negative integers can be specified.
     |      The given integer should be greater than any of the target values.
     |      If this parameter is specified the labels for all classes in the input dataset
     |      should be smaller than the given value.
     |      If several of 'classes_count', 'class_weights', 'class_names' parameters are defined
     |      the numbers of classes specified by each of them must be equal.
     |  class_weights : list or dict, [default=None]
     |      Classes weights. The values are used as multipliers for the object weights.
     |      If None, all classes are supposed to have weight one.
     |      If list - class weights in order of class_names or sequential classes if class_names is undefined
     |      If dict - dict of class_name -> class_weight.
     |      If several of 'classes_count', 'class_weights', 'class_names' parameters are defined
     |      the numbers of classes specified by each of them must be equal.
     |  auto_class_weights : string [default=None]
     |      Enables automatic class weights calculation. Possible values:
     |          - Balanced  # weight = maxSummaryClassWeight / summaryClassWeight, statistics determined from train pool
     |          - SqrtBalanced  # weight = sqrt(maxSummaryClassWeight / summaryClassWeight)
     |  class_names: list of strings, [default=None]
     |      Class names. Allows to redefine the default values for class labels (integer numbers).
     |      If several of 'classes_count', 'class_weights', 'class_names' parameters are defined
     |      the numbers of classes specified by each of them must be equal.
     |  one_hot_max_size : int, [default=None]
     |      Convert the feature to float
     |      if the number of different values that it takes exceeds the specified value.
     |      Ctrs are not calculated for such features.
     |  random_strength : float, [default=1]
     |      Score standard deviation multiplier.
     |  random_score_type : string [default=None]
     |      Type of random noise added to scores.
     |      Possible values:
     |          - 'Gumbel' - Gumbel-distributed
     |          - 'NormalWithModelSizeDecrease' - Normally-distributed with deviation decreasing with model iteration count
     |      If None than 'NormalWithModelSizeDecrease' will be used by default.
     |  name : string, [default='experiment']
     |      The name that should be displayed in the visualization tools.
     |  ignored_features : list, [default=None]
     |      Indices or names of features that should be excluded when training.
     |  train_dir : string or os.PathLike, [default=None]
     |      The directory in which you want to record generated in the process of learning files.
     |  custom_metric : string or list of strings, [default=None]
     |      To use your own metric function.
     |  custom_loss: alias to custom_metric
     |  eval_metric : string or object, [default=None]
     |      To optimize your custom metric in loss.
     |  bagging_temperature : float, [default=None]
     |      Controls intensity of Bayesian bagging. The higher the temperature the more aggressive bagging is.
     |      Typical values are in range [0, 1] (0 - no bagging, 1 - default).
     |  save_snapshot : bool, [default=None]
     |      Enable progress snapshotting for restoring progress after crashes or interruptions
     |  snapshot_file : string or os.PathLike, [default=None]
     |      Learn progress snapshot file path, if None will use default filename
     |  snapshot_interval: int, [default=600]
     |      Interval between saving snapshots (seconds)
     |  fold_len_multiplier : float, [default=None]
     |      Fold length multiplier. Should be greater than 1
     |  used_ram_limit : string or number, [default=None]
     |      Set a limit on memory consumption (value like '1.2gb' or 1.2e9).
     |      WARNING: Currently this option affects CTR memory usage only.
     |  gpu_ram_part : float, [default=0.95]
     |      Fraction of the GPU RAM to use for training, a value from (0, 1].
     |  pinned_memory_size: int [default=None]
     |      Size of additional CPU pinned memory used for GPU learning,
     |      usually is estimated automatically, thus usually should not be set.
     |  allow_writing_files : bool, [default=True]
     |      If this flag is set to False, no files with different diagnostic info will be created during training.
     |      With this flag no snapshotting can be done. Plus visualisation will not
     |      work, because visualisation uses files that are created and updated during training.
     |  final_ctr_computation_mode : string, [default='Default']
     |      Possible values:
     |          - 'Default' - Compute final ctrs for all pools.
     |          - 'Skip' - Skip final ctr computation. WARNING: model without ctrs can't be applied.
     |  approx_on_full_history : bool, [default=False]
     |      If this flag is set to True, each approximated value is calculated using all the preceeding rows in the fold (slower, more accurate).
     |      If this flag is set to False, each approximated value is calculated using only the beginning 1/fold_len_multiplier fraction of the fold (faster, slightly less accurate).
     |  boosting_type : string, default value depends on object count and feature count in train dataset and on learning mode.
     |      Boosting scheme.
     |      Possible values:
     |          - 'Ordered' - Gives better quality, but may slow down the training.
     |          - 'Plain' - The classic gradient boosting scheme. May result in quality degradation, but does not slow down the training.
     |  task_type : string, [default=None]
     |      The calcer type used to train the model.
     |      Possible values:
     |          - 'CPU'
     |          - 'GPU'
     |  device_config : string, [default=None], deprecated, use devices instead
     |  devices : list or string, [default=None], GPU devices to use.
     |      String format is: '0' for 1 device or '0:1:3' for multiple devices or '0-3' for range of devices.
     |      List format is : [0] for 1 device or [0,1,3] for multiple devices.
     |
     |  bootstrap_type : string, Bayesian, Bernoulli, Poisson, MVS.
     |      Default bootstrap is Bayesian for GPU and MVS for CPU.
     |      Poisson bootstrap is supported only on GPU.
     |      MVS bootstrap is supported only on GPU.
     |
     |  subsample : float, [default=None]
     |      Sample rate for bagging. This parameter can be used Poisson or Bernoulli bootstrap types.
     |
     |  mvs_reg : float, [default is set automatically at each iteration based on gradient distribution]
     |      Regularization parameter for MVS sampling algorithm
     |
     |  monotone_constraints : list or numpy.ndarray or string or dict, [default=None]
     |      Monotone constraints for features.
     |
     |  feature_weights : list or numpy.ndarray or string or dict, [default=None]
     |      Coefficient to multiply split gain with specific feature use. Should be non-negative.
     |
     |  penalties_coefficient : float, [default=1]
     |      Common coefficient for all penalties. Should be non-negative.
     |
     |  first_feature_use_penalties : list or numpy.ndarray or string or dict, [default=None]
     |      Penalties to first use of specific feature in model. Should be non-negative.
     |
     |  per_object_feature_penalties : list or numpy.ndarray or string or dict, [default=None]
     |      Penalties for first use of feature for each object. Should be non-negative.
     |
     |  sampling_frequency : string, [default=PerTree]
     |      Frequency to sample weights and objects when building trees.
     |      Possible values:
     |          - 'PerTree' - Before constructing each new tree
     |          - 'PerTreeLevel' - Before choosing each new split of a tree
     |
     |  sampling_unit : string, [default='Object'].
     |      Possible values:
     |          - 'Object'
     |          - 'Group'
     |      The parameter allows to specify the sampling scheme:
     |      sample weights for each object individually or for an entire group of objects together.
     |
     |  dev_score_calc_obj_block_size: int, [default=5000000]
     |      CPU only. Size of block of samples in score calculation. Should be > 0
     |      Used only for learning speed tuning.
     |      Changing this parameter can affect results due to numerical accuracy differences
     |
     |  dev_efb_max_buckets : int, [default=1024]
     |      CPU only. Maximum bucket count in exclusive features bundle. Should be in an integer between 0 and 65536.
     |      Used only for learning speed tuning.
     |
     |  sparse_features_conflict_fraction : float, [default=0.0]
     |      CPU only. Maximum allowed fraction of conflicting non-default values for features in exclusive features bundle.
     |      Should be a real value in [0, 1) interval.
     |
     |  grow_policy : string, [SymmetricTree,Lossguide,Depthwise], [default=SymmetricTree]
     |      The tree growing policy. It describes how to perform greedy tree construction.
     |
     |  min_data_in_leaf : int, [default=1].
     |      The minimum training samples count in leaf.
     |      CatBoost will not search for new splits in leaves with samples count less than min_data_in_leaf.
     |      This parameter is used only for Depthwise and Lossguide growing policies.
     |
     |  max_leaves : int, [default=31],
     |      The maximum leaf count in resulting tree.
     |      This parameter is used only for Lossguide growing policy.
     |
     |  score_function : string, possible values L2, Cosine, NewtonL2, NewtonCosine, [default=Cosine]
     |      For growing policy Lossguide default=NewtonL2.
     |      GPU only. Score that is used during tree construction to select the next tree split.
     |
     |  max_depth : int, Synonym for depth.
     |
     |  n_estimators : int, synonym for iterations.
     |
     |  num_trees : int, synonym for iterations.
     |
     |  num_boost_round : int, synonym for iterations.
     |
     |  colsample_bylevel : float, synonym for rsm.
     |
     |  random_state : int, synonym for random_seed.
     |
     |  reg_lambda : float, synonym for l2_leaf_reg.
     |
     |  objective : string, synonym for loss_function.
     |
     |  num_leaves : int, synonym for max_leaves.
     |
     |  min_child_samples : int, synonym for min_data_in_leaf
     |
     |  eta : float, synonym for learning_rate.
     |
     |  max_bin : float, synonym for border_count.
     |
     |  scale_pos_weight : float, synonym for class_weights.
     |      Can be used only for binary classification. Sets weight multiplier for
     |      class 1 to scale_pos_weight value.
     |
     |  metadata : dict, string to string key-value pairs to be stored in model metadata storage
     |
     |  early_stopping_rounds : int
     |      Synonym for od_wait. Only one of these parameters should be set.
     |
     |  cat_features : list or numpy.ndarray, [default=None]
     |      If not None, giving the list of Categ features indices or names (names are represented as strings).
     |      If it contains feature names, feature names must be defined for the training dataset passed to 'fit'.
     |
     |  text_features : list or numpy.ndarray, [default=None]
     |      If not None, giving the list of Text features indices or names (names are represented as strings).
     |      If it contains feature names, feature names must be defined for the training dataset passed to 'fit'.
     |
     |  embedding_features : list or numpy.ndarray, [default=None]
     |      If not None, giving the list of Embedding features indices or names (names are represented as strings).
     |      If it contains feature names, feature names must be defined for the training dataset passed to 'fit'.
     |
     |  leaf_estimation_backtracking : string, [default=None]
     |      Type of backtracking during gradient descent.
     |      Possible values:
     |          - 'No' - never backtrack; supported on CPU and GPU
     |          - 'AnyImprovement' - reduce the descent step until the value of loss function is less than before the step; supported on CPU and GPU
     |          - 'Armijo' - reduce the descent step until Armijo condition is satisfied; supported on GPU only
     |
     |  model_shrink_rate : float, [default=0]
     |      This parameter enables shrinkage of model at the start of each iteration. CPU only.
     |      For Constant mode shrinkage coefficient is calculated as (1 - model_shrink_rate * learning_rate).
     |      For Decreasing mode shrinkage coefficient is calculated as (1 - model_shrink_rate / iteration).
     |      Shrinkage coefficient should be in [0, 1).
     |
     |  model_shrink_mode : string, [default=None]
     |      Mode of shrinkage coefficient calculation. CPU only.
     |      Possible values:
     |          - 'Constant' - Shrinkage coefficient is constant at each iteration.
     |          - 'Decreasing' - Shrinkage coefficient decreases at each iteration.
     |
     |  langevin : bool, [default=False]
     |      Enables the Stochastic Gradient Langevin Boosting. CPU only.
     |
     |  diffusion_temperature : float, [default=0]
     |      Langevin boosting diffusion temperature. CPU only.
     |
     |  posterior_sampling : bool, [default=False]
     |      Set group of parameters for further use Uncertainty prediction:
     |          - Langevin = True
     |          - Model Shrink Rate = 1/(2N), where N is dataset size
     |          - Model Shrink Mode = Constant
     |          - Diffusion-temperature = N, where N is dataset size. CPU only.
     |
     |  boost_from_average : bool, [default=True for RMSE, False for other losses]
     |      Enables to initialize approx values by best constant value for specified loss function.
     |      Available for RMSE, Logloss, CrossEntropy, Quantile and MAE.
     |
     |  tokenizers : list of dicts,
     |      Each dict is a tokenizer description. Example:
     |      ```
     |      [
     |          {
     |              'tokenizer_id': 'Tokenizer',  # Tokeinzer identifier.
     |              'lowercasing': 'false',  # Possible values: 'true', 'false'.
     |              'number_process_policy': 'LeaveAsIs',  # Possible values: 'Skip', 'LeaveAsIs', 'Replace'.
     |              'number_token': '%',  # Rarely used character. Used in conjunction with Replace NumberProcessPolicy.
     |              'separator_type': 'ByDelimiter',  # Possible values: 'ByDelimiter', 'BySense'.
     |              'delimiter': ' ',  # Used in conjunction with ByDelimiter SeparatorType.
     |              'split_by_set': 'false',  # Each single character in delimiter used as individual delimiter.
     |              'skip_empty': 'true',  # Possible values: 'true', 'false'.
     |              'token_types': ['Word', 'Number', 'Unknown'],  # Used in conjunction with BySense SeparatorType.
     |                  # Possible values: 'Word', 'Number', 'Punctuation', 'SentenceBreak', 'ParagraphBreak', 'Unknown'.
     |              'subtokens_policy': 'SingleToken',  # Possible values:
     |                  # 'SingleToken' - All subtokens are interpreted as single token).
     |                  # 'SeveralTokens' - All subtokens are interpreted as several token.
     |          },
     |          ...
     |      ]
     |      ```
     |
     |  dictionaries : list of dicts,
     |      Each dict is a tokenizer description. Example:
     |      ```
     |      [
     |          {
     |              'dictionary_id': 'Dictionary',  # Dictionary identifier.
     |              'token_level_type': 'Word',  # Possible values: 'Word', 'Letter'.
     |              'gram_order': '1',  # 1 for Unigram, 2 for Bigram, ...
     |              'skip_step': '0',  # 1 for 1-skip-gram, ...
     |              'end_of_word_token_policy': 'Insert',  # Possible values: 'Insert', 'Skip'.
     |              'end_of_sentence_token_policy': 'Skip',  # Possible values: 'Insert', 'Skip'.
     |              'occurrence_lower_bound': '3',  # The lower bound of token occurrences in the text to include it in the dictionary.
     |              'max_dictionary_size': '50000',  # The max dictionary size.
     |          },
     |          ...
     |      ]
     |      ```
     |
     |  feature_calcers : list of strings,
     |      Each string is a calcer description. Example:
     |      ```
     |      [
     |          'NaiveBayes',
     |          'BM25',
     |          'BoW:top_tokens_count=2000',
     |      ]
     |      ```
     |
     |  text_processing : dict,
     |      Text processging description.
     |
     |  eval_fraction : float, [default=None]
     |      Fraction of the train dataset to be used as the evaluation dataset.
     |
     |  Method resolution order:
     |      CatBoostClassifier
     |      CatBoost
     |      _CatBoostBase
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __init__(self, iterations=None, learning_rate=None, depth=None, l2_leaf_reg=None, model_size_reg=None, rsm=None, loss_function=None, border_count=None, feature_border_type=None, per_float_feature_quantization=None, input_borders=None, output_borders=None, fold_permutation_block=None, od_pval=None, od_wait=None, od_type=None, nan_mode=None, counter_calc_method=None, leaf_estimation_iterations=None, leaf_estimation_method=None, thread_count=None, random_seed=None, use_best_model=None, best_model_min_trees=None, verbose=None, silent=None, logging_level=None, metric_period=None, ctr_leaf_count_limit=None, store_all_simple_ctr=None, max_ctr_complexity=None, has_time=None, allow_const_label=None, target_border=None, classes_count=None, class_weights=None, auto_class_weights=None, class_names=None, one_hot_max_size=None, random_strength=None, random_score_type=None, name=None, ignored_features=None, train_dir=None, custom_loss=None, custom_metric=None, eval_metric=None, bagging_temperature=None, save_snapshot=None, snapshot_file=None, snapshot_interval=None, fold_len_multiplier=None, used_ram_limit=None, gpu_ram_part=None, pinned_memory_size=None, allow_writing_files=None, final_ctr_computation_mode=None, approx_on_full_history=None, boosting_type=None, simple_ctr=None, combinations_ctr=None, per_feature_ctr=None, ctr_description=None, ctr_target_border_count=None, task_type=None, device_config=None, devices=None, bootstrap_type=None, subsample=None, mvs_reg=None, sampling_unit=None, sampling_frequency=None, dev_score_calc_obj_block_size=None, dev_efb_max_buckets=None, sparse_features_conflict_fraction=None, max_depth=None, n_estimators=None, num_boost_round=None, num_trees=None, colsample_bylevel=None, random_state=None, reg_lambda=None, objective=None, eta=None, max_bin=None, scale_pos_weight=None, gpu_cat_features_storage=None, data_partition=None, metadata=None, early_stopping_rounds=None, cat_features=None, grow_policy=None, min_data_in_leaf=None, min_child_samples=None, max_leaves=None, num_leaves=None, score_function=None, leaf_estimation_backtracking=None, ctr_history_unit=None, monotone_constraints=None, feature_weights=None, penalties_coefficient=None, first_feature_use_penalties=None, per_object_feature_penalties=None, model_shrink_rate=None, model_shrink_mode=None, langevin=None, diffusion_temperature=None, posterior_sampling=None, boost_from_average=None, text_features=None, tokenizers=None, dictionaries=None, feature_calcers=None, text_processing=None, embedding_features=None, callback=None, eval_fraction=None, fixed_binary_splits=None)
     |      Initialize the CatBoost.
     |
     |      Parameters
     |      ----------
     |      params : dict
     |          Parameters for CatBoost.
     |          If  None, all params are set to their defaults.
     |          If  dict, overriding parameters present in dict.
     |
     |  fit(self, X, y=None, cat_features=None, text_features=None, embedding_features=None, graph=None, sample_weight=None, baseline=None, use_best_model=None, eval_set=None, verbose=None, logging_level=None, plot=False, plot_file=None, column_description=None, verbose_eval=None, metric_period=None, silent=None, early_stopping_rounds=None, save_snapshot=None, snapshot_file=None, snapshot_interval=None, init_model=None, callbacks=None, log_cout=None, log_cerr=None)
     |      Fit the CatBoostClassifier model.
     |
     |      Parameters
     |      ----------
     |      X : catboost.Pool or list or numpy.ndarray or pandas.DataFrame or pandas.Series or polars.DataFrame
     |          If not catboost.Pool, 2 dimensional Feature matrix or string - file with dataset.
     |
     |      y : list or numpy.ndarray or pandas.DataFrame or pandas.Series or polars.DataFrame or polars.Series, optional (default=None)
     |          Labels of the training data.
     |          If not None, can be a single- or two- dimensional array with either:
     |            - numerical values - for binary classification problems
     |            - class labels (boolean, integer or string)
     |          Use only if X is not catboost.Pool and does not point to a file.
     |
     |      cat_features : list or numpy.ndarray, optional (default=None)
     |          If not None, giving the list of Categ columns indices.
     |          Use only if X is not catboost.Pool.
     |
     |      text_features : list or numpy.ndarray, optional (default=None)
     |          If not None, giving the list of Text columns indices.
     |          Use only if X is not catboost.Pool.
     |
     |      embedding_features : list or numpy.ndarray, optional (default=None)
     |          If not None, giving the list of Embedding columns indices.
     |          Use only if X is not catboost.Pool.
     |
     |      graph : list or numpy.ndarray or pandas.DataFrame or polars.DataFrame
     |          The graph edges list description.
     |          If list or numpy.ndarrays or pandas.DataFrame, giving 2 dimensional.
     |
     |      sample_weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series or polars.Series, optional (default=None)
     |          Instance weights, 1 dimensional array like.
     |
     |      baseline : list or numpy.ndarray or polars.DataFrame or polars.Series, optional (default=None)
     |          If not None, giving 2 dimensional array like data.
     |          Use only if X is not catboost.Pool.
     |
     |      use_best_model : bool, optional (default=None)
     |          Flag to use best model
     |
     |      eval_set : catboost.Pool or list of catboost.Pool or tuple (X, y) or list [(X, y)], optional (default=None)
     |          Validation dataset or datasets for metrics calculation and possibly early stopping.
     |
     |      metric_period : int
     |          Frequency of evaluating metrics.
     |
     |      verbose : bool or int
     |          If verbose is bool, then if set to True, logging_level is set to Verbose,
     |          if set to False, logging_level is set to Silent.
     |          If verbose is int, it determines the frequency of writing metrics to output and
     |          logging_level is set to Verbose.
     |
     |      silent : bool
     |          If silent is True, logging_level is set to Silent.
     |          If silent is False, logging_level is set to Verbose.
     |
     |      logging_level : string, optional (default=None)
     |          Possible values:
     |              - 'Silent'
     |              - 'Verbose'
     |              - 'Info'
     |              - 'Debug'
     |
     |      plot : bool, optional (default=False)
     |          If True, draw train and eval error in Jupyter notebook
     |
     |      plot_file : file-like or str, optional (default=None)
     |          If not None, save train and eval error graphs to file
     |
     |      verbose_eval : bool or int
     |          Synonym for verbose. Only one of these parameters should be set.
     |
     |      early_stopping_rounds : int
     |          Activates Iter overfitting detector with od_wait set to early_stopping_rounds.
     |
     |      save_snapshot : bool, [default=None]
     |          Enable progress snapshotting for restoring progress after crashes or interruptions
     |
     |      snapshot_file : string or os.PathLike, [default=None]
     |          Learn progress snapshot file path, if None will use default filename
     |
     |      snapshot_interval: int, [default=600]
     |          Interval between saving snapshots (seconds)
     |
     |      init_model : CatBoost class or string or os.PathLike, [default=None]
     |          Continue training starting from the existing model.
     |          If this parameter is a string or os.PathLike, load initial model from the path specified by this string.
     |
     |      callbacks : list, optional (default=None)
     |          List of callback objects that are applied at end of each iteration.
     |
     |      log_cout: output stream or callback for logging (default=None)
     |          If None is specified, sys.stdout is used
     |
     |      log_cerr: error stream or callback for logging (default=None)
     |          If None is specified, sys.stderr is used
     |
     |      Returns
     |      -------
     |      model : CatBoost
     |
     |  get_probability_threshold(self)
     |      Get a threshold for class separation in binary classification task
     |
     |  predict(self, data, prediction_type='Class', ntree_start=0, ntree_end=0, thread_count=-1, verbose=None, task_type='CPU')
     |      Predict with data.
     |
     |      Parameters
     |      ----------
     |      data : catboost.Pool or list of features or list of lists or numpy.ndarray or pandas.DataFrame or pandas.Series
     |              or polars.DataFrame or polars.Series or catboost.FeaturesData
     |          Data to apply model on.
     |          If data is a simple list (not list of lists) or a one-dimensional numpy.ndarray it is interpreted
     |          as a list of features for a single object.
     |
     |      prediction_type : string, optional (default='Class')
     |          Can be:
     |          - 'RawFormulaVal' : return raw formula value.
     |          - 'Class' : return class label.
     |          - 'Probability' : return probability for every class.
     |          - 'LogProbability' : return log probability for every class.
     |
     |      ntree_start: int, optional (default=0)
     |          Model is applied on the interval [ntree_start, ntree_end) (zero-based indexing).
     |
     |      ntree_end: int, optional (default=0)
     |          Model is applied on the interval [ntree_start, ntree_end) (zero-based indexing).
     |          If value equals to 0 this parameter is ignored and ntree_end equal to tree_count_.
     |
     |      thread_count : int (default=-1)
     |          The number of threads to use when applying the model.
     |          Allows you to optimize the speed of execution. This parameter doesn't affect results.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      verbose : bool, optional (default=False)
     |          If True, writes the evaluation metric measured set to stderr.
     |
     |      task_type : string, [default=None]
     |          The evaluator type.
     |          Possible values:
     |              - 'CPU'
     |              - 'GPU' (models with only numerical features are supported for now)
     |
     |      Returns
     |      -------
     |      prediction:
     |          If data is for a single object, the return value depends on prediction_type value:
     |              - 'RawFormulaVal' : return raw formula value.
     |              - 'Class' : return class label.
     |              - 'Probability' : return one-dimensional numpy.ndarray with probability for every class.
     |              - 'LogProbability' : return one-dimensional numpy.ndarray with
     |                log probability for every class.
     |          otherwise numpy.ndarray, with values that depend on prediction_type value:
     |              - 'RawFormulaVal' : one-dimensional array of raw formula value for each object.
     |              - 'Class' : one-dimensional array of class label for each object.
     |              - 'Probability' : two-dimensional numpy.ndarray with shape (number_of_objects x number_of_classes)
     |                with probability for every class for each object.
     |              - 'LogProbability' : two-dimensional numpy.ndarray with shape (number_of_objects x number_of_classes)
     |                with log probability for every class for each object.
     |
     |  predict_log_proba(self, data, ntree_start=0, ntree_end=0, thread_count=-1, verbose=None, task_type='CPU')
     |      Predict class log probability with data.
     |
     |      Parameters
     |      ----------
     |      data : catboost.Pool or list of features or list of lists or numpy.ndarray or pandas.DataFrame or pandas.Series
     |              or polars.DataFrame or polars.Series or catboost.FeaturesData
     |          Data to apply model on.
     |          If data is a simple list (not list of lists) or a one-dimensional numpy.ndarray it is interpreted
     |          as a list of features for a single object.
     |
     |      ntree_start: int, optional (default=0)
     |          Model is applied on the interval [ntree_start, ntree_end) (zero-based indexing).
     |
     |      ntree_end: int, optional (default=0)
     |          Model is applied on the interval [ntree_start, ntree_end) (zero-based indexing).
     |          If value equals to 0 this parameter is ignored and ntree_end equal to tree_count_.
     |
     |      thread_count : int (default=-1)
     |          The number of threads to use when applying the model.
     |          Allows you to optimize the speed of execution. This parameter doesn't affect results.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      verbose : bool
     |          If True, writes the evaluation metric measured set to stderr.
     |
     |      task_type : string, [default=None]
     |          The evaluator type.
     |          Possible values:
     |              - 'CPU'
     |              - 'GPU' (models with only numerical features are supported for now)
     |
     |      Returns
     |      -------
     |      prediction :
     |          If data is for a single object
     |              return one-dimensional numpy.ndarray with log probability for every class.
     |          otherwise
     |              return two-dimensional numpy.ndarray with shape (number_of_objects x number_of_classes)
     |              with log probability for every class for each object.
     |
     |  predict_proba(self, X, ntree_start=0, ntree_end=0, thread_count=-1, verbose=None, task_type='CPU')
     |      Predict class probability with X.
     |
     |      Parameters
     |      ----------
     |      X : catboost.Pool or list of features or list of lists or numpy.ndarray or pandas.DataFrame or pandas.Series
     |              or polars.DataFrame or polars.Series or catboost.FeaturesData
     |          Data to apply model on.
     |          If X is a simple list (not list of lists) or a one-dimensional numpy.ndarray it is interpreted
     |          as a list of features for a single object.
     |
     |      ntree_start: int, optional (default=0)
     |          Model is applied on the interval [ntree_start, ntree_end) (zero-based indexing).
     |
     |      ntree_end: int, optional (default=0)
     |          Model is applied on the interval [ntree_start, ntree_end) (zero-based indexing).
     |          If value equals to 0 this parameter is ignored and ntree_end equal to tree_count_.
     |
     |      thread_count : int (default=-1)
     |          The number of threads to use when applying the model.
     |          Allows you to optimize the speed of execution. This parameter doesn't affect results.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      verbose : bool
     |          If True, writes the evaluation metric measured set to stderr.
     |
     |      task_type : string, [default=None]
     |          The evaluator type.
     |          Possible values:
     |              - 'CPU'
     |              - 'GPU' (models with only numerical features are supported for now)
     |
     |      Returns
     |      -------
     |      prediction :
     |          If X is for a single object
     |              return one-dimensional numpy.ndarray with probability for every class.
     |          otherwise
     |              return two-dimensional numpy.ndarray with shape (number_of_objects x number_of_classes)
     |              with probability for every class for each object.
     |
     |  score(self, X, y=None)
     |      Calculate accuracy.
     |
     |      Parameters
     |      ----------
     |      X : catboost.Pool or list or numpy.ndarray or pandas.DataFrame or pandas.Series or polars.DataFrame
     |          Data to apply model on.
     |      y : list or numpy.ndarray or polars.Series
     |          True labels.
     |
     |      Returns
     |      -------
     |      accuracy : float
     |
     |  set_probability_threshold(self, binclass_probability_threshold=None)
     |      Set a threshold for class separation in binary classification task for a trained model.
     |      :param binclass_probability_threshold: float number in [0, 1] or None to discard it
     |
     |  staged_predict(self, data, prediction_type='Class', ntree_start=0, ntree_end=0, eval_period=1, thread_count=-1, verbose=None)
     |      Predict target at each stage for data.
     |
     |      Parameters
     |      ----------
     |      data : catboost.Pool or list of features or list of lists or numpy.ndarray or pandas.DataFrame or pandas.Series
     |              or polars.DataFrame or polars.Series or catboost.FeaturesData
     |          Data to apply model on.
     |          If data is a simple list (not list of lists) or a one-dimensional numpy.ndarray it is interpreted
     |          as a list of features for a single object.
     |
     |      prediction_type : string, optional (default='Class')
     |          Can be:
     |          - 'RawFormulaVal' : return raw formula value.
     |          - 'Class' : return class label.
     |          - 'Probability' : return probability for every class.
     |          - 'LogProbability' : return log probability for every class.
     |
     |      ntree_start: int, optional (default=0)
     |          Model is applied on the interval [ntree_start, ntree_end) with the step eval_period (zero-based indexing).
     |
     |      ntree_end: int, optional (default=0)
     |          Model is applied on the interval [ntree_start, ntree_end) with the step eval_period (zero-based indexing).
     |          If value equals to 0 this parameter is ignored and ntree_end equal to tree_count_.
     |
     |      eval_period: int, optional (default=1)
     |          Model is applied on the interval [ntree_start, ntree_end) with the step eval_period (zero-based indexing).
     |
     |      thread_count : int (default=-1)
     |          The number of threads to use when applying the model.
     |          Allows you to optimize the speed of execution. This parameter doesn't affect results.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      verbose : bool
     |          If True, writes the evaluation metric measured set to stderr.
     |
     |      Returns
     |      -------
     |      prediction : generator for each iteration that generates:
     |          If data is for a single object, the return value depends on prediction_type value:
     |              - 'RawFormulaVal' : return raw formula value.
     |              - 'Class' : return majority vote class.
     |              - 'Probability' : return one-dimensional numpy.ndarray with probability for every class.
     |              - 'LogProbability' : return one-dimensional numpy.ndarray with
     |                log probability for every class.
     |          otherwise numpy.ndarray, with values that depend on prediction_type value:
     |              - 'RawFormulaVal' : one-dimensional array of raw formula value for each object.
     |              - 'Class' : one-dimensional array of class label for each object.
     |              - 'Probability' : two-dimensional numpy.ndarray with shape (number_of_objects x number_of_classes)
     |                with probability for every class for each object.
     |              - 'LogProbability' : two-dimensional numpy.ndarray with shape (number_of_objects x number_of_classes)
     |                with log probability for every class for each object.
     |
     |  staged_predict_log_proba(self, data, ntree_start=0, ntree_end=0, eval_period=1, thread_count=-1, verbose=None)
     |      Predict classification target at each stage for data.
     |
     |      Parameters
     |      ----------
     |      data : catboost.Pool or list of features or list of lists or numpy.ndarray or pandas.DataFrame or pandas.Series
     |              or polars.DataFrame or polars.Series or catboost.FeaturesData
     |          Data to apply model on.
     |          If data is a simple list (not list of lists) or a one-dimensional numpy.ndarray it is interpreted
     |          as a list of features for a single object.
     |
     |      ntree_start: int, optional (default=0)
     |          Model is applied on the interval [ntree_start, ntree_end) with the step eval_period (zero-based indexing).
     |
     |      ntree_end: int, optional (default=0)
     |          Model is applied on the interval [ntree_start, ntree_end) with the step eval_period (zero-based indexing).
     |          If value equals to 0 this parameter is ignored and ntree_end equal to tree_count_.
     |
     |      eval_period: int, optional (default=1)
     |          Model is applied on the interval [ntree_start, ntree_end) with the step eval_period (zero-based indexing).
     |
     |      thread_count : int (default=-1)
     |          The number of threads to use when applying the model.
     |          Allows you to optimize the speed of execution. This parameter doesn't affect results.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      verbose : bool
     |          If True, writes the evaluation metric measured set to stderr.
     |
     |      Returns
     |      -------
     |      prediction : generator for each iteration that generates:
     |          If data is for a single object
     |              return one-dimensional numpy.ndarray with log probability for every class.
     |          otherwise
     |              return two-dimensional numpy.ndarray with shape (number_of_objects x number_of_classes)
     |              with log probability for every class for each object.
     |
     |  staged_predict_proba(self, data, ntree_start=0, ntree_end=0, eval_period=1, thread_count=-1, verbose=None)
     |      Predict classification target at each stage for data.
     |
     |      Parameters
     |      ----------
     |      data : catboost.Pool or list of features or list of lists or numpy.ndarray or pandas.DataFrame or pandas.Series
     |              or polars.DataFrame or polars.Series or catboost.FeaturesData
     |          Data to apply model on.
     |          If data is a simple list (not list of lists) or a one-dimensional numpy.ndarray it is interpreted
     |          as a list of features for a single object.
     |
     |      ntree_start: int, optional (default=0)
     |          Model is applied on the interval [ntree_start, ntree_end) with the step eval_period (zero-based indexing).
     |
     |      ntree_end: int, optional (default=0)
     |          Model is applied on the interval [ntree_start, ntree_end) with the step eval_period (zero-based indexing).
     |          If value equals to 0 this parameter is ignored and ntree_end equal to tree_count_.
     |
     |      eval_period: int, optional (default=1)
     |          Model is applied on the interval [ntree_start, ntree_end) with the step eval_period (zero-based indexing).
     |
     |      thread_count : int (default=-1)
     |          The number of threads to use when applying the model.
     |          Allows you to optimize the speed of execution. This parameter doesn't affect results.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      verbose : bool
     |          If True, writes the evaluation metric measured set to stderr.
     |
     |      Returns
     |      -------
     |      prediction : generator for each iteration that generates:
     |          If data is for a single object
     |              return one-dimensional numpy.ndarray with probability for every class.
     |          otherwise
     |              return two-dimensional numpy.ndarray with shape (number_of_objects x number_of_classes)
     |              with probability for every class for each object.
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from CatBoost:
     |
     |  calc_feature_statistics(self, data, target=None, feature=None, prediction_type=None, cat_feature_values=None, plot=True, max_cat_features_on_plot=10, thread_count=-1, plot_file=None)
     |      Get statistics for the feature using the model, dataset and target.
     |      To use this function, you should install plotly.
     |
     |      The catboost model has borders for the float features used in it. The borders divide
     |      feature values into bins, and the model's prediction depends on the number of the bin where the
     |      feature value falls in.
     |
     |      For float features this function takes model's borders and computes
     |      1) Mean target value for every bin;
     |      2) Mean model prediction for every bin;
     |      3) The number of objects in dataset which fall into each bin;
     |      4) Predictions on varying feature. For every object, varies the feature value
     |      so that it falls into bin #0, bin #1, ... and counts model predictions.
     |      Then counts average prediction for each bin.
     |
     |      For categorical features (only one-hot supported) does the same, but takes feature values
     |      provided in cat_feature_values instead of borders.
     |
     |      Parameters
     |      ----------
     |      data: numpy.ndarray or pandas.DataFrame or polars.DataFrame or catboost. Pool or dict {'pool_name': pool} if you want several pools
     |          Data to compute statistics on
     |      target: numpy.ndarray or pandas.Series or polars.Series or dict {'pool_name': target} if you want several pools or None
     |          Target corresponding to data
     |          Use only if data is not catboost.Pool.
     |      feature: None, int, string, or list of int or strings
     |          Features indexes or names in pd.DataFrame for which you want to get statistics.
     |          None, if you need statistics for all features.
     |      prediction_type: str
     |          Prediction type used for counting mean_prediction: 'Class', 'Probability' or 'RawFormulaVal'.
     |          If not specified, is derived from the model.
     |      cat_feature_values: list or numpy.ndarray or pandas.Series or
     |                          dict: int or string to list or numpy.ndarray or pandas.Series
     |          Contains categorical feature values you need to get statistics on.
     |          Use dict, when parameter 'feature' is a list to specify cat values for different features.
     |          When parameter 'feature' is int or str, you can just pass list of cat values.
     |      plot: bool
     |          Plot statistics.
     |      max_cat_features_on_plot: int
     |          If categorical feature takes more than max_cat_features_on_plot different unique values,
     |          output result on several plots, not more than max_cat_features_on_plot feature values on each.
     |          Used only if plot=True or plot_file is not None.
     |      thread_count: int
     |          Number of threads to use for getting statistics.
     |      plot_file: str
     |          Output file for plot statistics.
     |
     |      Returns
     |      -------
     |      dict if parameter 'feature' is int or string, else dict of dicts:
     |          For each unique feature contain
     |          python dict with binarized feature statistics.
     |          For float feature, includes
     |                  'borders' -- borders for the specified feature in model
     |                  'binarized_feature' -- numbers of bins where feature values fall
     |                  'mean_target' -- mean value of target over each bin
     |                  'mean_prediction' -- mean value of model prediction over each bin
     |                  'objects_per_bin' -- number of objects per bin
     |                  'predictions_on_varying_feature' -- averaged over dataset predictions for
     |                  varying feature (see above)
     |          For one-hot feature, returns the same, but with 'cat_values' instead of 'borders'
     |
     |  calc_leaf_indexes(self, data, ntree_start=0, ntree_end=0, thread_count=-1, verbose=False)
     |      Returns indexes of leafs to which objects from pool are mapped by model trees.
     |
     |      Parameters
     |      ----------
     |      data : catboost.Pool or list of features or list of lists or numpy.ndarray or pandas.DataFrame or pandas.Series
     |              or polars.DataFrame or polars.Series or catboost.FeaturesData
     |          Data to apply model on.
     |          If data is a simple list (not list of lists) or a one-dimensional numpy.ndarray it is interpreted
     |          as a list of features for a single object.
     |
     |      ntree_start: int, optional (default=0)
     |          Index of first tree for which leaf indexes will be calculated (zero-based indexing).
     |
     |      ntree_end: int, optional (default=0)
     |          Index of the tree after last tree for which leaf indexes will be calculated (zero-based indexing).
     |          If value equals to 0 this parameter is ignored and ntree_end equal to tree_count_.
     |
     |      thread_count : int (default=-1)
     |          The number of threads to use when applying the model.
     |          Allows you to optimize the speed of execution. This parameter doesn't affect results.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      verbose : bool (default=False)
     |          Enable debug logging level.
     |
     |      Returns
     |      -------
     |      leaf_indexes : 2-dimensional numpy.ndarray of numpy.uint32 with shape (object count, ntree_end - ntree_start).
     |          i-th row is an array of leaf indexes for i-th object.
     |
     |  compare(self, model, data, metrics, ntree_start=0, ntree_end=0, eval_period=1, thread_count=-1, tmp_dir=None, plot_file=None, log_cout=None, log_cerr=None)
     |      Draw train and eval errors in Jupyter notebook for both models
     |
     |      Parameters
     |      ----------
     |      model: CatBoost model
     |          Another model to draw metrics
     |
     |      data : catboost.Pool
     |          Data to evaluate metrics on.
     |
     |      metrics : list of strings or catboost.metrics.BuiltinMetric
     |          List of evaluated metrics.
     |
     |      ntree_start: int, optional (default=0)
     |          Model is applied on the interval [ntree_start, ntree_end) (zero-based indexing).
     |
     |      ntree_end: int, optional (default=0)
     |          Model is applied on the interval [ntree_start, ntree_end) (zero-based indexing).
     |          If value equals to 0 this parameter is ignored and ntree_end equal to tree_count_.
     |
     |      eval_period: int, optional (default=1)
     |          Model is applied on the interval [ntree_start, ntree_end) with the step eval_period (zero-based indexing).
     |
     |      thread_count : int (default=-1)
     |          The number of threads to use when applying the model.
     |          Allows you to optimize the speed of execution. This parameter doesn't affect results.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      tmp_dir : string or os.PathLike (default=None)
     |          The name of the temporary directory for intermediate results.
     |          If None, then the name will be generated.
     |
     |      plot_file : file-like or str, optional (default=None)
     |          If not None, save eval error graphs to file
     |
     |      log_cout: output stream or callback for logging (default=None)
     |          If None is specified, sys.stdout is used
     |
     |      log_cerr: error stream or callback for logging (default=None)
     |          If None is specified, sys.stderr is used
     |
     |  create_metric_calcer(self, metrics, ntree_start=0, ntree_end=0, eval_period=1, thread_count=-1, tmp_dir=None)
     |      Create batch metric calcer. Could be used to aggregate metric on several pools
     |      Parameters
     |      ----------
     |          Same as in eval_metrics except data
     |      Returns
     |      -------
     |          BatchMetricCalcer object
     |
     |      Usage example
     |      -------
     |      # Large dataset is partitioned into parts [part1, part2]
     |      model.fit(params)
     |      batch_calcer = model.create_metric_calcer(['Logloss'])
     |      batch_calcer.add(part1)
     |      batch_calcer.add(part2)
     |      metrics = batch_calcer.eval_metrics()
     |
     |  drop_unused_features(self)
     |      Drop unused features information from model
     |
     |  eval_metrics(self, data, metrics, ntree_start=0, ntree_end=0, eval_period=1, thread_count=-1, tmp_dir=None, plot=False, plot_file=None, log_cout=None, log_cerr=None)
     |      Calculate metrics.
     |
     |      Parameters
     |      ----------
     |      data : catboost.Pool
     |          Data to evaluate metrics on.
     |
     |      metrics : list of strings or catboost.metrics.BuiltinMetric
     |          List of evaluated metrics.
     |
     |      ntree_start: int, optional (default=0)
     |          Model is applied on the interval [ntree_start, ntree_end) (zero-based indexing).
     |
     |      ntree_end: int, optional (default=0)
     |          Model is applied on the interval [ntree_start, ntree_end) (zero-based indexing).
     |          If value equals to 0 this parameter is ignored and ntree_end equal to tree_count_.
     |
     |      eval_period: int, optional (default=1)
     |          Model is applied on the interval [ntree_start, ntree_end) with the step eval_period (zero-based indexing).
     |
     |      thread_count : int (default=-1)
     |          The number of threads to use when applying the model.
     |          Allows you to optimize the speed of execution. This parameter doesn't affect results.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      tmp_dir : string or os.PathLike (default=None)
     |          The name of the temporary directory for intermediate results.
     |          If None, then the name will be generated.
     |
     |      plot : bool, optional (default=False)
     |          If True, draw train and eval error in Jupyter notebook
     |
     |      plot_file : file-like or str, optional (default=None)
     |          If not None, save train and eval error graphs to file
     |
     |      log_cout: output stream or callback for logging (default=None)
     |          If None is specified, sys.stdout is used
     |
     |      log_cerr: error stream or callback for logging (default=None)
     |          If None is specified, sys.stderr is used
     |
     |      Returns
     |      -------
     |      prediction : dict: metric -> array of shape [(ntree_end - ntree_start) / eval_period]
     |
     |  get_all_params(self)
     |      Get all params (specified by user and default params) that were set in training from CatBoost model.
     |      Full parameters documentation could be found here: https://catboost.ai/docs/concepts/python-reference_parameters-list.html
     |
     |      Returns
     |      -------
     |      result : dict
     |          Dictionary of {param_key: param_value}.
     |
     |  get_borders(self)
     |      Return map feature_index: borders for float features.
     |
     |  get_cat_feature_indices(self)
     |
     |  get_embedding_feature_indices(self)
     |
     |  get_feature_importance(self, data=None, type=<EFstrType.FeatureImportance: 2>, prettified=False, thread_count=-1, verbose=False, fstr_type=None, shap_mode='Auto', model_output='Raw', interaction_indices=None, shap_calc_type='Regular', reference_data=None, sage_n_samples=128, sage_batch_size=512, sage_detect_convergence=True, log_cout=None, log_cerr=None)
     |      Parameters
     |      ----------
     |      data :
     |          Data to get feature importance.
     |          If type in ('LossFunctionChange', 'ShapValues', 'ShapInteractionValues') data must of Pool type.
     |              For every object in this dataset feature importances will be calculated.
     |          if type == 'SageValues' data must of Pool type.
     |              For every feature in this dataset importance will be calculated.
     |          If type == 'PredictionValuesChange', data is None or a dataset of Pool type
     |              Dataset specification is needed only in case if the model does not contain leaf weight information (trained with CatBoost v < 0.9).
     |          If type == 'PredictionDiff' data must contain a matrix of feature values of shape (2, n_features).
     |              Possible types are catboost.Pool or list of lists or numpy.ndarray or pandas.DataFrame or pandas.Series
     |              or polars.DataFrame or catboost.FeaturesData or pandas.SparseDataFrame or scipy.sparse.spmatrix
     |          If type == 'FeatureImportance'
     |              See 'PredictionValuesChange' for non-ranking metrics and 'LossFunctionChange' for ranking metrics.
     |          If type == 'Interaction'
     |              This parameter is not used.
     |
     |      type : EFstrType or string (converted to EFstrType), optional
     |                  (default=EFstrType.FeatureImportance)
     |          Possible values:
     |              - PredictionValuesChange
     |                  Calculate score for every feature.
     |              - LossFunctionChange
     |                  Calculate score for every feature by loss.
     |              - FeatureImportance
     |                  PredictionValuesChange for non-ranking metrics and LossFunctionChange for ranking metrics
     |              - ShapValues
     |                  Calculate SHAP Values for every object.
     |              - ShapInteractionValues
     |                  Calculate SHAP Interaction Values between each pair of features for every object
     |              - Interaction
     |                  Calculate pairwise score between every feature.
     |              - PredictionDiff
     |                  Calculate most important features explaining difference in predictions for a pair of documents.
     |              - SageValues
     |                  Calculate SAGE value for every feature
     |
     |      prettified : bool, optional (default=False)
     |          change returned data format to the list of (feature_id, importance) pairs sorted by importance
     |
     |      thread_count : int, optional (default=-1)
     |          Number of threads.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      verbose : bool or int
     |          If False, then evaluation is not logged. If True, then each possible iteration is logged.
     |          If a positive integer, then it stands for the size of batch N. After processing each batch, print progress
     |          and remaining time.
     |
     |      fstr_type : string, deprecated, use type instead
     |
     |      shap_mode : string, optional (default="Auto")
     |          used only for ShapValues type
     |          Possible values:
     |              - "Auto"
     |                  Use direct SHAP Values calculation only if data size is smaller than average leaves number
     |                  (the best of two strategies below is chosen).
     |              - "UsePreCalc"
     |                  Calculate SHAP Values for every leaf in preprocessing. Final complexity is
     |                  O(NT(D+F))+O(TL^2 D^2) where N is the number of documents(objects), T - number of trees,
     |                  D - average tree depth, F - average number of features in tree, L - average number of leaves in tree
     |                  This is much faster (because of a smaller constant) than direct calculation when N >> L
     |              - "NoPreCalc"
     |                  Use direct SHAP Values calculation calculation with complexity O(NTLD^2). Direct algorithm
     |                  is faster when N < L (algorithm from https://arxiv.org/abs/1802.03888)
     |
     |      shap_calc_type : EShapCalcType or string, optional (default="Regular")
     |          used only for ShapValues type
     |          Possible values:
     |              - "Regular"
     |                  Calculate regular SHAP values
     |              - "Approximate"
     |                  Calculate approximate SHAP values
     |              - "Exact"
     |                  Calculate exact SHAP values
     |
     |      interaction_indices : list of int or string (feature_idx_1, feature_idx_2), optional (default=None)
     |          used only for ShapInteractionValues type
     |          Calculate SHAP Interaction Values between pair of features feature_idx_1 and feature_idx_2 for every object
     |
     |      reference_data: catboost.Pool or None
     |          Reference data for Independent Tree SHAP values from https://arxiv.org/abs/1905.04610v1
     |          if type == 'ShapValues' and reference_data is not None, then Independent Tree SHAP values are calculated
     |
     |      sage_n_samples: int, optional (default=32)
     |          Number of outer samples used in SAGE values approximation algorithm
     |      sage_batch_size: int, optional (default=min(512, number of samples in dataset))
     |          Number of samples used on each step of SAGE values approximation algorithm
     |      sage_detect_convergence: bool, optional (default=False)
     |          If set True, sage values calculation will be stopped either when sage values converge
     |          or when sage_n_samples iterations of algorithm pass
     |
     |      log_cout: output stream or callback for logging (default=None)
     |          If None is specified, sys.stdout is used
     |
     |      log_cerr: error stream or callback for logging (default=None)
     |          If None is specified, sys.stderr is used
     |
     |      Returns
     |      -------
     |      depends on type:
     |          - FeatureImportance
     |              See PredictionValuesChange for non-ranking metrics and LossFunctionChange for ranking metrics.
     |          - PredictionValuesChange, LossFunctionChange, PredictionDiff, SageValues with prettified=False (default)
     |              list of length [n_features] with feature_importance values (float) for feature
     |          - PredictionValuesChange, LossFunctionChange, PredictionDiff, SageValues with prettified=True
     |              list of length [n_features] with (feature_id (string), feature_importance (float)) pairs, sorted by feature_importance in descending order
     |          - ShapValues
     |              np.ndarray of shape (n_objects, n_features + 1) with Shap values (float) for (object, feature).
     |              In case of multiclass the returned value is np.ndarray of shape
     |              (n_objects, classes_count, n_features + 1). For each object it contains Shap values (float).
     |              Values are calculated for RawFormulaVal predictions.
     |          - ShapInteractionValues
     |              np.ndarray of shape (n_objects, n_features + 1, n_features + 1) with Shap interaction values (float) for (object, feature(i), feature(j)).
     |              In case of multiclass the returned value is np.ndarray of shape
     |              (n_objects, classes_count, n_features + 1, n_features + 1). For each object it contains Shap interaction values (float).
     |              Values are calculated for RawFormulaVal predictions.
     |          - Interaction
     |              list of length [n_features] of 3-element lists of (first_feature_index, second_feature_index, interaction_score (float))
     |
     |  get_object_importance(self, pool, train_pool, top_size=-1, type='Average', update_method='SinglePoint', importance_values_sign='All', thread_count=-1, verbose=False, ostr_type=None, log_cout=None, log_cerr=None)
     |      This is the implementation of the LeafInfluence algorithm from the following paper:
     |      https://arxiv.org/pdf/1802.06640.pdf
     |
     |      Parameters
     |      ----------
     |      pool : Pool
     |          The pool for which you want to evaluate the object importances.
     |
     |      train_pool : Pool
     |          The pool on which the model has been trained.
     |
     |      top_size : int (default=-1)
     |          Method returns the result of the top_size most important train objects.
     |          If -1, then the top size is not limited.
     |
     |      type : string, optional (default='Average')
     |          Possible values:
     |              - Average (Method returns the mean train objects scores for all input objects)
     |              - PerObject (Method returns the train objects scores for every input object)
     |
     |      importance_values_sign : string, optional (default='All')
     |          Method returns only Positive, Negative or All values.
     |          Possible values:
     |              - Positive
     |              - Negative
     |              - All
     |
     |      update_method : string, optional (default='SinglePoint')
     |          Possible values:
     |              - SinglePoint
     |              - TopKLeaves (It is posible to set top size : TopKLeaves:top=2)
     |              - AllPoints
     |          Description of the update set methods are given in section 3.1.3 of the paper.
     |
     |      thread_count : int, optional (default=-1)
     |          Number of threads.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      verbose : bool or int
     |          If False, then evaluation is not logged. If True, then each possible iteration is logged.
     |          If a positive integer, then it stands for the size of batch N. After processing each batch, print progress
     |          and remaining time.
     |
     |      ostr_type : string, deprecated, use type instead
     |
     |      log_cout: output stream or callback for logging (default=None)
     |          If None is specified, sys.stdout is used
     |
     |      log_cerr: error stream or callback for logging (default=None)
     |          If None is specified, sys.stderr is used
     |
     |      Returns
     |      -------
     |      object_importances : tuple of two arrays (indices and scores) of shape = [top_size]
     |
     |  get_param(self, key)
     |      Get param value from CatBoost model.
     |
     |      Parameters
     |      ----------
     |      key : string
     |          The key to get param value from.
     |
     |      Returns
     |      -------
     |      value :
     |          The param value of the key, returns None if param do not exist.
     |
     |  get_params(self, **_unused_kwargs)
     |      Get all params from CatBoost model.
     |
     |      Returns
     |      -------
     |      result : dict
     |          Dictionary of {param_key: param_value}.
     |
     |  get_text_feature_indices(self)
     |
     |  grid_search(self, param_grid, X, y=None, cv=3, partition_random_seed=0, calc_cv_statistics=True, search_by_train_test_split=True, refit=True, shuffle=True, stratified=None, train_size=0.8, verbose=True, plot=False, plot_file=None, log_cout=None, log_cerr=None)
     |      Exhaustive search over specified parameter values for a model.
     |      After calling this method model is fitted and can be used, if not specified otherwise (refit=False).
     |
     |      Parameters
     |      ----------
     |      param_grid: dict or list of dictionaries
     |          Dictionary with parameters names (string) as keys and lists of parameter settings
     |          to try as values, or a list of such dictionaries, in which case the grids spanned by each
     |          dictionary in the list are explored.
     |          This enables searching over any sequence of parameter settings.
     |
     |      X: numpy.ndarray or pandas.DataFrame or polars.DataFrame or catboost.Pool
     |          Data to compute statistics on
     |
     |      y: list or numpy.ndarray or pandas.DataFrame or pandas.Series or polars.DataFrame or polars.Series, optional (default=None)
     |          Labels of the training data.
     |          If not None, can be a single- or two- dimensional array with either:
     |            - numerical values - for regression (including multiregression), ranking and binary classification problems
     |            - class labels (boolean, integer or string) - for classification (including multiclassification) problems
     |          Use only if X is not catboost.Pool and does not point to a file.
     |
     |      cv: int, cross-validation generator or an iterable, optional (default=None)
     |          Determines the cross-validation splitting strategy. Possible inputs for cv are:
     |          - None, to use the default 3-fold cross validation,
     |          - integer, to specify the number of folds in a (Stratified)KFold
     |          - one of the scikit-learn splitter classes
     |              (https://scikit-learn.org/stable/modules/classes.html#splitter-classes)
     |          - An iterable yielding (train, test) splits as arrays of indices.
     |
     |      partition_random_seed: int, optional (default=0)
     |          Use this as the seed value for random permutation of the data.
     |          Permutation is performed before splitting the data for cross validation.
     |          Each seed generates unique data splits.
     |          Used only when cv is None or int.
     |
     |      search_by_train_test_split: bool, optional (default=True)
     |          If True, source dataset is splitted into train and test parts, models are trained
     |          on the train part and parameters are compared by loss function score on the test part.
     |          After that, if calc_cv_statistics=true, statistics on metrics are calculated
     |          using cross-validation using best parameters and the model is fitted with these parameters.
     |
     |          If False, every iteration of grid search evaluates results on cross-validation.
     |          It is recommended to set parameter to True for large datasets, and to False for small datasets.
     |
     |      calc_cv_statistics: bool, optional (default=True)
     |          The parameter determines whether quality should be estimated.
     |          using cross-validation with the found best parameters. Used only when search_by_train_test_split=True.
     |
     |      refit: bool (default=True)
     |          Refit an estimator using the best found parameters on the whole dataset.
     |
     |      shuffle: bool, optional (default=True)
     |          Shuffle the dataset objects before parameters searching.
     |
     |      stratified: bool, optional (default=None)
     |          Perform stratified sampling. True for classification and False otherwise.
     |          Currently supported only for final cross-validation.
     |
     |      train_size: float, optional (default=0.8)
     |          Should be between 0.0 and 1.0 and represent the proportion of the dataset to include in the train split.
     |
     |      verbose: bool or int, optional (default=True)
     |          If verbose is int, it determines the frequency of writing metrics to output
     |          verbose==True is equal to verbose==1
     |          When verbose==False, there is no messages
     |
     |      plot : bool, optional (default=False)
     |          If True, draw train and eval error for every set of parameters in Jupyter notebook
     |
     |      plot_file : file-like or str, optional (default=None)
     |          If not None, save train and eval error for every set of parameters to file
     |
     |      log_cout: output stream or callback for logging (default=None)
     |          If None is specified, sys.stdout is used
     |
     |      log_cerr: error stream or callback for logging (default=None)
     |          If None is specified, sys.stderr is used
     |
     |      Returns
     |      -------
     |      dict with two fields:
     |          'params': dict of best found parameters
     |          'cv_results': dict or pandas.core.frame.DataFrame with cross-validation results
     |              columns are: test-error-mean  test-error-std  train-error-mean  train-error-std
     |
     |  iterate_leaf_indexes(self, data, ntree_start=0, ntree_end=0)
     |      Returns indexes of leafs to which objects from pool are mapped by model trees.
     |
     |      Parameters
     |      ----------
     |      data : catboost.Pool or list of features or list of lists or numpy.ndarray or pandas.DataFrame or pandas.Series
     |              or polars.DataFrame or polars.Series or catboost.FeaturesData
     |          Data to apply model on.
     |          If data is a simple list (not list of lists) or a one-dimensional numpy.ndarray it is interpreted
     |          as a list of features for a single object.
     |
     |      ntree_start: int, optional (default=0)
     |          Index of first tree for which leaf indexes will be calculated (zero-based indexing).
     |
     |      ntree_end: int, optional (default=0)
     |          Index of the tree after last tree for which leaf indexes will be calculated (zero-based indexing).
     |          If value equals to 0 this parameter is ignored and ntree_end equal to tree_count_.
     |
     |      Returns
     |      -------
     |      leaf_indexes : generator. For each object in pool yields one-dimensional numpy.ndarray of leaf indexes.
     |
     |  load_model(self, fname=None, format='cbm', stream=None, blob=None)
     |      Load model from a file, stream or blob.
     |
     |      Parameters
     |      ----------
     |      fname : string
     |          Input file name.
     |
     |  plot_partial_dependence(self, data, features, plot=True, plot_file=None, thread_count=-1)
     |      To use this function, you should install plotly.
     |      data: numpy.ndarray or pandas.DataFrame or polars.DataFrame or catboost.Pool
     |      features: int, str, list<int>, tuple<int>, list<string>, tuple<string>
     |          Float features to calculate partial dependence for. Number of features should be 1 or 2.
     |      plot: bool
     |          Plot predictions.
     |      plot_file: str
     |          Output file for plot predictions.
     |      thread_count: int
     |          Number of threads to use. If -1 use maximum available number of threads.
     |      Returns
     |      -------
     |          If number of features is one - 1d numpy array and figure with line plot.
     |          If number of features is two - 2d numpy array and figure with 2d heatmap.
     |
     |  plot_predictions(self, data, features_to_change, plot=True, plot_file=None)
     |      To use this function, you should install plotly.
     |
     |      data: numpy.ndarray or pandas.DataFrame or polars.DataFrame or catboost.Pool
     |      features_to_change: list-like with int (for indices) or str (for names) elements
     |          Numerical features indices or names in `data` for which you want to vary prediction value.
     |      plot: bool
     |          Plot predictions.
     |      plot_file: str
     |          Output file for plot predictions.
     |      Returns
     |      -------
     |          List of list of predictions for all buckets for all samples in data
     |
     |  plot_tree(self, tree_idx, pool=None)
     |
     |  randomized_search(self, param_distributions, X, y=None, cv=3, n_iter=10, partition_random_seed=0, calc_cv_statistics=True, search_by_train_test_split=True, refit=True, shuffle=True, stratified=None, train_size=0.8, verbose=True, plot=False, plot_file=None, log_cout=None, log_cerr=None)
     |      Randomized search on hyper parameters.
     |      After calling this method model is fitted and can be used, if not specified otherwise (refit=False).
     |
     |      In contrast to grid_search, not all parameter values are tried out,
     |      but rather a fixed number of parameter settings is sampled from the specified distributions.
     |      The number of parameter settings that are tried is given by n_iter.
     |
     |      Parameters
     |      ----------
     |      param_distributions: dict
     |          Dictionary with parameters names (string) as keys and distributions or lists of parameters to try.
     |          Distributions must provide a rvs method for sampling (such as those from scipy.stats.distributions).
     |          If a list is given, it is sampled uniformly.
     |
     |      X: numpy.ndarray or pandas.DataFrame or polars.DataFrame or catboost.Pool
     |          Data to compute statistics on
     |
     |      y: list or numpy.ndarray or pandas.DataFrame or pandas.Series or polars.DataFrame or polars.Series, optional (default=None)
     |          Labels of the training data.
     |          If not None, can be a single- or two- dimensional array with either:
     |            - numerical values - for regression (including multiregression), ranking and binary classification problems
     |            - class labels (boolean, integer or string) - for classification (including multiclassification) problems
     |          Use only if X is not catboost.Pool and does not point to a file.
     |
     |      cv: int, cross-validation generator or an iterable, optional (default=None)
     |          Determines the cross-validation splitting strategy. Possible inputs for cv are:
     |          - None, to use the default 3-fold cross validation,
     |          - integer, to specify the number of folds in a (Stratified)KFold
     |          - one of the scikit-learn splitter classes
     |              (https://scikit-learn.org/stable/modules/classes.html#splitter-classes)
     |          - An iterable yielding (train, test) splits as arrays of indices.
     |
     |      n_iter: int
     |          Number of parameter settings that are sampled.
     |          n_iter trades off runtime vs quality of the solution.
     |
     |      partition_random_seed: int, optional (default=0)
     |          Use this as the seed value for random permutation of the data.
     |          Permutation is performed before splitting the data for cross validation.
     |          Each seed generates unique data splits.
     |          Used only when cv is None or int.
     |
     |      search_by_train_test_split: bool, optional (default=True)
     |          If True, source dataset is splitted into train and test parts, models are trained
     |          on the train part and parameters are compared by loss function score on the test part.
     |          After that, if calc_cv_statistics=true, statistics on metrics are calculated
     |          using cross-validation using best parameters and the model is fitted with these parameters.
     |
     |          If False, every iteration of grid search evaluates results on cross-validation.
     |          It is recommended to set parameter to True for large datasets, and to False for small datasets.
     |
     |      calc_cv_statistics: bool, optional (default=True)
     |          The parameter determines whether quality should be estimated.
     |          using cross-validation with the found best parameters. Used only when search_by_train_test_split=True.
     |
     |      refit: bool (default=True)
     |          Refit an estimator using the best found parameters on the whole dataset.
     |
     |      shuffle: bool, optional (default=True)
     |          Shuffle the dataset objects before parameters searching.
     |
     |      stratified: bool, optional (default=None)
     |          Perform stratified sampling. True for classification and False otherwise.
     |          Currently supported only for cross-validation.
     |
     |      train_size: float, optional (default=0.8)
     |          Should be between 0.0 and 1.0 and represent the proportion of the dataset to include in the train split.
     |
     |      verbose: bool or int, optional (default=True)
     |          If verbose is int, it determines the frequency of writing metrics to output
     |          verbose==True is equal to verbose==1
     |          When verbose==False, there is no messages
     |
     |      plot : bool, optional (default=False)
     |          If True, draw train and eval error for every set of parameters in Jupyter notebook
     |
     |      plot_file : file-like or str, optional (default=None)
     |          If not None, save train and eval error for every set of parameters to file
     |
     |      log_cout: output stream or callback for logging (default=None)
     |          If None is specified, sys.stdout is used
     |
     |      log_cerr: error stream or callback for logging (default=None)
     |          If None is specified, sys.stderr is used
     |
     |      Returns
     |      -------
     |      dict with two fields:
     |          'params': dict of best found parameters
     |          'cv_results': dict or pandas.core.frame.DataFrame with cross-validation results
     |              columns are: test-error-mean  test-error-std  train-error-mean  train-error-std
     |
     |  save_borders(self, fname)
     |      Save the model borders to a file.
     |
     |      Parameters
     |      ----------
     |      fname : string or os.PathLike
     |          Output file name.
     |
     |  save_model(self, fname, format='cbm', export_parameters=None, pool=None)
     |      Save the model to a file.
     |
     |      Parameters
     |      ----------
     |      fname : string
     |          Output file name.
     |      format : string
     |          Possible values:
     |              * 'cbm' for catboost binary format,
     |              * 'coreml' to export into Apple CoreML format
     |              * 'onnx' to export into ONNX-ML format
     |              * 'pmml' to export into PMML format
     |              * 'cpp' to export as C++ code
     |              * 'python' to export as Python code.
     |      export_parameters : dict
     |          Parameters for CoreML export:
     |              * prediction_type : string - either 'probability' or 'raw'
     |              * coreml_description : string
     |              * coreml_model_version : string
     |              * coreml_model_author : string
     |              * coreml_model_license: string
     |          Parameters for PMML export:
     |              * pmml_copyright : string
     |              * pmml_description : string
     |              * pmml_model_version : string
     |      pool : catboost.Pool or list or numpy.ndarray or pandas.DataFrame or pandas.Series or polars.DataFrame or catboost.FeaturesData
     |          Training pool.
     |
     |  select_features(self, X, y=None, eval_set=None, features_for_select=None, num_features_to_select=None, algorithm=None, steps=None, shap_calc_type=None, train_final_model=True, verbose=None, logging_level=None, plot=False, plot_file=None, log_cout=None, log_cerr=None, grouping=None, features_tags_for_select=None, num_features_tags_to_select=None)
     |      Select best features from pool according to loss value.
     |
     |      Parameters
     |      ----------
     |      X : catboost.Pool or list or numpy.ndarray or pandas.DataFrame or pandas.Series or polars.DataFrame
     |          If not catboost.Pool, 2 dimensional Feature matrix or string - file with dataset.
     |
     |      y : list or numpy.ndarray or pandas.DataFrame or pandas.Series or polars.DataFrame or polars.Series, optional (default=None)
     |          Labels of the training data.
     |          If not None, can be a single- or two- dimensional array with either:
     |            - numerical values - for regression (including multiregression), ranking and binary classification problems
     |            - class labels (boolean, integer or string) - for classification (including multiclassification) problems
     |          Use only if X is not catboost.Pool and does not point to a file.
     |
     |      eval_set : catboost.Pool or list of catboost.Pool or tuple (X, y) or list [(X, y)], optional (default=None)
     |          Validation dataset or datasets for metrics calculation and possibly early stopping.
     |
     |      features_for_select : str or list of feature indices, names or ranges
     |          (for grouping = Individual)
     |          Which features should participate in the selection.
     |          Format examples:
     |              - [0, 2, 3, 4, 17]
     |              - [0, "2-4", 17] (both ends in ranges are inclusive)
     |              - "0,2-4,20"
     |              - ["Name0", "Name2", "Name3", "Name4", "Name20"]
     |
     |      num_features_to_select : positive int
     |          (for grouping = Individual)
     |          How many features to select from features_for_select.
     |
     |      algorithm : EFeaturesSelectionAlgorithm or string, optional (default=RecursiveByShapValues)
     |          Which algorithm to use for features selection.
     |          Possible values:
     |              - RecursiveByPredictionValuesChange
     |                  Use prediction values change as feature strength, eliminate batch of features at once.
     |              - RecursiveByLossFunctionChange
     |                  Use loss function change as feature strength, eliminate batch of features at each step.
     |              - RecursiveByShapValues
     |                  Use shap values to estimate loss function change, eliminate features one by one.
     |
     |      steps : positive int, optional (default=1)
     |          How many steps should be performed. In other words, how many times a full model will be trained.
     |          More steps give more accurate results.
     |
     |      shap_calc_type : EShapCalcType or string, optional (default=Regular)
     |          Which method to use for calculation of shap values.
     |          Possible values:
     |              - Regular
     |                  Calculate regular SHAP values
     |              - Approximate
     |                  Calculate approximate SHAP values
     |              - Exact
     |                  Calculate exact SHAP values
     |
     |      train_final_model : bool, optional (default=True)
     |          Need to fit model with selected features.
     |
     |      verbose : bool or int
     |          If verbose is bool, then if set to True, logging_level is set to Verbose,
     |          if set to False, logging_level is set to Silent.
     |          If verbose is int, it determines the frequency of writing metrics to output and
     |          logging_level is set to Verbose.
     |
     |      logging_level : string, optional (default=None)
     |          Possible values:
     |              - 'Silent'
     |              - 'Verbose'
     |              - 'Info'
     |              - 'Debug'
     |
     |      plot : bool, optional (default=False)
     |          If True, draw train and eval error in Jupyter notebook.
     |
     |      plot_file : file-like or str, optional (default=None)
     |          If not None, save train and eval error graphs to file
     |
     |      log_cout: output stream or callback for logging (default=None)
     |          If None is specified, sys.stdout is used
     |
     |      log_cerr: error stream or callback for logging (default=None)
     |          If None is specified, sys.stderr is used
     |
     |      grouping : EFeaturesSelectionGrouping or string, optional (default=Individual)
     |          Which grouping to use for features selection.
     |          Possible values:
     |              - Individual
     |                  Select individual features
     |              - ByTags
     |                  Select feature groups (marked by tags)
     |
     |      features_tags_for_select : list of strings
     |          (for grouping = ByTags)
     |          Which features tags should participate in the selection.
     |
     |      num_features_tags_to_select : positive int
     |          (for grouping = ByTags)
     |          How many features tags to select from features_tags_for_select.
     |
     |      Returns
     |      -------
     |      dict with fields:
     |          'selected_features': list of selected features indices
     |          'eliminated_features': list of eliminated features indices
     |          'selected_features_tags': list of selected features tags (optional, present if grouping == ByTags)
     |          'eliminated_features_tags': list of selected features tags (optional, present if grouping == ByTags)
     |
     |  set_params(self, **params)
     |      Set parameters into CatBoost model.
     |
     |      Parameters
     |      ----------
     |      **params : key=value format
     |          List of key=value paris. Example: model.set_params(iterations=500, thread_count=2).
     |
     |  shrink(self, ntree_end, ntree_start=0)
     |      Shrink the model.
     |
     |      Parameters
     |      ----------
     |      ntree_end: int
     |          Leave the trees with indices from the interval [ntree_start, ntree_end) (zero-based indexing).
     |      ntree_start: int, optional (default=0)
     |          Leave the trees with indices from the interval [ntree_start, ntree_end) (zero-based indexing).
     |
     |  virtual_ensembles_predict(self, data, prediction_type='VirtEnsembles', ntree_end=0, virtual_ensembles_count=10, thread_count=-1, verbose=None)
     |      Predict with data.
     |
     |      Parameters
     |      ----------
     |      data : catboost.Pool or list of features or list of lists or numpy.ndarray or pandas.DataFrame or pandas.Series
     |               or polars.DataFrame or polars.Series or catboost.FeaturesData
     |          Data to apply model on.
     |          If data is a simple list (not list of lists) or a one-dimensional numpy.ndarray it is interpreted
     |          as a list of features for a single object.
     |
     |      prediction_type : string, optional (default='RawFormulaVal')
     |          Can be:
     |          - 'VirtEnsembles': return V (virtual_ensembles_count) predictions.
     |              k-th virtEnsemle consists of trees [0, T/2] + [T/2 + T/(2V) * k, T/2 + T/(2V) * (k + 1)]  * constant.
     |          - 'TotalUncertainty': see returned predictions format in 'Returns' part
     |
     |      ntree_end: int, optional (default=0)
     |          Model is applied on the interval [ntree_start, ntree_end) (zero-based indexing).
     |          If value equals to 0 this parameter is ignored and ntree_end equal to tree_count_.
     |
     |      virtual_ensembles_count: int, optional (default=10)
     |          virtual ensembles count for 'TotalUncertainty' and 'VirtEnsembles' prediction types.
     |
     |      thread_count : int (default=-1)
     |          The number of threads to use when applying the model.
     |          Allows you to optimize the speed of execution. This parameter doesn't affect results.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      verbose : bool, optional (default=False)
     |          If True, writes the evaluation metric measured set to stderr.
     |
     |      Returns
     |      -------
     |      prediction :
     |          (with V as virtual_ensembles_count and T as trees count,
     |          k-th virtEnsemle consists of trees [0, T/2] + [T/2 + T/(2V) * k, T/2 + T/(2V) * (k + 1)]  * constant)
     |          If data is for a single object, return 1-dimensional array of predictions with size depends on prediction type,
     |          otherwise return 2-dimensional numpy.ndarray with shape (number_of_objects x size depends on prediction type);
     |          Returned predictions depends on prediction type:
     |          If loss-function was RMSEWithUncertainty:
     |              - 'VirtEnsembles': [mean0, var0, mean1, var1, ..., vark-1].
     |              - 'TotalUncertainty': [mean_predict, KnowledgeUnc, DataUnc].
     |          otherwise for regression:
     |              - 'VirtEnsembles':  [mean0, mean1, ...].
     |              - 'TotalUncertainty': [mean_predicts, KnowledgeUnc].
     |          otherwise for binary classification:
     |              - 'VirtEnsembles':  [ApproxRawFormulaVal0, ApproxRawFormulaVal1, ..., ApproxRawFormulaValk-1].
     |              - 'TotalUncertainty':  [DataUnc, TotalUnc].
     |
     |  ----------------------------------------------------------------------
     |  Readonly properties inherited from CatBoost:
     |
     |  feature_importances_
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from _CatBoostBase:
     |
     |  __copy__(self)
     |
     |  __deepcopy__(self, _)
     |
     |  __eq__(self, other)
     |      Return self==value.
     |
     |  __getstate__(self)
     |      Helper for pickle.
     |
     |  __ne__(self, other)
     |      Return self!=value.
     |
     |  __repr__(self) -> str
     |      Return repr(self).
     |
     |  __setstate__(self, state)
     |
     |  __sklearn_tags__(self)
     |
     |  copy(self)
     |
     |  get_best_iteration(self)
     |
     |  get_best_score(self)
     |
     |  get_evals_result(self)
     |
     |  get_leaf_values(self)
     |      Returns
     |      -------
     |      leaf_values : 1d-array of leaf values for all trees.
     |      Value corresponding to j-th leaf of i-th tree is at position
     |      sum(get_tree_leaf_counts()[:i]) + j (leaf and tree indexing starts from zero).
     |
     |  get_leaf_weights(self)
     |      Returns
     |      -------
     |      leaf_weights : 1d-array of leaf weights for all trees.
     |      Weight of j-th leaf of i-th tree is at position
     |      sum(get_tree_leaf_counts()[:i]) + j (leaf and tree indexing starts from zero).
     |
     |  get_metadata(self)
     |
     |  get_n_features_in(self)
     |
     |  get_scale_and_bias(self)
     |
     |  get_test_eval(self)
     |
     |  get_test_evals(self)
     |
     |  get_tree_leaf_counts(self)
     |      Returns
     |      -------
     |      tree_leaf_counts : 1d-array of numpy.uint32 of size tree_count_.
     |      tree_leaf_counts[i] equals to the number of leafs in i-th tree of the ensemble.
     |
     |  is_fitted(self)
     |
     |  set_feature_names(self, feature_names)
     |      Sets feature names equal to feature_names
     |
     |      Parameters
     |      ----------
     |      feature_names: 1-d array of strings with new feature names in the same order as in pool
     |
     |  set_leaf_values(self, new_leaf_values)
     |      Sets values at tree leafs of ensemble equal to new_leaf_values.
     |
     |      Parameters
     |      ----------
     |      new_leaf_values : 1d-array with new leaf values for all trees.
     |      It's size should be equal to sum(get_tree_leaf_counts()).
     |      Value corresponding to j-th leaf of i-th tree should be at position
     |      sum(get_tree_leaf_counts()[:i]) + j (leaf and tree indexing starts from zero).
     |
     |  set_scale_and_bias(self, scale, bias)
     |
     |  ----------------------------------------------------------------------
     |  Static methods inherited from _CatBoostBase:
     |
     |  get_sklearn_estimator_xfail_checks(estimator: '_CatBoostBase') -> Dict[str, str]
     |      To pass to:
     |          For scikit-learn >= 1.6:
     |              to 'expected_failed_checks' parameter in sklearn.utils.estimator_checks.parametrize_with_checks
     |          For scikit-learn < 1.6:
     |              to '_xfail_checks' field returned by '_CatBoostBase._get_tags'.
     |
     |      This method is made static to be able to pass it to sklearn.utils.estimator_checks.parametrize_with_checks
     |
     |  ----------------------------------------------------------------------
     |  Readonly properties inherited from _CatBoostBase:
     |
     |  best_iteration_
     |
     |  best_score_
     |
     |  classes_
     |
     |  evals_result_
     |
     |  feature_names_
     |
     |  learning_rate_
     |
     |  n_features_in_
     |
     |  random_seed_
     |
     |  tree_count_
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from _CatBoostBase:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object
     |
     |  ----------------------------------------------------------------------
     |  Data and other attributes inherited from _CatBoostBase:
     |
     |  __hash__ = None

    class CatBoostRanker(CatBoost)
     |  CatBoostRanker(iterations=None, learning_rate=None, depth=None, l2_leaf_reg=None, model_size_reg=None, rsm=None, loss_function='YetiRank', border_count=None, feature_border_type=None, per_float_feature_quantization=None, input_borders=None, output_borders=None, fold_permutation_block=None, od_pval=None, od_wait=None, od_type=None, nan_mode=None, counter_calc_method=None, leaf_estimation_iterations=None, leaf_estimation_method=None, thread_count=None, random_seed=None, use_best_model=None, best_model_min_trees=None, verbose=None, silent=None, logging_level=None, metric_period=None, ctr_leaf_count_limit=None, store_all_simple_ctr=None, max_ctr_complexity=None, has_time=None, allow_const_label=None, target_border=None, one_hot_max_size=None, random_strength=None, random_score_type=None, name=None, ignored_features=None, train_dir=None, custom_metric=None, eval_metric=None, bagging_temperature=None, save_snapshot=None, snapshot_file=None, snapshot_interval=None, fold_len_multiplier=None, used_ram_limit=None, gpu_ram_part=None, pinned_memory_size=None, allow_writing_files=None, final_ctr_computation_mode=None, approx_on_full_history=None, boosting_type=None, simple_ctr=None, combinations_ctr=None, per_feature_ctr=None, ctr_description=None, ctr_target_border_count=None, task_type=None, device_config=None, devices=None, bootstrap_type=None, subsample=None, mvs_reg=None, sampling_frequency=None, sampling_unit=None, dev_score_calc_obj_block_size=None, dev_efb_max_buckets=None, sparse_features_conflict_fraction=None, max_depth=None, n_estimators=None, num_boost_round=None, num_trees=None, colsample_bylevel=None, random_state=None, reg_lambda=None, objective=None, eta=None, max_bin=None, gpu_cat_features_storage=None, data_partition=None, metadata=None, early_stopping_rounds=None, cat_features=None, grow_policy=None, min_data_in_leaf=None, min_child_samples=None, max_leaves=None, num_leaves=None, score_function=None, leaf_estimation_backtracking=None, ctr_history_unit=None, monotone_constraints=None, feature_weights=None, penalties_coefficient=None, first_feature_use_penalties=None, per_object_feature_penalties=None, model_shrink_rate=None, model_shrink_mode=None, langevin=None, diffusion_temperature=None, posterior_sampling=None, boost_from_average=None, text_features=None, tokenizers=None, dictionaries=None, feature_calcers=None, text_processing=None, embedding_features=None, eval_fraction=None, fixed_binary_splits=None)
     |
     |  Implementation of the scikit-learn API for CatBoost ranking.
     |  Parameters
     |  ----------
     |  Like in CatBoostClassifier, except loss_function, classes_count, class_names and class_weights
     |  loss_function : string, [default='YetiRank']
     |      'YetiRank'
     |      'YetiRankPairwise'
     |      'StochasticFilter'
     |      'StochasticRank'
     |      'QueryCrossEntropy'
     |      'QueryRMSE'
     |      'GroupQuantile'
     |      'QuerySoftMax'
     |      'PairLogit'
     |      'PairLogitPairwise'
     |
     |  Method resolution order:
     |      CatBoostRanker
     |      CatBoost
     |      _CatBoostBase
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __init__(self, iterations=None, learning_rate=None, depth=None, l2_leaf_reg=None, model_size_reg=None, rsm=None, loss_function='YetiRank', border_count=None, feature_border_type=None, per_float_feature_quantization=None, input_borders=None, output_borders=None, fold_permutation_block=None, od_pval=None, od_wait=None, od_type=None, nan_mode=None, counter_calc_method=None, leaf_estimation_iterations=None, leaf_estimation_method=None, thread_count=None, random_seed=None, use_best_model=None, best_model_min_trees=None, verbose=None, silent=None, logging_level=None, metric_period=None, ctr_leaf_count_limit=None, store_all_simple_ctr=None, max_ctr_complexity=None, has_time=None, allow_const_label=None, target_border=None, one_hot_max_size=None, random_strength=None, random_score_type=None, name=None, ignored_features=None, train_dir=None, custom_metric=None, eval_metric=None, bagging_temperature=None, save_snapshot=None, snapshot_file=None, snapshot_interval=None, fold_len_multiplier=None, used_ram_limit=None, gpu_ram_part=None, pinned_memory_size=None, allow_writing_files=None, final_ctr_computation_mode=None, approx_on_full_history=None, boosting_type=None, simple_ctr=None, combinations_ctr=None, per_feature_ctr=None, ctr_description=None, ctr_target_border_count=None, task_type=None, device_config=None, devices=None, bootstrap_type=None, subsample=None, mvs_reg=None, sampling_frequency=None, sampling_unit=None, dev_score_calc_obj_block_size=None, dev_efb_max_buckets=None, sparse_features_conflict_fraction=None, max_depth=None, n_estimators=None, num_boost_round=None, num_trees=None, colsample_bylevel=None, random_state=None, reg_lambda=None, objective=None, eta=None, max_bin=None, gpu_cat_features_storage=None, data_partition=None, metadata=None, early_stopping_rounds=None, cat_features=None, grow_policy=None, min_data_in_leaf=None, min_child_samples=None, max_leaves=None, num_leaves=None, score_function=None, leaf_estimation_backtracking=None, ctr_history_unit=None, monotone_constraints=None, feature_weights=None, penalties_coefficient=None, first_feature_use_penalties=None, per_object_feature_penalties=None, model_shrink_rate=None, model_shrink_mode=None, langevin=None, diffusion_temperature=None, posterior_sampling=None, boost_from_average=None, text_features=None, tokenizers=None, dictionaries=None, feature_calcers=None, text_processing=None, embedding_features=None, eval_fraction=None, fixed_binary_splits=None)
     |      Initialize the CatBoost.
     |
     |      Parameters
     |      ----------
     |      params : dict
     |          Parameters for CatBoost.
     |          If  None, all params are set to their defaults.
     |          If  dict, overriding parameters present in dict.
     |
     |  fit(self, X, y=None, group_id=None, cat_features=None, text_features=None, embedding_features=None, pairs=None, graph=None, sample_weight=None, group_weight=None, subgroup_id=None, pairs_weight=None, baseline=None, use_best_model=None, eval_set=None, verbose=None, logging_level=None, plot=False, plot_file=None, column_description=None, verbose_eval=None, metric_period=None, silent=None, early_stopping_rounds=None, save_snapshot=None, snapshot_file=None, snapshot_interval=None, init_model=None, callbacks=None, log_cout=None, log_cerr=None)
     |      Fit the CatBoostRanker model.
     |      Parameters
     |      ----------
     |      X : catboost.Pool or list or numpy.ndarray or pandas.DataFrame or pandas.Series or polars.DataFrame
     |          If not catboost.Pool, 2 dimensional Feature matrix or string - file with dataset.
     |      y : list or numpy.ndarray or pandas.DataFrame or pandas.Series or polars.DataFrame or polars.Series, optional (default=None)
     |          Labels of the training data.
     |          If not None, can be a single-dimensional array with numerical values.
     |          Use only if X is not catboost.Pool and does not point to a file.
     |      group_id : numpy.ndarray or pandas.DataFrame or pandas.Series or polars.Series, optional (default=None)
     |          Ranking groups, 1 dimensional array like.
     |          Use only if X is not catboost.Pool.
     |      cat_features : list or numpy.ndarray, optional (default=None)
     |          If not None, giving the list of Categ columns indices.
     |          Use only if X is not catboost.Pool.
     |      text_features : list or numpy.ndarray, optional (default=None)
     |          If not None, giving the list of Text columns indices.
     |          Use only if X is not catboost.Pool.
     |      embedding_features : list or numpy.ndarray, optional (default=None)
     |          If not None, giving the list of Embedding columns indices.
     |          Use only if X is not catboost.Pool.
     |      pairs : list or numpy.ndarray or pandas.DataFrame or polars.DataFrame, optional (default=None)
     |          The pairs description in the form of a two-dimensional matrix of shape N by 2:
     |          N is the number of pairs.
     |          The first element of the pair is the zero-based index of the winner object from the input dataset for pairwise comparison.
     |          The second element of the pair is the zero-based index of the loser object from the input dataset for pairwise comparison.
     |      graph : list or numpy.ndarray or pandas.DataFrame or polars.DataFrame
     |          The graph edges list description.
     |          If list or numpy.ndarrays or pandas.DataFrame, giving 2 dimensional.
     |      sample_weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series or polars.Series, optional (default=None)
     |          Instance weights, 1 dimensional array like.
     |      group_weight : list or numpy.ndarray or polars.Series (default=None)
     |          The weights of all objects within the defined groups from the input data in the form of one-dimensional array-like data.
     |          Used for calculating the final values of trees. By default, it is set to 1 for all objects in all groups.
     |          Only a weight or group_weight parameter can be used at a time
     |      subgroup_id : list or numpy.ndarray or polars.Series (default=None)
     |          Subgroup identifiers for all input objects. Supported identifier types are:
     |          int
     |          string types (string or unicode for Python 2 and bytes or string for Python 3).
     |      pairs_weight : list or numpy.ndarray or polars.Series (default=None)
     |          The weight of each input pair of objects in the form of one-dimensional array-like pairs.
     |          The number of given values must match the number of specified pairs.
     |          This information is used for calculation and optimization of Pairwise metrics .
     |          By default, it is set to 1 for all pairs.
     |      baseline : list or numpy.ndarray or polars.DataFrame or polars.Series, optional (default=None)
     |          If not None, giving 2 dimensional array like data.
     |          Use only if X is not catboost.Pool.
     |      use_best_model : bool, optional (default=None)
     |          Flag to use best model
     |      eval_set : catboost.Pool or list of catboost.Pool or tuple (X, y) or list [(X, y)], optional (default=None)
     |          Validation dataset or datasets for metrics calculation and possibly early stopping.
     |      verbose : bool or int
     |          If verbose is bool, then if set to True, logging_level is set to Verbose,
     |          if set to False, logging_level is set to Silent.
     |          If verbose is int, it determines the frequency of writing metrics to output and
     |          logging_level is set to Verbose.
     |      logging_level : string, optional (default=None)
     |          Possible values:
     |              - 'Silent'
     |              - 'Verbose'
     |              - 'Info'
     |              - 'Debug'
     |      plot : bool, optional (default=False)
     |          If True, draw train and eval error in Jupyter notebook
     |      plot_file : file-like or str, optional (default=None)
     |          If not None, save train and eval error graphs to file
     |      verbose_eval : bool or int
     |          Synonym for verbose. Only one of these parameters should be set.
     |      metric_period : int
     |          Frequency of evaluating metrics.
     |      silent : bool
     |          If silent is True, logging_level is set to Silent.
     |          If silent is False, logging_level is set to Verbose.
     |      early_stopping_rounds : int
     |          Activates Iter overfitting detector with od_wait set to early_stopping_rounds.
     |      save_snapshot : bool, [default=None]
     |          Enable progress snapshotting for restoring progress after crashes or interruptions
     |      snapshot_file : string or os.PathLike, [default=None]
     |          Learn progress snapshot file path, if None will use default filename
     |      snapshot_interval: int, [default=600]
     |          Interval between saving snapshots (seconds)
     |      init_model : CatBoost class or string or os.PathLike, [default=None]
     |          Continue training starting from the existing model.
     |          If this parameter is a string or os.PathLike, load initial model from the path specified by this string.
     |      callbacks : list, optional (default=None)
     |          List of callback objects that are applied at end of each iteration.
     |
     |      log_cout: output stream or callback for logging (default=None)
     |          If None is specified, sys.stdout is used
     |
     |      log_cerr: error stream or callback for logging (default=None)
     |          If None is specified, sys.stderr is used
     |
     |      Returns
     |      -------
     |      model : CatBoost
     |
     |  predict(self, X, ntree_start=0, ntree_end=0, thread_count=-1, verbose=None)
     |      Predict with data.
     |      Parameters
     |      ----------
     |      X : catboost.Pool or list of features or list of lists or numpy.ndarray or pandas.DataFrame or pandas.Series
     |              or polars.DataFrame or polars.Series or catboost.FeaturesData
     |          Data to apply model on.
     |          If data is a simple list (not list of lists) or a one-dimensional numpy.ndarray it is interpreted
     |          as a list of features for a single object.
     |      ntree_start: int, optional (default=0)
     |          Model is applied on the interval [ntree_start, ntree_end) (zero-based indexing).
     |      ntree_end: int, optional (default=0)
     |          Model is applied on the interval [ntree_start, ntree_end) (zero-based indexing).
     |          If value equals to 0 this parameter is ignored and ntree_end equal to tree_count_.
     |      thread_count : int (default=-1)
     |          The number of threads to use when applying the model.
     |          Allows you to optimize the speed of execution. This parameter doesn't affect results.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |      verbose : bool
     |          If True, writes the evaluation metric measured set to stderr.
     |      Returns
     |      -------
     |      prediction :
     |          If data is for a single object, the return value is single float formula return value
     |          otherwise one-dimensional numpy.ndarray of formula return values for each object.
     |
     |  score(self, X, y=None, group_id=None, top=None, type=None, denominator=None, group_weight=None, thread_count=-1)
     |      Calculate NDCG@top
     |      Parameters
     |      ----------
     |      X : catboost.Pool or list or numpy.ndarray or pandas.DataFrame or pandas.Series or polars.DataFrame
     |          Data to apply model on.
     |      y : list or numpy.ndarrays or pandas.DataFrame or pandas.Series or polars.Series
     |          True labels.
     |      group_id : list or numpy.ndarray or pandas.DataFrame or pandas.Series
     |          Ranking groups. If X is a Pool, group_id must be defined into X
     |      top : unsigned integer, up to `pow(2, 32) / 2 - 1`
     |          NDCG, Number of top-ranked objects to calculate NDCG
     |      type : str
     |          NDCG, Metric_type: 'Base' or 'Exp'
     |      denominator : str
     |          NDCG, Denominator type: 'LogPosition' or 'Position'
     |      group_weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series
     |          Group weights.
     |      thread_count : int, optional (default=-1)
     |          Number of threads to work with.
     |      Returns
     |      -------
     |      NDCG@top : float
     |                 higher is better
     |
     |  staged_predict(self, X, ntree_start=0, ntree_end=0, eval_period=1, thread_count=-1, verbose=None)
     |      Predict target at each stage for data.
     |      Parameters
     |      ----------
     |      X : catboost.Pool or list of features or list of lists or numpy.ndarray or pandas.DataFrame or pandas.Series
     |              or polars.DataFrame or polars.Series or catboost.FeaturesData
     |          Data to apply model on.
     |          If data is a simple list (not list of lists) or a one-dimensional numpy.ndarray it is interpreted
     |          as a list of features for a single object.
     |      ntree_start: int, optional (default=0)
     |          Model is applied on the interval [ntree_start, ntree_end) with the step eval_period (zero-based indexing).
     |      ntree_end: int, optional (default=0)
     |          Model is applied on the interval [ntree_start, ntree_end) with the step eval_period (zero-based indexing).
     |          If value equals to 0 this parameter is ignored and ntree_end equal to tree_count_.
     |      eval_period: int, optional (default=1)
     |          Model is applied on the interval [ntree_start, ntree_end) with the step eval_period (zero-based indexing).
     |      thread_count : int (default=-1)
     |          The number of threads to use when applying the model.
     |          Allows you to optimize the speed of execution. This parameter doesn't affect results.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |      verbose : bool
     |          If True, writes the evaluation metric measured set to stderr.
     |      Returns
     |      -------
     |      prediction : generator for each iteration that generates:
     |          If data is for a single object, the return value is single float formula return value
     |          otherwise one-dimensional numpy.ndarray of formula return values for each object.
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from CatBoost:
     |
     |  calc_feature_statistics(self, data, target=None, feature=None, prediction_type=None, cat_feature_values=None, plot=True, max_cat_features_on_plot=10, thread_count=-1, plot_file=None)
     |      Get statistics for the feature using the model, dataset and target.
     |      To use this function, you should install plotly.
     |
     |      The catboost model has borders for the float features used in it. The borders divide
     |      feature values into bins, and the model's prediction depends on the number of the bin where the
     |      feature value falls in.
     |
     |      For float features this function takes model's borders and computes
     |      1) Mean target value for every bin;
     |      2) Mean model prediction for every bin;
     |      3) The number of objects in dataset which fall into each bin;
     |      4) Predictions on varying feature. For every object, varies the feature value
     |      so that it falls into bin #0, bin #1, ... and counts model predictions.
     |      Then counts average prediction for each bin.
     |
     |      For categorical features (only one-hot supported) does the same, but takes feature values
     |      provided in cat_feature_values instead of borders.
     |
     |      Parameters
     |      ----------
     |      data: numpy.ndarray or pandas.DataFrame or polars.DataFrame or catboost. Pool or dict {'pool_name': pool} if you want several pools
     |          Data to compute statistics on
     |      target: numpy.ndarray or pandas.Series or polars.Series or dict {'pool_name': target} if you want several pools or None
     |          Target corresponding to data
     |          Use only if data is not catboost.Pool.
     |      feature: None, int, string, or list of int or strings
     |          Features indexes or names in pd.DataFrame for which you want to get statistics.
     |          None, if you need statistics for all features.
     |      prediction_type: str
     |          Prediction type used for counting mean_prediction: 'Class', 'Probability' or 'RawFormulaVal'.
     |          If not specified, is derived from the model.
     |      cat_feature_values: list or numpy.ndarray or pandas.Series or
     |                          dict: int or string to list or numpy.ndarray or pandas.Series
     |          Contains categorical feature values you need to get statistics on.
     |          Use dict, when parameter 'feature' is a list to specify cat values for different features.
     |          When parameter 'feature' is int or str, you can just pass list of cat values.
     |      plot: bool
     |          Plot statistics.
     |      max_cat_features_on_plot: int
     |          If categorical feature takes more than max_cat_features_on_plot different unique values,
     |          output result on several plots, not more than max_cat_features_on_plot feature values on each.
     |          Used only if plot=True or plot_file is not None.
     |      thread_count: int
     |          Number of threads to use for getting statistics.
     |      plot_file: str
     |          Output file for plot statistics.
     |
     |      Returns
     |      -------
     |      dict if parameter 'feature' is int or string, else dict of dicts:
     |          For each unique feature contain
     |          python dict with binarized feature statistics.
     |          For float feature, includes
     |                  'borders' -- borders for the specified feature in model
     |                  'binarized_feature' -- numbers of bins where feature values fall
     |                  'mean_target' -- mean value of target over each bin
     |                  'mean_prediction' -- mean value of model prediction over each bin
     |                  'objects_per_bin' -- number of objects per bin
     |                  'predictions_on_varying_feature' -- averaged over dataset predictions for
     |                  varying feature (see above)
     |          For one-hot feature, returns the same, but with 'cat_values' instead of 'borders'
     |
     |  calc_leaf_indexes(self, data, ntree_start=0, ntree_end=0, thread_count=-1, verbose=False)
     |      Returns indexes of leafs to which objects from pool are mapped by model trees.
     |
     |      Parameters
     |      ----------
     |      data : catboost.Pool or list of features or list of lists or numpy.ndarray or pandas.DataFrame or pandas.Series
     |              or polars.DataFrame or polars.Series or catboost.FeaturesData
     |          Data to apply model on.
     |          If data is a simple list (not list of lists) or a one-dimensional numpy.ndarray it is interpreted
     |          as a list of features for a single object.
     |
     |      ntree_start: int, optional (default=0)
     |          Index of first tree for which leaf indexes will be calculated (zero-based indexing).
     |
     |      ntree_end: int, optional (default=0)
     |          Index of the tree after last tree for which leaf indexes will be calculated (zero-based indexing).
     |          If value equals to 0 this parameter is ignored and ntree_end equal to tree_count_.
     |
     |      thread_count : int (default=-1)
     |          The number of threads to use when applying the model.
     |          Allows you to optimize the speed of execution. This parameter doesn't affect results.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      verbose : bool (default=False)
     |          Enable debug logging level.
     |
     |      Returns
     |      -------
     |      leaf_indexes : 2-dimensional numpy.ndarray of numpy.uint32 with shape (object count, ntree_end - ntree_start).
     |          i-th row is an array of leaf indexes for i-th object.
     |
     |  compare(self, model, data, metrics, ntree_start=0, ntree_end=0, eval_period=1, thread_count=-1, tmp_dir=None, plot_file=None, log_cout=None, log_cerr=None)
     |      Draw train and eval errors in Jupyter notebook for both models
     |
     |      Parameters
     |      ----------
     |      model: CatBoost model
     |          Another model to draw metrics
     |
     |      data : catboost.Pool
     |          Data to evaluate metrics on.
     |
     |      metrics : list of strings or catboost.metrics.BuiltinMetric
     |          List of evaluated metrics.
     |
     |      ntree_start: int, optional (default=0)
     |          Model is applied on the interval [ntree_start, ntree_end) (zero-based indexing).
     |
     |      ntree_end: int, optional (default=0)
     |          Model is applied on the interval [ntree_start, ntree_end) (zero-based indexing).
     |          If value equals to 0 this parameter is ignored and ntree_end equal to tree_count_.
     |
     |      eval_period: int, optional (default=1)
     |          Model is applied on the interval [ntree_start, ntree_end) with the step eval_period (zero-based indexing).
     |
     |      thread_count : int (default=-1)
     |          The number of threads to use when applying the model.
     |          Allows you to optimize the speed of execution. This parameter doesn't affect results.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      tmp_dir : string or os.PathLike (default=None)
     |          The name of the temporary directory for intermediate results.
     |          If None, then the name will be generated.
     |
     |      plot_file : file-like or str, optional (default=None)
     |          If not None, save eval error graphs to file
     |
     |      log_cout: output stream or callback for logging (default=None)
     |          If None is specified, sys.stdout is used
     |
     |      log_cerr: error stream or callback for logging (default=None)
     |          If None is specified, sys.stderr is used
     |
     |  create_metric_calcer(self, metrics, ntree_start=0, ntree_end=0, eval_period=1, thread_count=-1, tmp_dir=None)
     |      Create batch metric calcer. Could be used to aggregate metric on several pools
     |      Parameters
     |      ----------
     |          Same as in eval_metrics except data
     |      Returns
     |      -------
     |          BatchMetricCalcer object
     |
     |      Usage example
     |      -------
     |      # Large dataset is partitioned into parts [part1, part2]
     |      model.fit(params)
     |      batch_calcer = model.create_metric_calcer(['Logloss'])
     |      batch_calcer.add(part1)
     |      batch_calcer.add(part2)
     |      metrics = batch_calcer.eval_metrics()
     |
     |  drop_unused_features(self)
     |      Drop unused features information from model
     |
     |  eval_metrics(self, data, metrics, ntree_start=0, ntree_end=0, eval_period=1, thread_count=-1, tmp_dir=None, plot=False, plot_file=None, log_cout=None, log_cerr=None)
     |      Calculate metrics.
     |
     |      Parameters
     |      ----------
     |      data : catboost.Pool
     |          Data to evaluate metrics on.
     |
     |      metrics : list of strings or catboost.metrics.BuiltinMetric
     |          List of evaluated metrics.
     |
     |      ntree_start: int, optional (default=0)
     |          Model is applied on the interval [ntree_start, ntree_end) (zero-based indexing).
     |
     |      ntree_end: int, optional (default=0)
     |          Model is applied on the interval [ntree_start, ntree_end) (zero-based indexing).
     |          If value equals to 0 this parameter is ignored and ntree_end equal to tree_count_.
     |
     |      eval_period: int, optional (default=1)
     |          Model is applied on the interval [ntree_start, ntree_end) with the step eval_period (zero-based indexing).
     |
     |      thread_count : int (default=-1)
     |          The number of threads to use when applying the model.
     |          Allows you to optimize the speed of execution. This parameter doesn't affect results.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      tmp_dir : string or os.PathLike (default=None)
     |          The name of the temporary directory for intermediate results.
     |          If None, then the name will be generated.
     |
     |      plot : bool, optional (default=False)
     |          If True, draw train and eval error in Jupyter notebook
     |
     |      plot_file : file-like or str, optional (default=None)
     |          If not None, save train and eval error graphs to file
     |
     |      log_cout: output stream or callback for logging (default=None)
     |          If None is specified, sys.stdout is used
     |
     |      log_cerr: error stream or callback for logging (default=None)
     |          If None is specified, sys.stderr is used
     |
     |      Returns
     |      -------
     |      prediction : dict: metric -> array of shape [(ntree_end - ntree_start) / eval_period]
     |
     |  get_all_params(self)
     |      Get all params (specified by user and default params) that were set in training from CatBoost model.
     |      Full parameters documentation could be found here: https://catboost.ai/docs/concepts/python-reference_parameters-list.html
     |
     |      Returns
     |      -------
     |      result : dict
     |          Dictionary of {param_key: param_value}.
     |
     |  get_borders(self)
     |      Return map feature_index: borders for float features.
     |
     |  get_cat_feature_indices(self)
     |
     |  get_embedding_feature_indices(self)
     |
     |  get_feature_importance(self, data=None, type=<EFstrType.FeatureImportance: 2>, prettified=False, thread_count=-1, verbose=False, fstr_type=None, shap_mode='Auto', model_output='Raw', interaction_indices=None, shap_calc_type='Regular', reference_data=None, sage_n_samples=128, sage_batch_size=512, sage_detect_convergence=True, log_cout=None, log_cerr=None)
     |      Parameters
     |      ----------
     |      data :
     |          Data to get feature importance.
     |          If type in ('LossFunctionChange', 'ShapValues', 'ShapInteractionValues') data must of Pool type.
     |              For every object in this dataset feature importances will be calculated.
     |          if type == 'SageValues' data must of Pool type.
     |              For every feature in this dataset importance will be calculated.
     |          If type == 'PredictionValuesChange', data is None or a dataset of Pool type
     |              Dataset specification is needed only in case if the model does not contain leaf weight information (trained with CatBoost v < 0.9).
     |          If type == 'PredictionDiff' data must contain a matrix of feature values of shape (2, n_features).
     |              Possible types are catboost.Pool or list of lists or numpy.ndarray or pandas.DataFrame or pandas.Series
     |              or polars.DataFrame or catboost.FeaturesData or pandas.SparseDataFrame or scipy.sparse.spmatrix
     |          If type == 'FeatureImportance'
     |              See 'PredictionValuesChange' for non-ranking metrics and 'LossFunctionChange' for ranking metrics.
     |          If type == 'Interaction'
     |              This parameter is not used.
     |
     |      type : EFstrType or string (converted to EFstrType), optional
     |                  (default=EFstrType.FeatureImportance)
     |          Possible values:
     |              - PredictionValuesChange
     |                  Calculate score for every feature.
     |              - LossFunctionChange
     |                  Calculate score for every feature by loss.
     |              - FeatureImportance
     |                  PredictionValuesChange for non-ranking metrics and LossFunctionChange for ranking metrics
     |              - ShapValues
     |                  Calculate SHAP Values for every object.
     |              - ShapInteractionValues
     |                  Calculate SHAP Interaction Values between each pair of features for every object
     |              - Interaction
     |                  Calculate pairwise score between every feature.
     |              - PredictionDiff
     |                  Calculate most important features explaining difference in predictions for a pair of documents.
     |              - SageValues
     |                  Calculate SAGE value for every feature
     |
     |      prettified : bool, optional (default=False)
     |          change returned data format to the list of (feature_id, importance) pairs sorted by importance
     |
     |      thread_count : int, optional (default=-1)
     |          Number of threads.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      verbose : bool or int
     |          If False, then evaluation is not logged. If True, then each possible iteration is logged.
     |          If a positive integer, then it stands for the size of batch N. After processing each batch, print progress
     |          and remaining time.
     |
     |      fstr_type : string, deprecated, use type instead
     |
     |      shap_mode : string, optional (default="Auto")
     |          used only for ShapValues type
     |          Possible values:
     |              - "Auto"
     |                  Use direct SHAP Values calculation only if data size is smaller than average leaves number
     |                  (the best of two strategies below is chosen).
     |              - "UsePreCalc"
     |                  Calculate SHAP Values for every leaf in preprocessing. Final complexity is
     |                  O(NT(D+F))+O(TL^2 D^2) where N is the number of documents(objects), T - number of trees,
     |                  D - average tree depth, F - average number of features in tree, L - average number of leaves in tree
     |                  This is much faster (because of a smaller constant) than direct calculation when N >> L
     |              - "NoPreCalc"
     |                  Use direct SHAP Values calculation calculation with complexity O(NTLD^2). Direct algorithm
     |                  is faster when N < L (algorithm from https://arxiv.org/abs/1802.03888)
     |
     |      shap_calc_type : EShapCalcType or string, optional (default="Regular")
     |          used only for ShapValues type
     |          Possible values:
     |              - "Regular"
     |                  Calculate regular SHAP values
     |              - "Approximate"
     |                  Calculate approximate SHAP values
     |              - "Exact"
     |                  Calculate exact SHAP values
     |
     |      interaction_indices : list of int or string (feature_idx_1, feature_idx_2), optional (default=None)
     |          used only for ShapInteractionValues type
     |          Calculate SHAP Interaction Values between pair of features feature_idx_1 and feature_idx_2 for every object
     |
     |      reference_data: catboost.Pool or None
     |          Reference data for Independent Tree SHAP values from https://arxiv.org/abs/1905.04610v1
     |          if type == 'ShapValues' and reference_data is not None, then Independent Tree SHAP values are calculated
     |
     |      sage_n_samples: int, optional (default=32)
     |          Number of outer samples used in SAGE values approximation algorithm
     |      sage_batch_size: int, optional (default=min(512, number of samples in dataset))
     |          Number of samples used on each step of SAGE values approximation algorithm
     |      sage_detect_convergence: bool, optional (default=False)
     |          If set True, sage values calculation will be stopped either when sage values converge
     |          or when sage_n_samples iterations of algorithm pass
     |
     |      log_cout: output stream or callback for logging (default=None)
     |          If None is specified, sys.stdout is used
     |
     |      log_cerr: error stream or callback for logging (default=None)
     |          If None is specified, sys.stderr is used
     |
     |      Returns
     |      -------
     |      depends on type:
     |          - FeatureImportance
     |              See PredictionValuesChange for non-ranking metrics and LossFunctionChange for ranking metrics.
     |          - PredictionValuesChange, LossFunctionChange, PredictionDiff, SageValues with prettified=False (default)
     |              list of length [n_features] with feature_importance values (float) for feature
     |          - PredictionValuesChange, LossFunctionChange, PredictionDiff, SageValues with prettified=True
     |              list of length [n_features] with (feature_id (string), feature_importance (float)) pairs, sorted by feature_importance in descending order
     |          - ShapValues
     |              np.ndarray of shape (n_objects, n_features + 1) with Shap values (float) for (object, feature).
     |              In case of multiclass the returned value is np.ndarray of shape
     |              (n_objects, classes_count, n_features + 1). For each object it contains Shap values (float).
     |              Values are calculated for RawFormulaVal predictions.
     |          - ShapInteractionValues
     |              np.ndarray of shape (n_objects, n_features + 1, n_features + 1) with Shap interaction values (float) for (object, feature(i), feature(j)).
     |              In case of multiclass the returned value is np.ndarray of shape
     |              (n_objects, classes_count, n_features + 1, n_features + 1). For each object it contains Shap interaction values (float).
     |              Values are calculated for RawFormulaVal predictions.
     |          - Interaction
     |              list of length [n_features] of 3-element lists of (first_feature_index, second_feature_index, interaction_score (float))
     |
     |  get_object_importance(self, pool, train_pool, top_size=-1, type='Average', update_method='SinglePoint', importance_values_sign='All', thread_count=-1, verbose=False, ostr_type=None, log_cout=None, log_cerr=None)
     |      This is the implementation of the LeafInfluence algorithm from the following paper:
     |      https://arxiv.org/pdf/1802.06640.pdf
     |
     |      Parameters
     |      ----------
     |      pool : Pool
     |          The pool for which you want to evaluate the object importances.
     |
     |      train_pool : Pool
     |          The pool on which the model has been trained.
     |
     |      top_size : int (default=-1)
     |          Method returns the result of the top_size most important train objects.
     |          If -1, then the top size is not limited.
     |
     |      type : string, optional (default='Average')
     |          Possible values:
     |              - Average (Method returns the mean train objects scores for all input objects)
     |              - PerObject (Method returns the train objects scores for every input object)
     |
     |      importance_values_sign : string, optional (default='All')
     |          Method returns only Positive, Negative or All values.
     |          Possible values:
     |              - Positive
     |              - Negative
     |              - All
     |
     |      update_method : string, optional (default='SinglePoint')
     |          Possible values:
     |              - SinglePoint
     |              - TopKLeaves (It is posible to set top size : TopKLeaves:top=2)
     |              - AllPoints
     |          Description of the update set methods are given in section 3.1.3 of the paper.
     |
     |      thread_count : int, optional (default=-1)
     |          Number of threads.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      verbose : bool or int
     |          If False, then evaluation is not logged. If True, then each possible iteration is logged.
     |          If a positive integer, then it stands for the size of batch N. After processing each batch, print progress
     |          and remaining time.
     |
     |      ostr_type : string, deprecated, use type instead
     |
     |      log_cout: output stream or callback for logging (default=None)
     |          If None is specified, sys.stdout is used
     |
     |      log_cerr: error stream or callback for logging (default=None)
     |          If None is specified, sys.stderr is used
     |
     |      Returns
     |      -------
     |      object_importances : tuple of two arrays (indices and scores) of shape = [top_size]
     |
     |  get_param(self, key)
     |      Get param value from CatBoost model.
     |
     |      Parameters
     |      ----------
     |      key : string
     |          The key to get param value from.
     |
     |      Returns
     |      -------
     |      value :
     |          The param value of the key, returns None if param do not exist.
     |
     |  get_params(self, **_unused_kwargs)
     |      Get all params from CatBoost model.
     |
     |      Returns
     |      -------
     |      result : dict
     |          Dictionary of {param_key: param_value}.
     |
     |  get_text_feature_indices(self)
     |
     |  grid_search(self, param_grid, X, y=None, cv=3, partition_random_seed=0, calc_cv_statistics=True, search_by_train_test_split=True, refit=True, shuffle=True, stratified=None, train_size=0.8, verbose=True, plot=False, plot_file=None, log_cout=None, log_cerr=None)
     |      Exhaustive search over specified parameter values for a model.
     |      After calling this method model is fitted and can be used, if not specified otherwise (refit=False).
     |
     |      Parameters
     |      ----------
     |      param_grid: dict or list of dictionaries
     |          Dictionary with parameters names (string) as keys and lists of parameter settings
     |          to try as values, or a list of such dictionaries, in which case the grids spanned by each
     |          dictionary in the list are explored.
     |          This enables searching over any sequence of parameter settings.
     |
     |      X: numpy.ndarray or pandas.DataFrame or polars.DataFrame or catboost.Pool
     |          Data to compute statistics on
     |
     |      y: list or numpy.ndarray or pandas.DataFrame or pandas.Series or polars.DataFrame or polars.Series, optional (default=None)
     |          Labels of the training data.
     |          If not None, can be a single- or two- dimensional array with either:
     |            - numerical values - for regression (including multiregression), ranking and binary classification problems
     |            - class labels (boolean, integer or string) - for classification (including multiclassification) problems
     |          Use only if X is not catboost.Pool and does not point to a file.
     |
     |      cv: int, cross-validation generator or an iterable, optional (default=None)
     |          Determines the cross-validation splitting strategy. Possible inputs for cv are:
     |          - None, to use the default 3-fold cross validation,
     |          - integer, to specify the number of folds in a (Stratified)KFold
     |          - one of the scikit-learn splitter classes
     |              (https://scikit-learn.org/stable/modules/classes.html#splitter-classes)
     |          - An iterable yielding (train, test) splits as arrays of indices.
     |
     |      partition_random_seed: int, optional (default=0)
     |          Use this as the seed value for random permutation of the data.
     |          Permutation is performed before splitting the data for cross validation.
     |          Each seed generates unique data splits.
     |          Used only when cv is None or int.
     |
     |      search_by_train_test_split: bool, optional (default=True)
     |          If True, source dataset is splitted into train and test parts, models are trained
     |          on the train part and parameters are compared by loss function score on the test part.
     |          After that, if calc_cv_statistics=true, statistics on metrics are calculated
     |          using cross-validation using best parameters and the model is fitted with these parameters.
     |
     |          If False, every iteration of grid search evaluates results on cross-validation.
     |          It is recommended to set parameter to True for large datasets, and to False for small datasets.
     |
     |      calc_cv_statistics: bool, optional (default=True)
     |          The parameter determines whether quality should be estimated.
     |          using cross-validation with the found best parameters. Used only when search_by_train_test_split=True.
     |
     |      refit: bool (default=True)
     |          Refit an estimator using the best found parameters on the whole dataset.
     |
     |      shuffle: bool, optional (default=True)
     |          Shuffle the dataset objects before parameters searching.
     |
     |      stratified: bool, optional (default=None)
     |          Perform stratified sampling. True for classification and False otherwise.
     |          Currently supported only for final cross-validation.
     |
     |      train_size: float, optional (default=0.8)
     |          Should be between 0.0 and 1.0 and represent the proportion of the dataset to include in the train split.
     |
     |      verbose: bool or int, optional (default=True)
     |          If verbose is int, it determines the frequency of writing metrics to output
     |          verbose==True is equal to verbose==1
     |          When verbose==False, there is no messages
     |
     |      plot : bool, optional (default=False)
     |          If True, draw train and eval error for every set of parameters in Jupyter notebook
     |
     |      plot_file : file-like or str, optional (default=None)
     |          If not None, save train and eval error for every set of parameters to file
     |
     |      log_cout: output stream or callback for logging (default=None)
     |          If None is specified, sys.stdout is used
     |
     |      log_cerr: error stream or callback for logging (default=None)
     |          If None is specified, sys.stderr is used
     |
     |      Returns
     |      -------
     |      dict with two fields:
     |          'params': dict of best found parameters
     |          'cv_results': dict or pandas.core.frame.DataFrame with cross-validation results
     |              columns are: test-error-mean  test-error-std  train-error-mean  train-error-std
     |
     |  iterate_leaf_indexes(self, data, ntree_start=0, ntree_end=0)
     |      Returns indexes of leafs to which objects from pool are mapped by model trees.
     |
     |      Parameters
     |      ----------
     |      data : catboost.Pool or list of features or list of lists or numpy.ndarray or pandas.DataFrame or pandas.Series
     |              or polars.DataFrame or polars.Series or catboost.FeaturesData
     |          Data to apply model on.
     |          If data is a simple list (not list of lists) or a one-dimensional numpy.ndarray it is interpreted
     |          as a list of features for a single object.
     |
     |      ntree_start: int, optional (default=0)
     |          Index of first tree for which leaf indexes will be calculated (zero-based indexing).
     |
     |      ntree_end: int, optional (default=0)
     |          Index of the tree after last tree for which leaf indexes will be calculated (zero-based indexing).
     |          If value equals to 0 this parameter is ignored and ntree_end equal to tree_count_.
     |
     |      Returns
     |      -------
     |      leaf_indexes : generator. For each object in pool yields one-dimensional numpy.ndarray of leaf indexes.
     |
     |  load_model(self, fname=None, format='cbm', stream=None, blob=None)
     |      Load model from a file, stream or blob.
     |
     |      Parameters
     |      ----------
     |      fname : string
     |          Input file name.
     |
     |  plot_partial_dependence(self, data, features, plot=True, plot_file=None, thread_count=-1)
     |      To use this function, you should install plotly.
     |      data: numpy.ndarray or pandas.DataFrame or polars.DataFrame or catboost.Pool
     |      features: int, str, list<int>, tuple<int>, list<string>, tuple<string>
     |          Float features to calculate partial dependence for. Number of features should be 1 or 2.
     |      plot: bool
     |          Plot predictions.
     |      plot_file: str
     |          Output file for plot predictions.
     |      thread_count: int
     |          Number of threads to use. If -1 use maximum available number of threads.
     |      Returns
     |      -------
     |          If number of features is one - 1d numpy array and figure with line plot.
     |          If number of features is two - 2d numpy array and figure with 2d heatmap.
     |
     |  plot_predictions(self, data, features_to_change, plot=True, plot_file=None)
     |      To use this function, you should install plotly.
     |
     |      data: numpy.ndarray or pandas.DataFrame or polars.DataFrame or catboost.Pool
     |      features_to_change: list-like with int (for indices) or str (for names) elements
     |          Numerical features indices or names in `data` for which you want to vary prediction value.
     |      plot: bool
     |          Plot predictions.
     |      plot_file: str
     |          Output file for plot predictions.
     |      Returns
     |      -------
     |          List of list of predictions for all buckets for all samples in data
     |
     |  plot_tree(self, tree_idx, pool=None)
     |
     |  randomized_search(self, param_distributions, X, y=None, cv=3, n_iter=10, partition_random_seed=0, calc_cv_statistics=True, search_by_train_test_split=True, refit=True, shuffle=True, stratified=None, train_size=0.8, verbose=True, plot=False, plot_file=None, log_cout=None, log_cerr=None)
     |      Randomized search on hyper parameters.
     |      After calling this method model is fitted and can be used, if not specified otherwise (refit=False).
     |
     |      In contrast to grid_search, not all parameter values are tried out,
     |      but rather a fixed number of parameter settings is sampled from the specified distributions.
     |      The number of parameter settings that are tried is given by n_iter.
     |
     |      Parameters
     |      ----------
     |      param_distributions: dict
     |          Dictionary with parameters names (string) as keys and distributions or lists of parameters to try.
     |          Distributions must provide a rvs method for sampling (such as those from scipy.stats.distributions).
     |          If a list is given, it is sampled uniformly.
     |
     |      X: numpy.ndarray or pandas.DataFrame or polars.DataFrame or catboost.Pool
     |          Data to compute statistics on
     |
     |      y: list or numpy.ndarray or pandas.DataFrame or pandas.Series or polars.DataFrame or polars.Series, optional (default=None)
     |          Labels of the training data.
     |          If not None, can be a single- or two- dimensional array with either:
     |            - numerical values - for regression (including multiregression), ranking and binary classification problems
     |            - class labels (boolean, integer or string) - for classification (including multiclassification) problems
     |          Use only if X is not catboost.Pool and does not point to a file.
     |
     |      cv: int, cross-validation generator or an iterable, optional (default=None)
     |          Determines the cross-validation splitting strategy. Possible inputs for cv are:
     |          - None, to use the default 3-fold cross validation,
     |          - integer, to specify the number of folds in a (Stratified)KFold
     |          - one of the scikit-learn splitter classes
     |              (https://scikit-learn.org/stable/modules/classes.html#splitter-classes)
     |          - An iterable yielding (train, test) splits as arrays of indices.
     |
     |      n_iter: int
     |          Number of parameter settings that are sampled.
     |          n_iter trades off runtime vs quality of the solution.
     |
     |      partition_random_seed: int, optional (default=0)
     |          Use this as the seed value for random permutation of the data.
     |          Permutation is performed before splitting the data for cross validation.
     |          Each seed generates unique data splits.
     |          Used only when cv is None or int.
     |
     |      search_by_train_test_split: bool, optional (default=True)
     |          If True, source dataset is splitted into train and test parts, models are trained
     |          on the train part and parameters are compared by loss function score on the test part.
     |          After that, if calc_cv_statistics=true, statistics on metrics are calculated
     |          using cross-validation using best parameters and the model is fitted with these parameters.
     |
     |          If False, every iteration of grid search evaluates results on cross-validation.
     |          It is recommended to set parameter to True for large datasets, and to False for small datasets.
     |
     |      calc_cv_statistics: bool, optional (default=True)
     |          The parameter determines whether quality should be estimated.
     |          using cross-validation with the found best parameters. Used only when search_by_train_test_split=True.
     |
     |      refit: bool (default=True)
     |          Refit an estimator using the best found parameters on the whole dataset.
     |
     |      shuffle: bool, optional (default=True)
     |          Shuffle the dataset objects before parameters searching.
     |
     |      stratified: bool, optional (default=None)
     |          Perform stratified sampling. True for classification and False otherwise.
     |          Currently supported only for cross-validation.
     |
     |      train_size: float, optional (default=0.8)
     |          Should be between 0.0 and 1.0 and represent the proportion of the dataset to include in the train split.
     |
     |      verbose: bool or int, optional (default=True)
     |          If verbose is int, it determines the frequency of writing metrics to output
     |          verbose==True is equal to verbose==1
     |          When verbose==False, there is no messages
     |
     |      plot : bool, optional (default=False)
     |          If True, draw train and eval error for every set of parameters in Jupyter notebook
     |
     |      plot_file : file-like or str, optional (default=None)
     |          If not None, save train and eval error for every set of parameters to file
     |
     |      log_cout: output stream or callback for logging (default=None)
     |          If None is specified, sys.stdout is used
     |
     |      log_cerr: error stream or callback for logging (default=None)
     |          If None is specified, sys.stderr is used
     |
     |      Returns
     |      -------
     |      dict with two fields:
     |          'params': dict of best found parameters
     |          'cv_results': dict or pandas.core.frame.DataFrame with cross-validation results
     |              columns are: test-error-mean  test-error-std  train-error-mean  train-error-std
     |
     |  save_borders(self, fname)
     |      Save the model borders to a file.
     |
     |      Parameters
     |      ----------
     |      fname : string or os.PathLike
     |          Output file name.
     |
     |  save_model(self, fname, format='cbm', export_parameters=None, pool=None)
     |      Save the model to a file.
     |
     |      Parameters
     |      ----------
     |      fname : string
     |          Output file name.
     |      format : string
     |          Possible values:
     |              * 'cbm' for catboost binary format,
     |              * 'coreml' to export into Apple CoreML format
     |              * 'onnx' to export into ONNX-ML format
     |              * 'pmml' to export into PMML format
     |              * 'cpp' to export as C++ code
     |              * 'python' to export as Python code.
     |      export_parameters : dict
     |          Parameters for CoreML export:
     |              * prediction_type : string - either 'probability' or 'raw'
     |              * coreml_description : string
     |              * coreml_model_version : string
     |              * coreml_model_author : string
     |              * coreml_model_license: string
     |          Parameters for PMML export:
     |              * pmml_copyright : string
     |              * pmml_description : string
     |              * pmml_model_version : string
     |      pool : catboost.Pool or list or numpy.ndarray or pandas.DataFrame or pandas.Series or polars.DataFrame or catboost.FeaturesData
     |          Training pool.
     |
     |  select_features(self, X, y=None, eval_set=None, features_for_select=None, num_features_to_select=None, algorithm=None, steps=None, shap_calc_type=None, train_final_model=True, verbose=None, logging_level=None, plot=False, plot_file=None, log_cout=None, log_cerr=None, grouping=None, features_tags_for_select=None, num_features_tags_to_select=None)
     |      Select best features from pool according to loss value.
     |
     |      Parameters
     |      ----------
     |      X : catboost.Pool or list or numpy.ndarray or pandas.DataFrame or pandas.Series or polars.DataFrame
     |          If not catboost.Pool, 2 dimensional Feature matrix or string - file with dataset.
     |
     |      y : list or numpy.ndarray or pandas.DataFrame or pandas.Series or polars.DataFrame or polars.Series, optional (default=None)
     |          Labels of the training data.
     |          If not None, can be a single- or two- dimensional array with either:
     |            - numerical values - for regression (including multiregression), ranking and binary classification problems
     |            - class labels (boolean, integer or string) - for classification (including multiclassification) problems
     |          Use only if X is not catboost.Pool and does not point to a file.
     |
     |      eval_set : catboost.Pool or list of catboost.Pool or tuple (X, y) or list [(X, y)], optional (default=None)
     |          Validation dataset or datasets for metrics calculation and possibly early stopping.
     |
     |      features_for_select : str or list of feature indices, names or ranges
     |          (for grouping = Individual)
     |          Which features should participate in the selection.
     |          Format examples:
     |              - [0, 2, 3, 4, 17]
     |              - [0, "2-4", 17] (both ends in ranges are inclusive)
     |              - "0,2-4,20"
     |              - ["Name0", "Name2", "Name3", "Name4", "Name20"]
     |
     |      num_features_to_select : positive int
     |          (for grouping = Individual)
     |          How many features to select from features_for_select.
     |
     |      algorithm : EFeaturesSelectionAlgorithm or string, optional (default=RecursiveByShapValues)
     |          Which algorithm to use for features selection.
     |          Possible values:
     |              - RecursiveByPredictionValuesChange
     |                  Use prediction values change as feature strength, eliminate batch of features at once.
     |              - RecursiveByLossFunctionChange
     |                  Use loss function change as feature strength, eliminate batch of features at each step.
     |              - RecursiveByShapValues
     |                  Use shap values to estimate loss function change, eliminate features one by one.
     |
     |      steps : positive int, optional (default=1)
     |          How many steps should be performed. In other words, how many times a full model will be trained.
     |          More steps give more accurate results.
     |
     |      shap_calc_type : EShapCalcType or string, optional (default=Regular)
     |          Which method to use for calculation of shap values.
     |          Possible values:
     |              - Regular
     |                  Calculate regular SHAP values
     |              - Approximate
     |                  Calculate approximate SHAP values
     |              - Exact
     |                  Calculate exact SHAP values
     |
     |      train_final_model : bool, optional (default=True)
     |          Need to fit model with selected features.
     |
     |      verbose : bool or int
     |          If verbose is bool, then if set to True, logging_level is set to Verbose,
     |          if set to False, logging_level is set to Silent.
     |          If verbose is int, it determines the frequency of writing metrics to output and
     |          logging_level is set to Verbose.
     |
     |      logging_level : string, optional (default=None)
     |          Possible values:
     |              - 'Silent'
     |              - 'Verbose'
     |              - 'Info'
     |              - 'Debug'
     |
     |      plot : bool, optional (default=False)
     |          If True, draw train and eval error in Jupyter notebook.
     |
     |      plot_file : file-like or str, optional (default=None)
     |          If not None, save train and eval error graphs to file
     |
     |      log_cout: output stream or callback for logging (default=None)
     |          If None is specified, sys.stdout is used
     |
     |      log_cerr: error stream or callback for logging (default=None)
     |          If None is specified, sys.stderr is used
     |
     |      grouping : EFeaturesSelectionGrouping or string, optional (default=Individual)
     |          Which grouping to use for features selection.
     |          Possible values:
     |              - Individual
     |                  Select individual features
     |              - ByTags
     |                  Select feature groups (marked by tags)
     |
     |      features_tags_for_select : list of strings
     |          (for grouping = ByTags)
     |          Which features tags should participate in the selection.
     |
     |      num_features_tags_to_select : positive int
     |          (for grouping = ByTags)
     |          How many features tags to select from features_tags_for_select.
     |
     |      Returns
     |      -------
     |      dict with fields:
     |          'selected_features': list of selected features indices
     |          'eliminated_features': list of eliminated features indices
     |          'selected_features_tags': list of selected features tags (optional, present if grouping == ByTags)
     |          'eliminated_features_tags': list of selected features tags (optional, present if grouping == ByTags)
     |
     |  set_params(self, **params)
     |      Set parameters into CatBoost model.
     |
     |      Parameters
     |      ----------
     |      **params : key=value format
     |          List of key=value paris. Example: model.set_params(iterations=500, thread_count=2).
     |
     |  shrink(self, ntree_end, ntree_start=0)
     |      Shrink the model.
     |
     |      Parameters
     |      ----------
     |      ntree_end: int
     |          Leave the trees with indices from the interval [ntree_start, ntree_end) (zero-based indexing).
     |      ntree_start: int, optional (default=0)
     |          Leave the trees with indices from the interval [ntree_start, ntree_end) (zero-based indexing).
     |
     |  virtual_ensembles_predict(self, data, prediction_type='VirtEnsembles', ntree_end=0, virtual_ensembles_count=10, thread_count=-1, verbose=None)
     |      Predict with data.
     |
     |      Parameters
     |      ----------
     |      data : catboost.Pool or list of features or list of lists or numpy.ndarray or pandas.DataFrame or pandas.Series
     |               or polars.DataFrame or polars.Series or catboost.FeaturesData
     |          Data to apply model on.
     |          If data is a simple list (not list of lists) or a one-dimensional numpy.ndarray it is interpreted
     |          as a list of features for a single object.
     |
     |      prediction_type : string, optional (default='RawFormulaVal')
     |          Can be:
     |          - 'VirtEnsembles': return V (virtual_ensembles_count) predictions.
     |              k-th virtEnsemle consists of trees [0, T/2] + [T/2 + T/(2V) * k, T/2 + T/(2V) * (k + 1)]  * constant.
     |          - 'TotalUncertainty': see returned predictions format in 'Returns' part
     |
     |      ntree_end: int, optional (default=0)
     |          Model is applied on the interval [ntree_start, ntree_end) (zero-based indexing).
     |          If value equals to 0 this parameter is ignored and ntree_end equal to tree_count_.
     |
     |      virtual_ensembles_count: int, optional (default=10)
     |          virtual ensembles count for 'TotalUncertainty' and 'VirtEnsembles' prediction types.
     |
     |      thread_count : int (default=-1)
     |          The number of threads to use when applying the model.
     |          Allows you to optimize the speed of execution. This parameter doesn't affect results.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      verbose : bool, optional (default=False)
     |          If True, writes the evaluation metric measured set to stderr.
     |
     |      Returns
     |      -------
     |      prediction :
     |          (with V as virtual_ensembles_count and T as trees count,
     |          k-th virtEnsemle consists of trees [0, T/2] + [T/2 + T/(2V) * k, T/2 + T/(2V) * (k + 1)]  * constant)
     |          If data is for a single object, return 1-dimensional array of predictions with size depends on prediction type,
     |          otherwise return 2-dimensional numpy.ndarray with shape (number_of_objects x size depends on prediction type);
     |          Returned predictions depends on prediction type:
     |          If loss-function was RMSEWithUncertainty:
     |              - 'VirtEnsembles': [mean0, var0, mean1, var1, ..., vark-1].
     |              - 'TotalUncertainty': [mean_predict, KnowledgeUnc, DataUnc].
     |          otherwise for regression:
     |              - 'VirtEnsembles':  [mean0, mean1, ...].
     |              - 'TotalUncertainty': [mean_predicts, KnowledgeUnc].
     |          otherwise for binary classification:
     |              - 'VirtEnsembles':  [ApproxRawFormulaVal0, ApproxRawFormulaVal1, ..., ApproxRawFormulaValk-1].
     |              - 'TotalUncertainty':  [DataUnc, TotalUnc].
     |
     |  ----------------------------------------------------------------------
     |  Readonly properties inherited from CatBoost:
     |
     |  feature_importances_
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from _CatBoostBase:
     |
     |  __copy__(self)
     |
     |  __deepcopy__(self, _)
     |
     |  __eq__(self, other)
     |      Return self==value.
     |
     |  __getstate__(self)
     |      Helper for pickle.
     |
     |  __ne__(self, other)
     |      Return self!=value.
     |
     |  __repr__(self) -> str
     |      Return repr(self).
     |
     |  __setstate__(self, state)
     |
     |  __sklearn_tags__(self)
     |
     |  copy(self)
     |
     |  get_best_iteration(self)
     |
     |  get_best_score(self)
     |
     |  get_evals_result(self)
     |
     |  get_leaf_values(self)
     |      Returns
     |      -------
     |      leaf_values : 1d-array of leaf values for all trees.
     |      Value corresponding to j-th leaf of i-th tree is at position
     |      sum(get_tree_leaf_counts()[:i]) + j (leaf and tree indexing starts from zero).
     |
     |  get_leaf_weights(self)
     |      Returns
     |      -------
     |      leaf_weights : 1d-array of leaf weights for all trees.
     |      Weight of j-th leaf of i-th tree is at position
     |      sum(get_tree_leaf_counts()[:i]) + j (leaf and tree indexing starts from zero).
     |
     |  get_metadata(self)
     |
     |  get_n_features_in(self)
     |
     |  get_scale_and_bias(self)
     |
     |  get_test_eval(self)
     |
     |  get_test_evals(self)
     |
     |  get_tree_leaf_counts(self)
     |      Returns
     |      -------
     |      tree_leaf_counts : 1d-array of numpy.uint32 of size tree_count_.
     |      tree_leaf_counts[i] equals to the number of leafs in i-th tree of the ensemble.
     |
     |  is_fitted(self)
     |
     |  set_feature_names(self, feature_names)
     |      Sets feature names equal to feature_names
     |
     |      Parameters
     |      ----------
     |      feature_names: 1-d array of strings with new feature names in the same order as in pool
     |
     |  set_leaf_values(self, new_leaf_values)
     |      Sets values at tree leafs of ensemble equal to new_leaf_values.
     |
     |      Parameters
     |      ----------
     |      new_leaf_values : 1d-array with new leaf values for all trees.
     |      It's size should be equal to sum(get_tree_leaf_counts()).
     |      Value corresponding to j-th leaf of i-th tree should be at position
     |      sum(get_tree_leaf_counts()[:i]) + j (leaf and tree indexing starts from zero).
     |
     |  set_scale_and_bias(self, scale, bias)
     |
     |  ----------------------------------------------------------------------
     |  Static methods inherited from _CatBoostBase:
     |
     |  get_sklearn_estimator_xfail_checks(estimator: '_CatBoostBase') -> Dict[str, str]
     |      To pass to:
     |          For scikit-learn >= 1.6:
     |              to 'expected_failed_checks' parameter in sklearn.utils.estimator_checks.parametrize_with_checks
     |          For scikit-learn < 1.6:
     |              to '_xfail_checks' field returned by '_CatBoostBase._get_tags'.
     |
     |      This method is made static to be able to pass it to sklearn.utils.estimator_checks.parametrize_with_checks
     |
     |  ----------------------------------------------------------------------
     |  Readonly properties inherited from _CatBoostBase:
     |
     |  best_iteration_
     |
     |  best_score_
     |
     |  classes_
     |
     |  evals_result_
     |
     |  feature_names_
     |
     |  learning_rate_
     |
     |  n_features_in_
     |
     |  random_seed_
     |
     |  tree_count_
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from _CatBoostBase:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object
     |
     |  ----------------------------------------------------------------------
     |  Data and other attributes inherited from _CatBoostBase:
     |
     |  __hash__ = None

    class CatBoostRegressor(CatBoost)
     |  CatBoostRegressor(iterations=None, learning_rate=None, depth=None, l2_leaf_reg=None, model_size_reg=None, rsm=None, loss_function='RMSE', border_count=None, feature_border_type=None, per_float_feature_quantization=None, input_borders=None, output_borders=None, fold_permutation_block=None, od_pval=None, od_wait=None, od_type=None, nan_mode=None, counter_calc_method=None, leaf_estimation_iterations=None, leaf_estimation_method=None, thread_count=None, random_seed=None, use_best_model=None, best_model_min_trees=None, verbose=None, silent=None, logging_level=None, metric_period=None, ctr_leaf_count_limit=None, store_all_simple_ctr=None, max_ctr_complexity=None, has_time=None, allow_const_label=None, target_border=None, one_hot_max_size=None, random_strength=None, random_score_type=None, name=None, ignored_features=None, train_dir=None, custom_metric=None, eval_metric=None, bagging_temperature=None, save_snapshot=None, snapshot_file=None, snapshot_interval=None, fold_len_multiplier=None, used_ram_limit=None, gpu_ram_part=None, pinned_memory_size=None, allow_writing_files=None, final_ctr_computation_mode=None, approx_on_full_history=None, boosting_type=None, simple_ctr=None, combinations_ctr=None, per_feature_ctr=None, ctr_description=None, ctr_target_border_count=None, task_type=None, device_config=None, devices=None, bootstrap_type=None, subsample=None, mvs_reg=None, sampling_frequency=None, sampling_unit=None, dev_score_calc_obj_block_size=None, dev_efb_max_buckets=None, sparse_features_conflict_fraction=None, max_depth=None, n_estimators=None, num_boost_round=None, num_trees=None, colsample_bylevel=None, random_state=None, reg_lambda=None, objective=None, eta=None, max_bin=None, gpu_cat_features_storage=None, data_partition=None, metadata=None, early_stopping_rounds=None, cat_features=None, grow_policy=None, min_data_in_leaf=None, min_child_samples=None, max_leaves=None, num_leaves=None, score_function=None, leaf_estimation_backtracking=None, ctr_history_unit=None, monotone_constraints=None, feature_weights=None, penalties_coefficient=None, first_feature_use_penalties=None, per_object_feature_penalties=None, model_shrink_rate=None, model_shrink_mode=None, langevin=None, diffusion_temperature=None, posterior_sampling=None, boost_from_average=None, text_features=None, tokenizers=None, dictionaries=None, feature_calcers=None, text_processing=None, embedding_features=None, eval_fraction=None, fixed_binary_splits=None)
     |
     |  Implementation of the scikit-learn API for CatBoost regression.
     |
     |  Parameters
     |  ----------
     |  Like in CatBoostClassifier, except loss_function, classes_count, class_names and class_weights
     |
     |  loss_function : string, [default='RMSE']
     |      'RMSE'
     |      'MAE'
     |      'Quantile:alpha=value'
     |      'LogLinQuantile:alpha=value'
     |      'Poisson'
     |      'MAPE'
     |      'Lq:q=value'
     |      'SurvivalAft:dist=value;scale=value'
     |
     |  Method resolution order:
     |      CatBoostRegressor
     |      CatBoost
     |      _CatBoostBase
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __init__(self, iterations=None, learning_rate=None, depth=None, l2_leaf_reg=None, model_size_reg=None, rsm=None, loss_function='RMSE', border_count=None, feature_border_type=None, per_float_feature_quantization=None, input_borders=None, output_borders=None, fold_permutation_block=None, od_pval=None, od_wait=None, od_type=None, nan_mode=None, counter_calc_method=None, leaf_estimation_iterations=None, leaf_estimation_method=None, thread_count=None, random_seed=None, use_best_model=None, best_model_min_trees=None, verbose=None, silent=None, logging_level=None, metric_period=None, ctr_leaf_count_limit=None, store_all_simple_ctr=None, max_ctr_complexity=None, has_time=None, allow_const_label=None, target_border=None, one_hot_max_size=None, random_strength=None, random_score_type=None, name=None, ignored_features=None, train_dir=None, custom_metric=None, eval_metric=None, bagging_temperature=None, save_snapshot=None, snapshot_file=None, snapshot_interval=None, fold_len_multiplier=None, used_ram_limit=None, gpu_ram_part=None, pinned_memory_size=None, allow_writing_files=None, final_ctr_computation_mode=None, approx_on_full_history=None, boosting_type=None, simple_ctr=None, combinations_ctr=None, per_feature_ctr=None, ctr_description=None, ctr_target_border_count=None, task_type=None, device_config=None, devices=None, bootstrap_type=None, subsample=None, mvs_reg=None, sampling_frequency=None, sampling_unit=None, dev_score_calc_obj_block_size=None, dev_efb_max_buckets=None, sparse_features_conflict_fraction=None, max_depth=None, n_estimators=None, num_boost_round=None, num_trees=None, colsample_bylevel=None, random_state=None, reg_lambda=None, objective=None, eta=None, max_bin=None, gpu_cat_features_storage=None, data_partition=None, metadata=None, early_stopping_rounds=None, cat_features=None, grow_policy=None, min_data_in_leaf=None, min_child_samples=None, max_leaves=None, num_leaves=None, score_function=None, leaf_estimation_backtracking=None, ctr_history_unit=None, monotone_constraints=None, feature_weights=None, penalties_coefficient=None, first_feature_use_penalties=None, per_object_feature_penalties=None, model_shrink_rate=None, model_shrink_mode=None, langevin=None, diffusion_temperature=None, posterior_sampling=None, boost_from_average=None, text_features=None, tokenizers=None, dictionaries=None, feature_calcers=None, text_processing=None, embedding_features=None, eval_fraction=None, fixed_binary_splits=None)
     |      Initialize the CatBoost.
     |
     |      Parameters
     |      ----------
     |      params : dict
     |          Parameters for CatBoost.
     |          If  None, all params are set to their defaults.
     |          If  dict, overriding parameters present in dict.
     |
     |  fit(self, X, y=None, cat_features=None, text_features=None, embedding_features=None, graph=None, sample_weight=None, baseline=None, use_best_model=None, eval_set=None, verbose=None, logging_level=None, plot=False, plot_file=None, column_description=None, verbose_eval=None, metric_period=None, silent=None, early_stopping_rounds=None, save_snapshot=None, snapshot_file=None, snapshot_interval=None, init_model=None, callbacks=None, log_cout=None, log_cerr=None)
     |      Fit the CatBoost model.
     |
     |      Parameters
     |      ----------
     |      X : catboost.Pool or list or numpy.ndarray or pandas.DataFrame or pandas.Series or polars.DataFrame
     |          If not catboost.Pool, 2 dimensional Feature matrix or string - file with dataset.
     |
     |      y : list or numpy.ndarray or pandas.DataFrame or pandas.Series or polars.DataFrame or polars.Series, optional (default=None)
     |          Labels of the training data.
     |          If not None, can be a single- or two- dimensional array with numerical values.
     |          Use only if X is not catboost.Pool and does not point to a file.
     |
     |      cat_features : list or numpy.ndarray, optional (default=None)
     |          If not None, giving the list of Categ columns indices.
     |          Use only if X is not catboost.Pool.
     |
     |      text_features : list or numpy.ndarray, optional (default=None)
     |          If not None, giving the list of Text columns indices.
     |          Use only if X is not catboost.Pool.
     |
     |      embedding_features : list or numpy.ndarray, optional (default=None)
     |          If not None, giving the list of Embedding columns indices.
     |          Use only if X is not catboost.Pool.
     |
     |      graph : list or numpy.ndarray or pandas.DataFrame or polars.DataFrame
     |          The graph edges list description.
     |          If list or numpy.ndarrays or pandas.DataFrame or polars.DataFrame, giving 2 dimensional.
     |
     |      sample_weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series or polars.Series, optional (default=None)
     |          Instance weights, 1 dimensional array like.
     |
     |      baseline : list or numpy.ndarray or polars.DataFrame or polars.Series, optional (default=None)
     |          If not None, giving 2 dimensional array like data.
     |          Use only if X is not catboost.Pool.
     |
     |      use_best_model : bool, optional (default=None)
     |          Flag to use best model
     |
     |      eval_set : catboost.Pool or list of catboost.Pool or tuple (X, y) or list [(X, y)], optional (default=None)
     |          Validation dataset or datasets for metrics calculation and possibly early stopping.
     |
     |      metric_period : int
     |          Frequency of evaluating metrics.
     |
     |      verbose : bool or int
     |          If verbose is bool, then if set to True, logging_level is set to Verbose,
     |          if set to False, logging_level is set to Silent.
     |          If verbose is int, it determines the frequency of writing metrics to output and
     |          logging_level is set to Verbose.
     |
     |      silent : bool
     |          If silent is True, logging_level is set to Silent.
     |          If silent is False, logging_level is set to Verbose.
     |
     |      logging_level : string, optional (default=None)
     |          Possible values:
     |              - 'Silent'
     |              - 'Verbose'
     |              - 'Info'
     |              - 'Debug'
     |
     |      plot : bool, optional (default=False)
     |          If True, draw train and eval error in Jupyter notebook
     |
     |      plot_file : file-like or str, optional (default=None)
     |          If not None, save train and eval error graphs to file (requires installed plotly)
     |
     |      verbose_eval : bool or int
     |          Synonym for verbose. Only one of these parameters should be set.
     |
     |      early_stopping_rounds : int
     |          Activates Iter overfitting detector with od_wait set to early_stopping_rounds.
     |
     |      save_snapshot : bool, [default=None]
     |          Enable progress snapshotting for restoring progress after crashes or interruptions
     |
     |      snapshot_file : string or os.PathLike, [default=None]
     |          Learn progress snapshot file path, if None will use default filename
     |
     |      snapshot_interval: int, [default=600]
     |          Interval between saving snapshots (seconds)
     |
     |      init_model : CatBoost class or string or os.PathLike, [default=None]
     |          Continue training starting from the existing model.
     |          If this parameter is a string or os.PathLike, load initial model from the path specified by this string.
     |
     |      callbacks : list, optional (default=None)
     |          List of callback objects that are applied at end of each iteration.
     |
     |      log_cout: output stream or callback for logging (default=None)
     |          If None is specified, sys.stdout is used
     |
     |      log_cerr: error stream or callback for logging (default=None)
     |          If None is specified, sys.stderr is used
     |
     |      Returns
     |      -------
     |      model : CatBoost
     |
     |  predict(self, data, prediction_type=None, ntree_start=0, ntree_end=0, thread_count=-1, verbose=None, task_type='CPU')
     |      Predict with data.
     |
     |      Parameters
     |      ----------
     |      data : catboost.Pool or list of features or list of lists or numpy.ndarray or pandas.DataFrame or pandas.Series
     |              or polars.DataFrame or polars.Series or catboost.FeaturesData
     |          Data to apply model on.
     |          If data is a simple list (not list of lists) or a one-dimensional numpy.ndarray it is interpreted
     |          as a list of features for a single object.
     |
     |      prediction_type : string, optional (default='RawFormulaVal')
     |          Can be:
     |          - 'RawFormulaVal' : return raw formula value.
     |          - 'Exponent' : return Exponent of raw formula value.
     |
     |      ntree_start: int, optional (default=0)
     |          Model is applied on the interval [ntree_start, ntree_end) (zero-based indexing).
     |
     |      ntree_end: int, optional (default=0)
     |          Model is applied on the interval [ntree_start, ntree_end) (zero-based indexing).
     |          If value equals to 0 this parameter is ignored and ntree_end equal to tree_count_.
     |
     |      thread_count : int (default=-1)
     |          The number of threads to use when applying the model.
     |          Allows you to optimize the speed of execution. This parameter doesn't affect results.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      verbose : bool
     |          If True, writes the evaluation metric measured set to stderr.
     |
     |      task_type : string, [default=None]
     |          The evaluator type.
     |          Possible values:
     |              - 'CPU'
     |              - 'GPU' (models with only numerical features are supported for now)
     |
     |      Returns
     |      -------
     |      prediction :
     |          If data is for a single object, the return value is single float formula return value
     |          otherwise one-dimensional numpy.ndarray of formula return values for each object.
     |
     |  score(self, X, y=None)
     |      Calculate R^2.
     |
     |      Parameters
     |      ----------
     |      X : catboost.Pool or list or numpy.ndarray or pandas.DataFrame or pandas.Series or polars.DataFrame
     |          Data to apply model on.
     |      y : list or numpy.ndarray or polars.Series
     |          True labels.
     |
     |      Returns
     |      -------
     |      R^2 : float
     |
     |  staged_predict(self, data, prediction_type='RawFormulaVal', ntree_start=0, ntree_end=0, eval_period=1, thread_count=-1, verbose=None)
     |      Predict target at each stage for data.
     |
     |      Parameters
     |      ----------
     |      data : catboost.Pool or list of features or list of lists or numpy.ndarray or pandas.DataFrame or pandas.Series
     |              or polars.DataFrame or polars.Series or catboost.FeaturesData
     |          Data to apply model on.
     |          If data is a simple list (not list of lists) or a one-dimensional numpy.ndarray it is interpreted
     |          as a list of features for a single object.
     |
     |      ntree_start: int, optional (default=0)
     |          Model is applied on the interval [ntree_start, ntree_end) with the step eval_period (zero-based indexing).
     |
     |      ntree_end: int, optional (default=0)
     |          Model is applied on the interval [ntree_start, ntree_end) with the step eval_period (zero-based indexing).
     |          If value equals to 0 this parameter is ignored and ntree_end equal to tree_count_.
     |
     |      eval_period: int, optional (default=1)
     |          Model is applied on the interval [ntree_start, ntree_end) with the step eval_period (zero-based indexing).
     |
     |      thread_count : int (default=-1)
     |          The number of threads to use when applying the model.
     |          Allows you to optimize the speed of execution. This parameter doesn't affect results.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      verbose : bool
     |          If True, writes the evaluation metric measured set to stderr.
     |
     |      Returns
     |      -------
     |      prediction : generator for each iteration that generates:
     |          If data is for a single object, the return value is single float formula return value
     |          otherwise one-dimensional numpy.ndarray of formula return values for each object.
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from CatBoost:
     |
     |  calc_feature_statistics(self, data, target=None, feature=None, prediction_type=None, cat_feature_values=None, plot=True, max_cat_features_on_plot=10, thread_count=-1, plot_file=None)
     |      Get statistics for the feature using the model, dataset and target.
     |      To use this function, you should install plotly.
     |
     |      The catboost model has borders for the float features used in it. The borders divide
     |      feature values into bins, and the model's prediction depends on the number of the bin where the
     |      feature value falls in.
     |
     |      For float features this function takes model's borders and computes
     |      1) Mean target value for every bin;
     |      2) Mean model prediction for every bin;
     |      3) The number of objects in dataset which fall into each bin;
     |      4) Predictions on varying feature. For every object, varies the feature value
     |      so that it falls into bin #0, bin #1, ... and counts model predictions.
     |      Then counts average prediction for each bin.
     |
     |      For categorical features (only one-hot supported) does the same, but takes feature values
     |      provided in cat_feature_values instead of borders.
     |
     |      Parameters
     |      ----------
     |      data: numpy.ndarray or pandas.DataFrame or polars.DataFrame or catboost. Pool or dict {'pool_name': pool} if you want several pools
     |          Data to compute statistics on
     |      target: numpy.ndarray or pandas.Series or polars.Series or dict {'pool_name': target} if you want several pools or None
     |          Target corresponding to data
     |          Use only if data is not catboost.Pool.
     |      feature: None, int, string, or list of int or strings
     |          Features indexes or names in pd.DataFrame for which you want to get statistics.
     |          None, if you need statistics for all features.
     |      prediction_type: str
     |          Prediction type used for counting mean_prediction: 'Class', 'Probability' or 'RawFormulaVal'.
     |          If not specified, is derived from the model.
     |      cat_feature_values: list or numpy.ndarray or pandas.Series or
     |                          dict: int or string to list or numpy.ndarray or pandas.Series
     |          Contains categorical feature values you need to get statistics on.
     |          Use dict, when parameter 'feature' is a list to specify cat values for different features.
     |          When parameter 'feature' is int or str, you can just pass list of cat values.
     |      plot: bool
     |          Plot statistics.
     |      max_cat_features_on_plot: int
     |          If categorical feature takes more than max_cat_features_on_plot different unique values,
     |          output result on several plots, not more than max_cat_features_on_plot feature values on each.
     |          Used only if plot=True or plot_file is not None.
     |      thread_count: int
     |          Number of threads to use for getting statistics.
     |      plot_file: str
     |          Output file for plot statistics.
     |
     |      Returns
     |      -------
     |      dict if parameter 'feature' is int or string, else dict of dicts:
     |          For each unique feature contain
     |          python dict with binarized feature statistics.
     |          For float feature, includes
     |                  'borders' -- borders for the specified feature in model
     |                  'binarized_feature' -- numbers of bins where feature values fall
     |                  'mean_target' -- mean value of target over each bin
     |                  'mean_prediction' -- mean value of model prediction over each bin
     |                  'objects_per_bin' -- number of objects per bin
     |                  'predictions_on_varying_feature' -- averaged over dataset predictions for
     |                  varying feature (see above)
     |          For one-hot feature, returns the same, but with 'cat_values' instead of 'borders'
     |
     |  calc_leaf_indexes(self, data, ntree_start=0, ntree_end=0, thread_count=-1, verbose=False)
     |      Returns indexes of leafs to which objects from pool are mapped by model trees.
     |
     |      Parameters
     |      ----------
     |      data : catboost.Pool or list of features or list of lists or numpy.ndarray or pandas.DataFrame or pandas.Series
     |              or polars.DataFrame or polars.Series or catboost.FeaturesData
     |          Data to apply model on.
     |          If data is a simple list (not list of lists) or a one-dimensional numpy.ndarray it is interpreted
     |          as a list of features for a single object.
     |
     |      ntree_start: int, optional (default=0)
     |          Index of first tree for which leaf indexes will be calculated (zero-based indexing).
     |
     |      ntree_end: int, optional (default=0)
     |          Index of the tree after last tree for which leaf indexes will be calculated (zero-based indexing).
     |          If value equals to 0 this parameter is ignored and ntree_end equal to tree_count_.
     |
     |      thread_count : int (default=-1)
     |          The number of threads to use when applying the model.
     |          Allows you to optimize the speed of execution. This parameter doesn't affect results.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      verbose : bool (default=False)
     |          Enable debug logging level.
     |
     |      Returns
     |      -------
     |      leaf_indexes : 2-dimensional numpy.ndarray of numpy.uint32 with shape (object count, ntree_end - ntree_start).
     |          i-th row is an array of leaf indexes for i-th object.
     |
     |  compare(self, model, data, metrics, ntree_start=0, ntree_end=0, eval_period=1, thread_count=-1, tmp_dir=None, plot_file=None, log_cout=None, log_cerr=None)
     |      Draw train and eval errors in Jupyter notebook for both models
     |
     |      Parameters
     |      ----------
     |      model: CatBoost model
     |          Another model to draw metrics
     |
     |      data : catboost.Pool
     |          Data to evaluate metrics on.
     |
     |      metrics : list of strings or catboost.metrics.BuiltinMetric
     |          List of evaluated metrics.
     |
     |      ntree_start: int, optional (default=0)
     |          Model is applied on the interval [ntree_start, ntree_end) (zero-based indexing).
     |
     |      ntree_end: int, optional (default=0)
     |          Model is applied on the interval [ntree_start, ntree_end) (zero-based indexing).
     |          If value equals to 0 this parameter is ignored and ntree_end equal to tree_count_.
     |
     |      eval_period: int, optional (default=1)
     |          Model is applied on the interval [ntree_start, ntree_end) with the step eval_period (zero-based indexing).
     |
     |      thread_count : int (default=-1)
     |          The number of threads to use when applying the model.
     |          Allows you to optimize the speed of execution. This parameter doesn't affect results.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      tmp_dir : string or os.PathLike (default=None)
     |          The name of the temporary directory for intermediate results.
     |          If None, then the name will be generated.
     |
     |      plot_file : file-like or str, optional (default=None)
     |          If not None, save eval error graphs to file
     |
     |      log_cout: output stream or callback for logging (default=None)
     |          If None is specified, sys.stdout is used
     |
     |      log_cerr: error stream or callback for logging (default=None)
     |          If None is specified, sys.stderr is used
     |
     |  create_metric_calcer(self, metrics, ntree_start=0, ntree_end=0, eval_period=1, thread_count=-1, tmp_dir=None)
     |      Create batch metric calcer. Could be used to aggregate metric on several pools
     |      Parameters
     |      ----------
     |          Same as in eval_metrics except data
     |      Returns
     |      -------
     |          BatchMetricCalcer object
     |
     |      Usage example
     |      -------
     |      # Large dataset is partitioned into parts [part1, part2]
     |      model.fit(params)
     |      batch_calcer = model.create_metric_calcer(['Logloss'])
     |      batch_calcer.add(part1)
     |      batch_calcer.add(part2)
     |      metrics = batch_calcer.eval_metrics()
     |
     |  drop_unused_features(self)
     |      Drop unused features information from model
     |
     |  eval_metrics(self, data, metrics, ntree_start=0, ntree_end=0, eval_period=1, thread_count=-1, tmp_dir=None, plot=False, plot_file=None, log_cout=None, log_cerr=None)
     |      Calculate metrics.
     |
     |      Parameters
     |      ----------
     |      data : catboost.Pool
     |          Data to evaluate metrics on.
     |
     |      metrics : list of strings or catboost.metrics.BuiltinMetric
     |          List of evaluated metrics.
     |
     |      ntree_start: int, optional (default=0)
     |          Model is applied on the interval [ntree_start, ntree_end) (zero-based indexing).
     |
     |      ntree_end: int, optional (default=0)
     |          Model is applied on the interval [ntree_start, ntree_end) (zero-based indexing).
     |          If value equals to 0 this parameter is ignored and ntree_end equal to tree_count_.
     |
     |      eval_period: int, optional (default=1)
     |          Model is applied on the interval [ntree_start, ntree_end) with the step eval_period (zero-based indexing).
     |
     |      thread_count : int (default=-1)
     |          The number of threads to use when applying the model.
     |          Allows you to optimize the speed of execution. This parameter doesn't affect results.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      tmp_dir : string or os.PathLike (default=None)
     |          The name of the temporary directory for intermediate results.
     |          If None, then the name will be generated.
     |
     |      plot : bool, optional (default=False)
     |          If True, draw train and eval error in Jupyter notebook
     |
     |      plot_file : file-like or str, optional (default=None)
     |          If not None, save train and eval error graphs to file
     |
     |      log_cout: output stream or callback for logging (default=None)
     |          If None is specified, sys.stdout is used
     |
     |      log_cerr: error stream or callback for logging (default=None)
     |          If None is specified, sys.stderr is used
     |
     |      Returns
     |      -------
     |      prediction : dict: metric -> array of shape [(ntree_end - ntree_start) / eval_period]
     |
     |  get_all_params(self)
     |      Get all params (specified by user and default params) that were set in training from CatBoost model.
     |      Full parameters documentation could be found here: https://catboost.ai/docs/concepts/python-reference_parameters-list.html
     |
     |      Returns
     |      -------
     |      result : dict
     |          Dictionary of {param_key: param_value}.
     |
     |  get_borders(self)
     |      Return map feature_index: borders for float features.
     |
     |  get_cat_feature_indices(self)
     |
     |  get_embedding_feature_indices(self)
     |
     |  get_feature_importance(self, data=None, type=<EFstrType.FeatureImportance: 2>, prettified=False, thread_count=-1, verbose=False, fstr_type=None, shap_mode='Auto', model_output='Raw', interaction_indices=None, shap_calc_type='Regular', reference_data=None, sage_n_samples=128, sage_batch_size=512, sage_detect_convergence=True, log_cout=None, log_cerr=None)
     |      Parameters
     |      ----------
     |      data :
     |          Data to get feature importance.
     |          If type in ('LossFunctionChange', 'ShapValues', 'ShapInteractionValues') data must of Pool type.
     |              For every object in this dataset feature importances will be calculated.
     |          if type == 'SageValues' data must of Pool type.
     |              For every feature in this dataset importance will be calculated.
     |          If type == 'PredictionValuesChange', data is None or a dataset of Pool type
     |              Dataset specification is needed only in case if the model does not contain leaf weight information (trained with CatBoost v < 0.9).
     |          If type == 'PredictionDiff' data must contain a matrix of feature values of shape (2, n_features).
     |              Possible types are catboost.Pool or list of lists or numpy.ndarray or pandas.DataFrame or pandas.Series
     |              or polars.DataFrame or catboost.FeaturesData or pandas.SparseDataFrame or scipy.sparse.spmatrix
     |          If type == 'FeatureImportance'
     |              See 'PredictionValuesChange' for non-ranking metrics and 'LossFunctionChange' for ranking metrics.
     |          If type == 'Interaction'
     |              This parameter is not used.
     |
     |      type : EFstrType or string (converted to EFstrType), optional
     |                  (default=EFstrType.FeatureImportance)
     |          Possible values:
     |              - PredictionValuesChange
     |                  Calculate score for every feature.
     |              - LossFunctionChange
     |                  Calculate score for every feature by loss.
     |              - FeatureImportance
     |                  PredictionValuesChange for non-ranking metrics and LossFunctionChange for ranking metrics
     |              - ShapValues
     |                  Calculate SHAP Values for every object.
     |              - ShapInteractionValues
     |                  Calculate SHAP Interaction Values between each pair of features for every object
     |              - Interaction
     |                  Calculate pairwise score between every feature.
     |              - PredictionDiff
     |                  Calculate most important features explaining difference in predictions for a pair of documents.
     |              - SageValues
     |                  Calculate SAGE value for every feature
     |
     |      prettified : bool, optional (default=False)
     |          change returned data format to the list of (feature_id, importance) pairs sorted by importance
     |
     |      thread_count : int, optional (default=-1)
     |          Number of threads.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      verbose : bool or int
     |          If False, then evaluation is not logged. If True, then each possible iteration is logged.
     |          If a positive integer, then it stands for the size of batch N. After processing each batch, print progress
     |          and remaining time.
     |
     |      fstr_type : string, deprecated, use type instead
     |
     |      shap_mode : string, optional (default="Auto")
     |          used only for ShapValues type
     |          Possible values:
     |              - "Auto"
     |                  Use direct SHAP Values calculation only if data size is smaller than average leaves number
     |                  (the best of two strategies below is chosen).
     |              - "UsePreCalc"
     |                  Calculate SHAP Values for every leaf in preprocessing. Final complexity is
     |                  O(NT(D+F))+O(TL^2 D^2) where N is the number of documents(objects), T - number of trees,
     |                  D - average tree depth, F - average number of features in tree, L - average number of leaves in tree
     |                  This is much faster (because of a smaller constant) than direct calculation when N >> L
     |              - "NoPreCalc"
     |                  Use direct SHAP Values calculation calculation with complexity O(NTLD^2). Direct algorithm
     |                  is faster when N < L (algorithm from https://arxiv.org/abs/1802.03888)
     |
     |      shap_calc_type : EShapCalcType or string, optional (default="Regular")
     |          used only for ShapValues type
     |          Possible values:
     |              - "Regular"
     |                  Calculate regular SHAP values
     |              - "Approximate"
     |                  Calculate approximate SHAP values
     |              - "Exact"
     |                  Calculate exact SHAP values
     |
     |      interaction_indices : list of int or string (feature_idx_1, feature_idx_2), optional (default=None)
     |          used only for ShapInteractionValues type
     |          Calculate SHAP Interaction Values between pair of features feature_idx_1 and feature_idx_2 for every object
     |
     |      reference_data: catboost.Pool or None
     |          Reference data for Independent Tree SHAP values from https://arxiv.org/abs/1905.04610v1
     |          if type == 'ShapValues' and reference_data is not None, then Independent Tree SHAP values are calculated
     |
     |      sage_n_samples: int, optional (default=32)
     |          Number of outer samples used in SAGE values approximation algorithm
     |      sage_batch_size: int, optional (default=min(512, number of samples in dataset))
     |          Number of samples used on each step of SAGE values approximation algorithm
     |      sage_detect_convergence: bool, optional (default=False)
     |          If set True, sage values calculation will be stopped either when sage values converge
     |          or when sage_n_samples iterations of algorithm pass
     |
     |      log_cout: output stream or callback for logging (default=None)
     |          If None is specified, sys.stdout is used
     |
     |      log_cerr: error stream or callback for logging (default=None)
     |          If None is specified, sys.stderr is used
     |
     |      Returns
     |      -------
     |      depends on type:
     |          - FeatureImportance
     |              See PredictionValuesChange for non-ranking metrics and LossFunctionChange for ranking metrics.
     |          - PredictionValuesChange, LossFunctionChange, PredictionDiff, SageValues with prettified=False (default)
     |              list of length [n_features] with feature_importance values (float) for feature
     |          - PredictionValuesChange, LossFunctionChange, PredictionDiff, SageValues with prettified=True
     |              list of length [n_features] with (feature_id (string), feature_importance (float)) pairs, sorted by feature_importance in descending order
     |          - ShapValues
     |              np.ndarray of shape (n_objects, n_features + 1) with Shap values (float) for (object, feature).
     |              In case of multiclass the returned value is np.ndarray of shape
     |              (n_objects, classes_count, n_features + 1). For each object it contains Shap values (float).
     |              Values are calculated for RawFormulaVal predictions.
     |          - ShapInteractionValues
     |              np.ndarray of shape (n_objects, n_features + 1, n_features + 1) with Shap interaction values (float) for (object, feature(i), feature(j)).
     |              In case of multiclass the returned value is np.ndarray of shape
     |              (n_objects, classes_count, n_features + 1, n_features + 1). For each object it contains Shap interaction values (float).
     |              Values are calculated for RawFormulaVal predictions.
     |          - Interaction
     |              list of length [n_features] of 3-element lists of (first_feature_index, second_feature_index, interaction_score (float))
     |
     |  get_object_importance(self, pool, train_pool, top_size=-1, type='Average', update_method='SinglePoint', importance_values_sign='All', thread_count=-1, verbose=False, ostr_type=None, log_cout=None, log_cerr=None)
     |      This is the implementation of the LeafInfluence algorithm from the following paper:
     |      https://arxiv.org/pdf/1802.06640.pdf
     |
     |      Parameters
     |      ----------
     |      pool : Pool
     |          The pool for which you want to evaluate the object importances.
     |
     |      train_pool : Pool
     |          The pool on which the model has been trained.
     |
     |      top_size : int (default=-1)
     |          Method returns the result of the top_size most important train objects.
     |          If -1, then the top size is not limited.
     |
     |      type : string, optional (default='Average')
     |          Possible values:
     |              - Average (Method returns the mean train objects scores for all input objects)
     |              - PerObject (Method returns the train objects scores for every input object)
     |
     |      importance_values_sign : string, optional (default='All')
     |          Method returns only Positive, Negative or All values.
     |          Possible values:
     |              - Positive
     |              - Negative
     |              - All
     |
     |      update_method : string, optional (default='SinglePoint')
     |          Possible values:
     |              - SinglePoint
     |              - TopKLeaves (It is posible to set top size : TopKLeaves:top=2)
     |              - AllPoints
     |          Description of the update set methods are given in section 3.1.3 of the paper.
     |
     |      thread_count : int, optional (default=-1)
     |          Number of threads.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      verbose : bool or int
     |          If False, then evaluation is not logged. If True, then each possible iteration is logged.
     |          If a positive integer, then it stands for the size of batch N. After processing each batch, print progress
     |          and remaining time.
     |
     |      ostr_type : string, deprecated, use type instead
     |
     |      log_cout: output stream or callback for logging (default=None)
     |          If None is specified, sys.stdout is used
     |
     |      log_cerr: error stream or callback for logging (default=None)
     |          If None is specified, sys.stderr is used
     |
     |      Returns
     |      -------
     |      object_importances : tuple of two arrays (indices and scores) of shape = [top_size]
     |
     |  get_param(self, key)
     |      Get param value from CatBoost model.
     |
     |      Parameters
     |      ----------
     |      key : string
     |          The key to get param value from.
     |
     |      Returns
     |      -------
     |      value :
     |          The param value of the key, returns None if param do not exist.
     |
     |  get_params(self, **_unused_kwargs)
     |      Get all params from CatBoost model.
     |
     |      Returns
     |      -------
     |      result : dict
     |          Dictionary of {param_key: param_value}.
     |
     |  get_text_feature_indices(self)
     |
     |  grid_search(self, param_grid, X, y=None, cv=3, partition_random_seed=0, calc_cv_statistics=True, search_by_train_test_split=True, refit=True, shuffle=True, stratified=None, train_size=0.8, verbose=True, plot=False, plot_file=None, log_cout=None, log_cerr=None)
     |      Exhaustive search over specified parameter values for a model.
     |      After calling this method model is fitted and can be used, if not specified otherwise (refit=False).
     |
     |      Parameters
     |      ----------
     |      param_grid: dict or list of dictionaries
     |          Dictionary with parameters names (string) as keys and lists of parameter settings
     |          to try as values, or a list of such dictionaries, in which case the grids spanned by each
     |          dictionary in the list are explored.
     |          This enables searching over any sequence of parameter settings.
     |
     |      X: numpy.ndarray or pandas.DataFrame or polars.DataFrame or catboost.Pool
     |          Data to compute statistics on
     |
     |      y: list or numpy.ndarray or pandas.DataFrame or pandas.Series or polars.DataFrame or polars.Series, optional (default=None)
     |          Labels of the training data.
     |          If not None, can be a single- or two- dimensional array with either:
     |            - numerical values - for regression (including multiregression), ranking and binary classification problems
     |            - class labels (boolean, integer or string) - for classification (including multiclassification) problems
     |          Use only if X is not catboost.Pool and does not point to a file.
     |
     |      cv: int, cross-validation generator or an iterable, optional (default=None)
     |          Determines the cross-validation splitting strategy. Possible inputs for cv are:
     |          - None, to use the default 3-fold cross validation,
     |          - integer, to specify the number of folds in a (Stratified)KFold
     |          - one of the scikit-learn splitter classes
     |              (https://scikit-learn.org/stable/modules/classes.html#splitter-classes)
     |          - An iterable yielding (train, test) splits as arrays of indices.
     |
     |      partition_random_seed: int, optional (default=0)
     |          Use this as the seed value for random permutation of the data.
     |          Permutation is performed before splitting the data for cross validation.
     |          Each seed generates unique data splits.
     |          Used only when cv is None or int.
     |
     |      search_by_train_test_split: bool, optional (default=True)
     |          If True, source dataset is splitted into train and test parts, models are trained
     |          on the train part and parameters are compared by loss function score on the test part.
     |          After that, if calc_cv_statistics=true, statistics on metrics are calculated
     |          using cross-validation using best parameters and the model is fitted with these parameters.
     |
     |          If False, every iteration of grid search evaluates results on cross-validation.
     |          It is recommended to set parameter to True for large datasets, and to False for small datasets.
     |
     |      calc_cv_statistics: bool, optional (default=True)
     |          The parameter determines whether quality should be estimated.
     |          using cross-validation with the found best parameters. Used only when search_by_train_test_split=True.
     |
     |      refit: bool (default=True)
     |          Refit an estimator using the best found parameters on the whole dataset.
     |
     |      shuffle: bool, optional (default=True)
     |          Shuffle the dataset objects before parameters searching.
     |
     |      stratified: bool, optional (default=None)
     |          Perform stratified sampling. True for classification and False otherwise.
     |          Currently supported only for final cross-validation.
     |
     |      train_size: float, optional (default=0.8)
     |          Should be between 0.0 and 1.0 and represent the proportion of the dataset to include in the train split.
     |
     |      verbose: bool or int, optional (default=True)
     |          If verbose is int, it determines the frequency of writing metrics to output
     |          verbose==True is equal to verbose==1
     |          When verbose==False, there is no messages
     |
     |      plot : bool, optional (default=False)
     |          If True, draw train and eval error for every set of parameters in Jupyter notebook
     |
     |      plot_file : file-like or str, optional (default=None)
     |          If not None, save train and eval error for every set of parameters to file
     |
     |      log_cout: output stream or callback for logging (default=None)
     |          If None is specified, sys.stdout is used
     |
     |      log_cerr: error stream or callback for logging (default=None)
     |          If None is specified, sys.stderr is used
     |
     |      Returns
     |      -------
     |      dict with two fields:
     |          'params': dict of best found parameters
     |          'cv_results': dict or pandas.core.frame.DataFrame with cross-validation results
     |              columns are: test-error-mean  test-error-std  train-error-mean  train-error-std
     |
     |  iterate_leaf_indexes(self, data, ntree_start=0, ntree_end=0)
     |      Returns indexes of leafs to which objects from pool are mapped by model trees.
     |
     |      Parameters
     |      ----------
     |      data : catboost.Pool or list of features or list of lists or numpy.ndarray or pandas.DataFrame or pandas.Series
     |              or polars.DataFrame or polars.Series or catboost.FeaturesData
     |          Data to apply model on.
     |          If data is a simple list (not list of lists) or a one-dimensional numpy.ndarray it is interpreted
     |          as a list of features for a single object.
     |
     |      ntree_start: int, optional (default=0)
     |          Index of first tree for which leaf indexes will be calculated (zero-based indexing).
     |
     |      ntree_end: int, optional (default=0)
     |          Index of the tree after last tree for which leaf indexes will be calculated (zero-based indexing).
     |          If value equals to 0 this parameter is ignored and ntree_end equal to tree_count_.
     |
     |      Returns
     |      -------
     |      leaf_indexes : generator. For each object in pool yields one-dimensional numpy.ndarray of leaf indexes.
     |
     |  load_model(self, fname=None, format='cbm', stream=None, blob=None)
     |      Load model from a file, stream or blob.
     |
     |      Parameters
     |      ----------
     |      fname : string
     |          Input file name.
     |
     |  plot_partial_dependence(self, data, features, plot=True, plot_file=None, thread_count=-1)
     |      To use this function, you should install plotly.
     |      data: numpy.ndarray or pandas.DataFrame or polars.DataFrame or catboost.Pool
     |      features: int, str, list<int>, tuple<int>, list<string>, tuple<string>
     |          Float features to calculate partial dependence for. Number of features should be 1 or 2.
     |      plot: bool
     |          Plot predictions.
     |      plot_file: str
     |          Output file for plot predictions.
     |      thread_count: int
     |          Number of threads to use. If -1 use maximum available number of threads.
     |      Returns
     |      -------
     |          If number of features is one - 1d numpy array and figure with line plot.
     |          If number of features is two - 2d numpy array and figure with 2d heatmap.
     |
     |  plot_predictions(self, data, features_to_change, plot=True, plot_file=None)
     |      To use this function, you should install plotly.
     |
     |      data: numpy.ndarray or pandas.DataFrame or polars.DataFrame or catboost.Pool
     |      features_to_change: list-like with int (for indices) or str (for names) elements
     |          Numerical features indices or names in `data` for which you want to vary prediction value.
     |      plot: bool
     |          Plot predictions.
     |      plot_file: str
     |          Output file for plot predictions.
     |      Returns
     |      -------
     |          List of list of predictions for all buckets for all samples in data
     |
     |  plot_tree(self, tree_idx, pool=None)
     |
     |  randomized_search(self, param_distributions, X, y=None, cv=3, n_iter=10, partition_random_seed=0, calc_cv_statistics=True, search_by_train_test_split=True, refit=True, shuffle=True, stratified=None, train_size=0.8, verbose=True, plot=False, plot_file=None, log_cout=None, log_cerr=None)
     |      Randomized search on hyper parameters.
     |      After calling this method model is fitted and can be used, if not specified otherwise (refit=False).
     |
     |      In contrast to grid_search, not all parameter values are tried out,
     |      but rather a fixed number of parameter settings is sampled from the specified distributions.
     |      The number of parameter settings that are tried is given by n_iter.
     |
     |      Parameters
     |      ----------
     |      param_distributions: dict
     |          Dictionary with parameters names (string) as keys and distributions or lists of parameters to try.
     |          Distributions must provide a rvs method for sampling (such as those from scipy.stats.distributions).
     |          If a list is given, it is sampled uniformly.
     |
     |      X: numpy.ndarray or pandas.DataFrame or polars.DataFrame or catboost.Pool
     |          Data to compute statistics on
     |
     |      y: list or numpy.ndarray or pandas.DataFrame or pandas.Series or polars.DataFrame or polars.Series, optional (default=None)
     |          Labels of the training data.
     |          If not None, can be a single- or two- dimensional array with either:
     |            - numerical values - for regression (including multiregression), ranking and binary classification problems
     |            - class labels (boolean, integer or string) - for classification (including multiclassification) problems
     |          Use only if X is not catboost.Pool and does not point to a file.
     |
     |      cv: int, cross-validation generator or an iterable, optional (default=None)
     |          Determines the cross-validation splitting strategy. Possible inputs for cv are:
     |          - None, to use the default 3-fold cross validation,
     |          - integer, to specify the number of folds in a (Stratified)KFold
     |          - one of the scikit-learn splitter classes
     |              (https://scikit-learn.org/stable/modules/classes.html#splitter-classes)
     |          - An iterable yielding (train, test) splits as arrays of indices.
     |
     |      n_iter: int
     |          Number of parameter settings that are sampled.
     |          n_iter trades off runtime vs quality of the solution.
     |
     |      partition_random_seed: int, optional (default=0)
     |          Use this as the seed value for random permutation of the data.
     |          Permutation is performed before splitting the data for cross validation.
     |          Each seed generates unique data splits.
     |          Used only when cv is None or int.
     |
     |      search_by_train_test_split: bool, optional (default=True)
     |          If True, source dataset is splitted into train and test parts, models are trained
     |          on the train part and parameters are compared by loss function score on the test part.
     |          After that, if calc_cv_statistics=true, statistics on metrics are calculated
     |          using cross-validation using best parameters and the model is fitted with these parameters.
     |
     |          If False, every iteration of grid search evaluates results on cross-validation.
     |          It is recommended to set parameter to True for large datasets, and to False for small datasets.
     |
     |      calc_cv_statistics: bool, optional (default=True)
     |          The parameter determines whether quality should be estimated.
     |          using cross-validation with the found best parameters. Used only when search_by_train_test_split=True.
     |
     |      refit: bool (default=True)
     |          Refit an estimator using the best found parameters on the whole dataset.
     |
     |      shuffle: bool, optional (default=True)
     |          Shuffle the dataset objects before parameters searching.
     |
     |      stratified: bool, optional (default=None)
     |          Perform stratified sampling. True for classification and False otherwise.
     |          Currently supported only for cross-validation.
     |
     |      train_size: float, optional (default=0.8)
     |          Should be between 0.0 and 1.0 and represent the proportion of the dataset to include in the train split.
     |
     |      verbose: bool or int, optional (default=True)
     |          If verbose is int, it determines the frequency of writing metrics to output
     |          verbose==True is equal to verbose==1
     |          When verbose==False, there is no messages
     |
     |      plot : bool, optional (default=False)
     |          If True, draw train and eval error for every set of parameters in Jupyter notebook
     |
     |      plot_file : file-like or str, optional (default=None)
     |          If not None, save train and eval error for every set of parameters to file
     |
     |      log_cout: output stream or callback for logging (default=None)
     |          If None is specified, sys.stdout is used
     |
     |      log_cerr: error stream or callback for logging (default=None)
     |          If None is specified, sys.stderr is used
     |
     |      Returns
     |      -------
     |      dict with two fields:
     |          'params': dict of best found parameters
     |          'cv_results': dict or pandas.core.frame.DataFrame with cross-validation results
     |              columns are: test-error-mean  test-error-std  train-error-mean  train-error-std
     |
     |  save_borders(self, fname)
     |      Save the model borders to a file.
     |
     |      Parameters
     |      ----------
     |      fname : string or os.PathLike
     |          Output file name.
     |
     |  save_model(self, fname, format='cbm', export_parameters=None, pool=None)
     |      Save the model to a file.
     |
     |      Parameters
     |      ----------
     |      fname : string
     |          Output file name.
     |      format : string
     |          Possible values:
     |              * 'cbm' for catboost binary format,
     |              * 'coreml' to export into Apple CoreML format
     |              * 'onnx' to export into ONNX-ML format
     |              * 'pmml' to export into PMML format
     |              * 'cpp' to export as C++ code
     |              * 'python' to export as Python code.
     |      export_parameters : dict
     |          Parameters for CoreML export:
     |              * prediction_type : string - either 'probability' or 'raw'
     |              * coreml_description : string
     |              * coreml_model_version : string
     |              * coreml_model_author : string
     |              * coreml_model_license: string
     |          Parameters for PMML export:
     |              * pmml_copyright : string
     |              * pmml_description : string
     |              * pmml_model_version : string
     |      pool : catboost.Pool or list or numpy.ndarray or pandas.DataFrame or pandas.Series or polars.DataFrame or catboost.FeaturesData
     |          Training pool.
     |
     |  select_features(self, X, y=None, eval_set=None, features_for_select=None, num_features_to_select=None, algorithm=None, steps=None, shap_calc_type=None, train_final_model=True, verbose=None, logging_level=None, plot=False, plot_file=None, log_cout=None, log_cerr=None, grouping=None, features_tags_for_select=None, num_features_tags_to_select=None)
     |      Select best features from pool according to loss value.
     |
     |      Parameters
     |      ----------
     |      X : catboost.Pool or list or numpy.ndarray or pandas.DataFrame or pandas.Series or polars.DataFrame
     |          If not catboost.Pool, 2 dimensional Feature matrix or string - file with dataset.
     |
     |      y : list or numpy.ndarray or pandas.DataFrame or pandas.Series or polars.DataFrame or polars.Series, optional (default=None)
     |          Labels of the training data.
     |          If not None, can be a single- or two- dimensional array with either:
     |            - numerical values - for regression (including multiregression), ranking and binary classification problems
     |            - class labels (boolean, integer or string) - for classification (including multiclassification) problems
     |          Use only if X is not catboost.Pool and does not point to a file.
     |
     |      eval_set : catboost.Pool or list of catboost.Pool or tuple (X, y) or list [(X, y)], optional (default=None)
     |          Validation dataset or datasets for metrics calculation and possibly early stopping.
     |
     |      features_for_select : str or list of feature indices, names or ranges
     |          (for grouping = Individual)
     |          Which features should participate in the selection.
     |          Format examples:
     |              - [0, 2, 3, 4, 17]
     |              - [0, "2-4", 17] (both ends in ranges are inclusive)
     |              - "0,2-4,20"
     |              - ["Name0", "Name2", "Name3", "Name4", "Name20"]
     |
     |      num_features_to_select : positive int
     |          (for grouping = Individual)
     |          How many features to select from features_for_select.
     |
     |      algorithm : EFeaturesSelectionAlgorithm or string, optional (default=RecursiveByShapValues)
     |          Which algorithm to use for features selection.
     |          Possible values:
     |              - RecursiveByPredictionValuesChange
     |                  Use prediction values change as feature strength, eliminate batch of features at once.
     |              - RecursiveByLossFunctionChange
     |                  Use loss function change as feature strength, eliminate batch of features at each step.
     |              - RecursiveByShapValues
     |                  Use shap values to estimate loss function change, eliminate features one by one.
     |
     |      steps : positive int, optional (default=1)
     |          How many steps should be performed. In other words, how many times a full model will be trained.
     |          More steps give more accurate results.
     |
     |      shap_calc_type : EShapCalcType or string, optional (default=Regular)
     |          Which method to use for calculation of shap values.
     |          Possible values:
     |              - Regular
     |                  Calculate regular SHAP values
     |              - Approximate
     |                  Calculate approximate SHAP values
     |              - Exact
     |                  Calculate exact SHAP values
     |
     |      train_final_model : bool, optional (default=True)
     |          Need to fit model with selected features.
     |
     |      verbose : bool or int
     |          If verbose is bool, then if set to True, logging_level is set to Verbose,
     |          if set to False, logging_level is set to Silent.
     |          If verbose is int, it determines the frequency of writing metrics to output and
     |          logging_level is set to Verbose.
     |
     |      logging_level : string, optional (default=None)
     |          Possible values:
     |              - 'Silent'
     |              - 'Verbose'
     |              - 'Info'
     |              - 'Debug'
     |
     |      plot : bool, optional (default=False)
     |          If True, draw train and eval error in Jupyter notebook.
     |
     |      plot_file : file-like or str, optional (default=None)
     |          If not None, save train and eval error graphs to file
     |
     |      log_cout: output stream or callback for logging (default=None)
     |          If None is specified, sys.stdout is used
     |
     |      log_cerr: error stream or callback for logging (default=None)
     |          If None is specified, sys.stderr is used
     |
     |      grouping : EFeaturesSelectionGrouping or string, optional (default=Individual)
     |          Which grouping to use for features selection.
     |          Possible values:
     |              - Individual
     |                  Select individual features
     |              - ByTags
     |                  Select feature groups (marked by tags)
     |
     |      features_tags_for_select : list of strings
     |          (for grouping = ByTags)
     |          Which features tags should participate in the selection.
     |
     |      num_features_tags_to_select : positive int
     |          (for grouping = ByTags)
     |          How many features tags to select from features_tags_for_select.
     |
     |      Returns
     |      -------
     |      dict with fields:
     |          'selected_features': list of selected features indices
     |          'eliminated_features': list of eliminated features indices
     |          'selected_features_tags': list of selected features tags (optional, present if grouping == ByTags)
     |          'eliminated_features_tags': list of selected features tags (optional, present if grouping == ByTags)
     |
     |  set_params(self, **params)
     |      Set parameters into CatBoost model.
     |
     |      Parameters
     |      ----------
     |      **params : key=value format
     |          List of key=value paris. Example: model.set_params(iterations=500, thread_count=2).
     |
     |  shrink(self, ntree_end, ntree_start=0)
     |      Shrink the model.
     |
     |      Parameters
     |      ----------
     |      ntree_end: int
     |          Leave the trees with indices from the interval [ntree_start, ntree_end) (zero-based indexing).
     |      ntree_start: int, optional (default=0)
     |          Leave the trees with indices from the interval [ntree_start, ntree_end) (zero-based indexing).
     |
     |  virtual_ensembles_predict(self, data, prediction_type='VirtEnsembles', ntree_end=0, virtual_ensembles_count=10, thread_count=-1, verbose=None)
     |      Predict with data.
     |
     |      Parameters
     |      ----------
     |      data : catboost.Pool or list of features or list of lists or numpy.ndarray or pandas.DataFrame or pandas.Series
     |               or polars.DataFrame or polars.Series or catboost.FeaturesData
     |          Data to apply model on.
     |          If data is a simple list (not list of lists) or a one-dimensional numpy.ndarray it is interpreted
     |          as a list of features for a single object.
     |
     |      prediction_type : string, optional (default='RawFormulaVal')
     |          Can be:
     |          - 'VirtEnsembles': return V (virtual_ensembles_count) predictions.
     |              k-th virtEnsemle consists of trees [0, T/2] + [T/2 + T/(2V) * k, T/2 + T/(2V) * (k + 1)]  * constant.
     |          - 'TotalUncertainty': see returned predictions format in 'Returns' part
     |
     |      ntree_end: int, optional (default=0)
     |          Model is applied on the interval [ntree_start, ntree_end) (zero-based indexing).
     |          If value equals to 0 this parameter is ignored and ntree_end equal to tree_count_.
     |
     |      virtual_ensembles_count: int, optional (default=10)
     |          virtual ensembles count for 'TotalUncertainty' and 'VirtEnsembles' prediction types.
     |
     |      thread_count : int (default=-1)
     |          The number of threads to use when applying the model.
     |          Allows you to optimize the speed of execution. This parameter doesn't affect results.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      verbose : bool, optional (default=False)
     |          If True, writes the evaluation metric measured set to stderr.
     |
     |      Returns
     |      -------
     |      prediction :
     |          (with V as virtual_ensembles_count and T as trees count,
     |          k-th virtEnsemle consists of trees [0, T/2] + [T/2 + T/(2V) * k, T/2 + T/(2V) * (k + 1)]  * constant)
     |          If data is for a single object, return 1-dimensional array of predictions with size depends on prediction type,
     |          otherwise return 2-dimensional numpy.ndarray with shape (number_of_objects x size depends on prediction type);
     |          Returned predictions depends on prediction type:
     |          If loss-function was RMSEWithUncertainty:
     |              - 'VirtEnsembles': [mean0, var0, mean1, var1, ..., vark-1].
     |              - 'TotalUncertainty': [mean_predict, KnowledgeUnc, DataUnc].
     |          otherwise for regression:
     |              - 'VirtEnsembles':  [mean0, mean1, ...].
     |              - 'TotalUncertainty': [mean_predicts, KnowledgeUnc].
     |          otherwise for binary classification:
     |              - 'VirtEnsembles':  [ApproxRawFormulaVal0, ApproxRawFormulaVal1, ..., ApproxRawFormulaValk-1].
     |              - 'TotalUncertainty':  [DataUnc, TotalUnc].
     |
     |  ----------------------------------------------------------------------
     |  Readonly properties inherited from CatBoost:
     |
     |  feature_importances_
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from _CatBoostBase:
     |
     |  __copy__(self)
     |
     |  __deepcopy__(self, _)
     |
     |  __eq__(self, other)
     |      Return self==value.
     |
     |  __getstate__(self)
     |      Helper for pickle.
     |
     |  __ne__(self, other)
     |      Return self!=value.
     |
     |  __repr__(self) -> str
     |      Return repr(self).
     |
     |  __setstate__(self, state)
     |
     |  __sklearn_tags__(self)
     |
     |  copy(self)
     |
     |  get_best_iteration(self)
     |
     |  get_best_score(self)
     |
     |  get_evals_result(self)
     |
     |  get_leaf_values(self)
     |      Returns
     |      -------
     |      leaf_values : 1d-array of leaf values for all trees.
     |      Value corresponding to j-th leaf of i-th tree is at position
     |      sum(get_tree_leaf_counts()[:i]) + j (leaf and tree indexing starts from zero).
     |
     |  get_leaf_weights(self)
     |      Returns
     |      -------
     |      leaf_weights : 1d-array of leaf weights for all trees.
     |      Weight of j-th leaf of i-th tree is at position
     |      sum(get_tree_leaf_counts()[:i]) + j (leaf and tree indexing starts from zero).
     |
     |  get_metadata(self)
     |
     |  get_n_features_in(self)
     |
     |  get_scale_and_bias(self)
     |
     |  get_test_eval(self)
     |
     |  get_test_evals(self)
     |
     |  get_tree_leaf_counts(self)
     |      Returns
     |      -------
     |      tree_leaf_counts : 1d-array of numpy.uint32 of size tree_count_.
     |      tree_leaf_counts[i] equals to the number of leafs in i-th tree of the ensemble.
     |
     |  is_fitted(self)
     |
     |  set_feature_names(self, feature_names)
     |      Sets feature names equal to feature_names
     |
     |      Parameters
     |      ----------
     |      feature_names: 1-d array of strings with new feature names in the same order as in pool
     |
     |  set_leaf_values(self, new_leaf_values)
     |      Sets values at tree leafs of ensemble equal to new_leaf_values.
     |
     |      Parameters
     |      ----------
     |      new_leaf_values : 1d-array with new leaf values for all trees.
     |      It's size should be equal to sum(get_tree_leaf_counts()).
     |      Value corresponding to j-th leaf of i-th tree should be at position
     |      sum(get_tree_leaf_counts()[:i]) + j (leaf and tree indexing starts from zero).
     |
     |  set_scale_and_bias(self, scale, bias)
     |
     |  ----------------------------------------------------------------------
     |  Static methods inherited from _CatBoostBase:
     |
     |  get_sklearn_estimator_xfail_checks(estimator: '_CatBoostBase') -> Dict[str, str]
     |      To pass to:
     |          For scikit-learn >= 1.6:
     |              to 'expected_failed_checks' parameter in sklearn.utils.estimator_checks.parametrize_with_checks
     |          For scikit-learn < 1.6:
     |              to '_xfail_checks' field returned by '_CatBoostBase._get_tags'.
     |
     |      This method is made static to be able to pass it to sklearn.utils.estimator_checks.parametrize_with_checks
     |
     |  ----------------------------------------------------------------------
     |  Readonly properties inherited from _CatBoostBase:
     |
     |  best_iteration_
     |
     |  best_score_
     |
     |  classes_
     |
     |  evals_result_
     |
     |  feature_names_
     |
     |  learning_rate_
     |
     |  n_features_in_
     |
     |  random_seed_
     |
     |  tree_count_
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from _CatBoostBase:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object
     |
     |  ----------------------------------------------------------------------
     |  Data and other attributes inherited from _CatBoostBase:
     |
     |  __hash__ = None

    class EFeaturesSelectionAlgorithm(enum.Enum)
     |  EFeaturesSelectionAlgorithm(*values)
     |
     |  Use prediction values change as feature strength, eliminate batch of features at once
     |
     |  Method resolution order:
     |      EFeaturesSelectionAlgorithm
     |      enum.Enum
     |      builtins.object
     |
     |  Data and other attributes defined here:
     |
     |  RecursiveByLossFunctionChange = <EFeaturesSelectionAlgorithm.Recursive...
     |
     |  RecursiveByPredictionValuesChange = <EFeaturesSelectionAlgorithm.Recur...
     |
     |  RecursiveByShapValues = <EFeaturesSelectionAlgorithm.RecursiveByShapVa...
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from enum.Enum:
     |
     |  name
     |      The name of the Enum member.
     |
     |  value
     |      The value of the Enum member.
     |
     |  ----------------------------------------------------------------------
     |  Static methods inherited from enum.EnumType:
     |
     |  __contains__(value)
     |      Return True if `value` is in `cls`.
     |
     |      `value` is in `cls` if:
     |      1) `value` is a member of `cls`, or
     |      2) `value` is the value of one of the `cls`'s members.
     |
     |  __getitem__(name)
     |      Return the member matching `name`.
     |
     |  __iter__()
     |      Return members in definition order.
     |
     |  __len__()
     |      Return the number of members (no aliases)
     |
     |  ----------------------------------------------------------------------
     |  Readonly properties inherited from enum.EnumType:
     |
     |  __members__
     |      Returns a mapping of member name->value.
     |
     |      This mapping lists all enum members, including aliases. Note that this
     |      is a read-only view of the internal mapping.

    class EFeaturesSelectionGrouping(enum.Enum)
     |  EFeaturesSelectionGrouping(*values)
     |
     |  Select individual features
     |
     |  Method resolution order:
     |      EFeaturesSelectionGrouping
     |      enum.Enum
     |      builtins.object
     |
     |  Data and other attributes defined here:
     |
     |  ByTags = <EFeaturesSelectionGrouping.ByTags: 'ByTags'>
     |
     |  Individual = <EFeaturesSelectionGrouping.Individual: 'Individual'>
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from enum.Enum:
     |
     |  name
     |      The name of the Enum member.
     |
     |  value
     |      The value of the Enum member.
     |
     |  ----------------------------------------------------------------------
     |  Static methods inherited from enum.EnumType:
     |
     |  __contains__(value)
     |      Return True if `value` is in `cls`.
     |
     |      `value` is in `cls` if:
     |      1) `value` is a member of `cls`, or
     |      2) `value` is the value of one of the `cls`'s members.
     |
     |  __getitem__(name)
     |      Return the member matching `name`.
     |
     |  __iter__()
     |      Return members in definition order.
     |
     |  __len__()
     |      Return the number of members (no aliases)
     |
     |  ----------------------------------------------------------------------
     |  Readonly properties inherited from enum.EnumType:
     |
     |  __members__
     |      Returns a mapping of member name->value.
     |
     |      This mapping lists all enum members, including aliases. Note that this
     |      is a read-only view of the internal mapping.

    class EFstrType(enum.Enum)
     |  EFstrType(*values)
     |
     |  Calculate score for every feature by values change.
     |
     |  Method resolution order:
     |      EFstrType
     |      enum.Enum
     |      builtins.object
     |
     |  Data and other attributes defined here:
     |
     |  FeatureImportance = <EFstrType.FeatureImportance: 2>
     |
     |  Interaction = <EFstrType.Interaction: 3>
     |
     |  LossFunctionChange = <EFstrType.LossFunctionChange: 1>
     |
     |  PredictionDiff = <EFstrType.PredictionDiff: 5>
     |
     |  PredictionValuesChange = <EFstrType.PredictionValuesChange: 0>
     |
     |  SageValues = <EFstrType.SageValues: 7>
     |
     |  ShapInteractionValues = <EFstrType.ShapInteractionValues: 6>
     |
     |  ShapValues = <EFstrType.ShapValues: 4>
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from enum.Enum:
     |
     |  name
     |      The name of the Enum member.
     |
     |  value
     |      The value of the Enum member.
     |
     |  ----------------------------------------------------------------------
     |  Static methods inherited from enum.EnumType:
     |
     |  __contains__(value)
     |      Return True if `value` is in `cls`.
     |
     |      `value` is in `cls` if:
     |      1) `value` is a member of `cls`, or
     |      2) `value` is the value of one of the `cls`'s members.
     |
     |  __getitem__(name)
     |      Return the member matching `name`.
     |
     |  __iter__()
     |      Return members in definition order.
     |
     |  __len__()
     |      Return the number of members (no aliases)
     |
     |  ----------------------------------------------------------------------
     |  Readonly properties inherited from enum.EnumType:
     |
     |  __members__
     |      Returns a mapping of member name->value.
     |
     |      This mapping lists all enum members, including aliases. Note that this
     |      is a read-only view of the internal mapping.

    class EShapCalcType(enum.Enum)
     |  EShapCalcType(*values)
     |
     |  Calculate regular SHAP values
     |
     |  Method resolution order:
     |      EShapCalcType
     |      enum.Enum
     |      builtins.object
     |
     |  Data and other attributes defined here:
     |
     |  Approximate = <EShapCalcType.Approximate: 'Approximate'>
     |
     |  Exact = <EShapCalcType.Exact: 'Exact'>
     |
     |  Regular = <EShapCalcType.Regular: 'Regular'>
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from enum.Enum:
     |
     |  name
     |      The name of the Enum member.
     |
     |  value
     |      The value of the Enum member.
     |
     |  ----------------------------------------------------------------------
     |  Static methods inherited from enum.EnumType:
     |
     |  __contains__(value)
     |      Return True if `value` is in `cls`.
     |
     |      `value` is in `cls` if:
     |      1) `value` is a member of `cls`, or
     |      2) `value` is the value of one of the `cls`'s members.
     |
     |  __getitem__(name)
     |      Return the member matching `name`.
     |
     |  __iter__()
     |      Return members in definition order.
     |
     |  __len__()
     |      Return the number of members (no aliases)
     |
     |  ----------------------------------------------------------------------
     |  Readonly properties inherited from enum.EnumType:
     |
     |  __members__
     |      Returns a mapping of member name->value.
     |
     |      This mapping lists all enum members, including aliases. Note that this
     |      is a read-only view of the internal mapping.

    class Pool(_catboost._PoolBase)
     |  Pool(data, label=None, cat_features=None, text_features=None, embedding_features=None, embedding_features_data=None, column_description=None, pairs=None, graph=None, delimiter='\t', has_header=False, ignore_csv_quoting=False, weight=None, group_id=None, group_weight=None, subgroup_id=None, pairs_weight=None, baseline=None, timestamp=None, feature_names=None, feature_tags=None, thread_count=-1, log_cout=None, log_cerr=None, data_can_be_none=False)
     |
     |  Pool used in CatBoost as a data structure to train model from.
     |
     |  Method resolution order:
     |      Pool
     |      _catboost._PoolBase
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __init__(self, data, label=None, cat_features=None, text_features=None, embedding_features=None, embedding_features_data=None, column_description=None, pairs=None, graph=None, delimiter='\t', has_header=False, ignore_csv_quoting=False, weight=None, group_id=None, group_weight=None, subgroup_id=None, pairs_weight=None, baseline=None, timestamp=None, feature_names=None, feature_tags=None, thread_count=-1, log_cout=None, log_cerr=None, data_can_be_none=False)
     |      Pool is an internal data structure that is used by CatBoost.
     |      You can construct Pool from list, numpy.ndarray, pandas.DataFrame, pandas.Series.
     |
     |      Parameters
     |      ----------
     |      data : list or numpy.ndarray or pandas.DataFrame or pandas.Series or polars.DataFrame or FeaturesData or string or os.PathLike
     |          Data source of Pool.
     |          If list or numpy.ndarrays or pandas.DataFrame or pandas.Series or polars.DataFrame,
     |            giving 2 dimensional array like data.
     |          If FeaturesData - see FeaturesData description for details, 'cat_features' and 'feature_names'
     |            parameters must be equal to None in this case
     |          If string or os.PathLike, giving the path to the file with data in catboost format.
     |            If string starts with "quantized://", the file has to contain quantized dataset saved with Pool.save().
     |
     |      label : list or numpy.ndarrays or pandas.DataFrame or pandas.Series or polars.DataFrame or polars.Series, optional (default=None)
     |          Labels data.
     |          If not None, can be a single- or two- dimensional array with either:
     |            - numerical values - for regression (including multiregression), ranking and binary classification problems
     |            - class labels (boolean, integer or string) - for classification (including multiclassification) problems
     |          If `data` parameter points to a file, Label data is loaded from it as well. This parameter must
     |            be None in this case.
     |
     |      cat_features : list or numpy.ndarray, optional (default=None)
     |          If not None, giving the list of Categ features indices or names.
     |          If it contains feature names, Pool's feature names must be defined: either by passing 'feature_names'
     |            parameter or if data is pandas.DataFrame (feature names are initialized from it's column names)
     |          Must be None if 'data' parameter has FeaturesData type
     |
     |      text_features : list or numpy.ndarray, optional (default=None)
     |          If not None, giving the list of Text features indices or names.
     |          If it contains feature names, Pool's feature names must be defined: either by passing 'feature_names'
     |            parameter or if data is pandas.DataFrame (feature names are initialized from it's column names)
     |          Must be None if 'data' parameter has FeaturesData type
     |
     |      embedding_features : list or numpy.ndarray, optional (default=None)
     |          If not None, giving the list of Embedding features indices or names.
     |          If it contains feature names, Pool's feature names must be defined: either by passing 'feature_names'
     |            parameter or if data is pandas.DataFrame (feature names are initialized from it's column names)
     |          Must be None if 'data' parameter has FeaturesData type
     |
     |      embedding_features_data : list or dict, optional (default=None)
     |          If not None, giving the data of Embedding features (instead of data in main 'data' parameter).
     |          If list - list containing 2d arrays (lists or numpy.ndarrays or scipy.sparse.spmatrix) with [n_data_size x embedding_size] elements
     |          If dict - dict containing 2d arrays (lists or numpy.ndarrays or scipy.sparse.spmatrix) with [n_data_size x embedding_size] elements
     |              Dict keys must be the same as specified in 'embedding_features' parameter
     |
     |      column_description : string or os.PathLike, optional (default=None)
     |          ColumnsDescription parameter.
     |          There are several columns description types: Label, Categ, Num, Auxiliary, DocId, Weight, Baseline, GroupId, Timestamp.
     |          All columns are Num as default, it's not necessary to specify
     |          this type of columns. Default Label column index is 0 (zero).
     |          If None, Label column is 0 (zero) as default, all data columns are Num as default.
     |          If string or os.PathLike, giving the path to the file with ColumnsDescription in column_description format.
     |
     |      pairs : list or numpy.ndarray or pandas.DataFrame or polars.DataFrame or string or os.PathLike
     |          The pairs description.
     |          If list or numpy.ndarrays or pandas.DataFrame or polars.DataFrame, giving 2 dimensional.
     |          The shape should be Nx2, where N is the pairs' count. The first element of the pair is
     |          the index of winner object in the training set. The second element of the pair is
     |          the index of loser object in the training set.
     |          If string or os.PathLike, giving the path to the file with pairs description.
     |
     |      graph: list or numpy.ndarray or pandas.DataFrame or polars.DataFrame or string or os.PathLike
     |          The graph description.
     |          ...
     |
     |      delimiter : string, optional (default=' ')
     |          Delimiter to use for separate features in file.
     |          Should be only one symbol, otherwise would be taken only the first character of the string.
     |
     |      has_header : bool optional (default=False)
     |          If True, read column names from first line.
     |
     |      ignore_csv_quoting : bool optional (default=False)
     |          If True ignore quoting '"'.
     |
     |      weight : list or numpy.ndarray or polars.Series, optional (default=None)
     |          Weight for each instance.
     |          If not None, giving 1 dimensional array like data.
     |
     |      group_id : list or numpy.ndarray or polars.Series, optional (default=None)
     |          group id for each instance.
     |          If not None, giving 1 dimensional array like data.
     |
     |      group_weight : list or numpy.ndarray or polars.Series, optional (default=None)
     |          Group weight for each instance.
     |          If not None, giving 1 dimensional array like data.
     |
     |      subgroup_id : list or numpy.ndarray or polars.Series, optional (default=None)
     |          subgroup id for each instance.
     |          If not None, giving 1 dimensional array like data.
     |
     |      pairs_weight : list or numpy.ndarray or polars.Series, optional (default=None)
     |          Weight for each pair.
     |          If not None, giving 1 dimensional array like pairs.
     |
     |      baseline : list or numpy.ndarray or polars.DataFrame or polars.Series, optional (default=None)
     |          Baseline for each instance.
     |          If not None, giving 2 dimensional array like data.
     |
     |      timestamp: list or numpy.ndarray or polars.Series, optional (default=None)
     |          Timestamp for each instance.
     |          Should be a non-negative integer.
     |          Useful for sorting a learning dataset by this field during training.
     |
     |      feature_names : list or string or os.PathLike, optional (default=None)
     |          If list - list of names for each given data_feature.
     |          If string or os.PathLike - path with scheme for feature names data to load.
     |          If this parameter is None and 'data' is pandas.DataFrame feature names will be initialized
     |            from DataFrame's column names.
     |          Must be None if 'data' parameter has FeaturesData type
     |
     |      feature_tags : json, optional (default=None)
     |          Format:
     |          {'tag1':
     |              {
     |                  'features': [<ids or names of features>],
     |                  'cost': <positive integer>
     |              }
     |           'tag2':
     |              {
     |               ...
     |              }
     |          ...
     |          }
     |
     |      thread_count : int, optional (default=-1)
     |          Thread count for data processing.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      log_cout: output stream or callback for logging (default=None)
     |          If None is specified, sys.stdout is used
     |
     |      log_cerr: error stream or callback for logging (default=None)
     |          If None is specified, sys.stderr is used
     |
     |  quantize(self, ignored_features=None, per_float_feature_quantization=None, border_count=None, max_bin=None, feature_border_type=None, sparse_features_conflict_fraction=None, nan_mode=None, input_borders=None, task_type=None, used_ram_limit=None, random_seed=None, **kwargs)
     |      Quantize this pool
     |
     |      Parameters
     |      ----------
     |      pool : catboost.Pool
     |          Dataset to quantize.
     |
     |      ignored_features : list, [default=None]
     |          Indices or names of features that should be excluded when training.
     |
     |      per_float_feature_quantization : list of strings, [default=None]
     |          List of float binarization descriptions.
     |          Format : described in documentation on catboost.ai
     |          Example 1: ['0:1024'] means that feature 0 will have 1024 borders.
     |          Example 2: ['0:border_count=1024', '1:border_count=1024', ...] means that two first features have 1024 borders.
     |          Example 3: ['0:nan_mode=Forbidden,border_count=32,border_type=GreedyLogSum',
     |                      '1:nan_mode=Forbidden,border_count=32,border_type=GreedyLogSum'] - defines more quantization properties for first two features.
     |
     |      border_count : int, [default = 254 for training on CPU or 128 for training on GPU]
     |          The number of partitions in numeric features binarization. Used in the preliminary calculation.
     |          range: [1,65535] on CPU, [1,255] on GPU
     |
     |      max_bin : float, synonym for border_count.
     |
     |      feature_border_type : string, [default='GreedyLogSum']
     |          The binarization mode in numeric features binarization. Used in the preliminary calculation.
     |          Possible values:
     |              - 'Median'
     |              - 'Uniform'
     |              - 'UniformAndQuantiles'
     |              - 'GreedyLogSum'
     |              - 'MaxLogSum'
     |              - 'MinEntropy'
     |
     |      sparse_features_conflict_fraction : float, [default=0.0]
     |          CPU only. Maximum allowed fraction of conflicting non-default values for features in exclusive features bundle.
     |          Should be a real value in [0, 1) interval.
     |
     |      nan_mode : string, [default=None]
     |          Way to process missing values for numeric features.
     |          Possible values:
     |              - 'Forbidden' - raises an exception if there is a missing value for a numeric feature in a dataset.
     |              - 'Min' - each missing value will be processed as the minimum numerical value.
     |              - 'Max' - each missing value will be processed as the maximum numerical value.
     |          If None, then nan_mode=Min.
     |
     |      input_borders : string or os.PathLike, [default=None]
     |          input file with borders used in numeric features binarization.
     |
     |      task_type : string, [default=None]
     |          The calcer type that will be used to train the model after quantization.
     |          Possible values:
     |              - 'CPU'
     |              - 'GPU'
     |
     |      used_ram_limit=None
     |
     |      random_seed : int, [default=None]
     |          The random seed used for data sampling.
     |          If None, 0 is used.
     |
     |  save(self, fname)
     |      Save the quantized pool to a file.
     |
     |      Parameters
     |      ----------
     |      fname : string or os.PathLike
     |          Output file name.
     |
     |  set_baseline(self, baseline)
     |
     |  set_feature_names(self, feature_names)
     |
     |  set_group_id(self, group_id)
     |
     |  set_group_weight(self, group_weight)
     |
     |  set_pairs(self, pairs)
     |
     |  set_pairs_weight(self, pairs_weight)
     |
     |  set_subgroup_id(self, subgroup_id)
     |
     |  set_timestamp(self, timestamp)
     |
     |  set_weight(self, weight)
     |
     |  slice(self, rindex)
     |
     |  train_eval_split(self, has_time, is_classification, eval_fraction, save_eval_pool)
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from _catboost._PoolBase:
     |
     |  __deepcopy__(self, _)
     |
     |  __eq__(self, value, /)
     |      Return self==value.
     |
     |  __ge__(self, value, /)
     |      Return self>=value.
     |
     |  __gt__(self, value, /)
     |      Return self>value.
     |
     |  __le__(self, value, /)
     |      Return self<=value.
     |
     |  __lt__(self, value, /)
     |      Return self<value.
     |
     |  __ne__(self, value, /)
     |      Return self!=value.
     |
     |  __reduce__ = __reduce_cython__(...)
     |
     |  __setstate__ = __setstate_cython__(...)
     |
     |  get_baseline(self)
     |      Get baseline from Pool.
     |
     |      Returns
     |      -------
     |      baseline : np.ndarray of shape (object_count, baseline_count)
     |
     |  get_cat_feature_indices(self)
     |      Get cat_feature indices from Pool.
     |
     |      Returns
     |      -------
     |      cat_feature_indices : list
     |
     |  get_embedding_feature_indices(self)
     |      Get embedding_feature indices from Pool.
     |
     |      Returns
     |      -------
     |      embedding_feature_indices : list
     |
     |  get_feature_names(self)
     |
     |  get_features(self)
     |      Get feature matrix from Pool.
     |
     |      Returns
     |      -------
     |      feature matrix : np.ndarray of shape (object_count, feature_count)
     |
     |  get_group_id_hash(self)
     |      Get hashes generated from group_id.
     |
     |      Returns
     |      -------
     |      group_id : np.array with dtype==np.uint64 if group_id was defined or None otherwise.
     |
     |  get_label(self)
     |      Get labels from Pool.
     |
     |      Returns
     |      -------
     |      labels : list if labels are one-dimensional, np.ndarray of shape (object_count, labels_count) otherwise
     |
     |  get_text_feature_indices(self)
     |      Get text_feature indices from Pool.
     |
     |      Returns
     |      -------
     |      text_feature_indices : list
     |
     |  get_weight(self)
     |      Get weight for each instance.
     |
     |      Returns
     |      -------
     |      weight : list
     |
     |  has_label(self)
     |      Returns
     |      -------
     |      True if Pool has label data
     |
     |  is_quantized(self)
     |
     |  num_col(self)
     |      Get the number of columns in the Pool.
     |
     |      Returns
     |      -------
     |      number of cols : int
     |
     |  num_pairs(self)
     |      Get the number of pairs in the Pool.
     |
     |      Returns
     |      -------
     |      number of pairs : int
     |
     |  num_row(self)
     |      Get the number of rows in the Pool.
     |
     |      Returns
     |      -------
     |      number of rows : int
     |
     |  save_quantization_borders(self, output_file)
     |      Save file with borders used in numeric features quantization.
     |      File format is described here: https://catboost.ai/docs/concepts/input-data_custom-borders.html
     |
     |      Parameters
     |      ----------
     |      output_file : string or pathlib.Path
     |          Output file name.
     |
     |      Examples
     |      --------
     |      >>> train.quantize()
     |      >>> train.save_quantization_borders("borders.dat")
     |      >>> test.quantize(input_borders="borders.dat")
     |
     |  ----------------------------------------------------------------------
     |  Static methods inherited from _catboost._PoolBase:
     |
     |  __new__(*args, **kwargs) class method of _catboost._PoolBase
     |      Create and return a new object.  See help(type) for accurate signature.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from _catboost._PoolBase:
     |
     |  is_empty_
     |      Check if Pool is empty (contains no objects).
     |
     |      Returns
     |      -------
     |      is_empty_ : bool
     |
     |  shape
     |      Get the shape of the Pool.
     |
     |      Returns
     |      -------
     |      shape : (int, int)
     |          (rows, cols)
     |
     |  ----------------------------------------------------------------------
     |  Data and other attributes inherited from _catboost._PoolBase:
     |
     |  __hash__ = None
     |
     |  __pyx_vtable__ = <capsule object NULL>

FUNCTIONS
    create_dir_if_not_exist(path)

    cv(pool=None, params=None, dtrain=None, iterations=None, num_boost_round=None, fold_count=None, nfold=None, inverted=False, partition_random_seed=0, seed=None, shuffle=True, logging_level=None, stratified=None, as_pandas=True, metric_period=None, verbose=None, verbose_eval=None, plot=False, plot_file=None, early_stopping_rounds=None, save_snapshot=None, snapshot_file=None, snapshot_interval=None, metric_update_interval=0.5, folds=None, type='Classical', return_models=False, log_cout=None, log_cerr=None)
        Cross-validate the CatBoost model.

        Parameters
        ----------
        pool : catboost.Pool
            Data to cross-validate on.

        params : dict
            Parameters for CatBoost.
            CatBoost has many of parameters, all have default values.
            If  None, all params still defaults.
            If  dict, overriding some (or all) params.

        dtrain : catboost.Pool or tuple (X, y)
            Synonym for pool parameter. Only one of these parameters should be set.

        iterations : int
            Number of boosting iterations. Can be set in params dict.

        num_boost_round : int
            Synonym for iterations. Only one of these parameters should be set.

        fold_count : int, optional (default=3)
            The number of folds to split the dataset into.

        nfold : int
            Synonym for fold_count.

        type : string, optional (default='Classical')
            Type of cross-validation
            Possible values:
                - 'Classical'
                - 'Inverted'
                - 'TimeSeries'

        inverted : bool, optional (default=False)
            Train on the test fold and evaluate the model on the training folds.

        partition_random_seed : int, optional (default=0)
            Use this as the seed value for random permutation of the data.
            Permutation is performed before splitting the data for cross validation.
            Each seed generates unique data splits.

        seed : int, optional
            Synonym for partition_random_seed. This parameter is deprecated. Use
            partition_random_seed instead.
            If both parameters are initialised partition_random_seed parameter is
            ignored.

        shuffle : bool, optional (default=True)
            Shuffle the dataset objects before splitting into folds.

        logging_level : string, optional (default=None)
            Possible values:
                - 'Silent'
                - 'Verbose'
                - 'Info'
                - 'Debug'

        stratified : bool, optional (default=None)
            Perform stratified sampling. True for classification and False otherwise.

        as_pandas : bool, optional (default=True)
            Return pd.DataFrame when pandas is installed.
            If False or pandas is not installed, return dict.

        metric_period : int, [default=1]
            The frequency of iterations to print the information to stdout. The value should be a positive integer.

        verbose : bool or int
            If verbose is bool, then if set to True, logging_level is set to Verbose,
            if set to False, logging_level is set to Silent.
            If verbose is int, it determines the frequency of writing metrics to output and
            logging_level is set to Verbose.

        verbose_eval : bool or int
            Synonym for verbose. Only one of these parameters should be set.

        plot : bool, optional (default=False)
            If True, draw train and eval error in Jupyter notebook

        plot_file : file-like or str, optional (default=None)
            If not None, save train and eval error graphs to file

        early_stopping_rounds : int
            Activates Iter overfitting detector with od_wait set to early_stopping_rounds.

        save_snapshot : bool, [default=None]
            Enable progress snapshotting for restoring progress after crashes or interruptions

        snapshot_file : string or os.PathLike, [default=None]
            Learn progress snapshot file path, if None will use default filename

        snapshot_interval: int, [default=600]
            Interval between saving snapshots (seconds)

        metric_update_interval: float, [default=0.5]
            Interval between updating metrics (seconds)

        folds: generator or iterator of (train_idx, test_idx) tuples, scikit-learn splitter object or None, optional (default=None)
            If generator or iterator, it should yield the train and test indices for each fold.
            If object, it should be one of the scikit-learn splitter classes
            (https://scikit-learn.org/stable/modules/classes.html#splitter-classes)
            and have ``split`` method.
            if folds is not None, then all of fold_count, shuffle, partition_random_seed, inverted are None

        return_models: bool, optional (default=False)
            if True, return a list of models fitted for each CV fold

        log_cout: output stream or callback for logging (default=None)
            If None is specified, sys.stdout is used

        log_cerr: error stream or callback for logging (default=None)
            If None is specified, sys.stderr is used

        Returns
        -------
        cv results : pandas.core.frame.DataFrame with cross-validation results
            columns are: test-error-mean  test-error-std  train-error-mean  train-error-std
        cv models : list of trained models, if return_models=True

    enum_from_enum_or_str(enum_type, arg)

    log_fixup(log_cout=None, log_cerr=None)

    metric_description_or_str_to_str(description)

    plot_features_selection_loss_graph(title, entities_name, entities_name_in_fields, eliminated_entities_indices, eliminated_entities_names, loss_graph, cost_graph=None)

    plot_features_selection_loss_graphs(summary)

    plot_wrapper(plot, plot_file, plot_title, train_dirs)

    sample_gaussian_process(X, y, eval_set=None, cat_features=None, text_features=None, embedding_features=None, random_seed=None, samples=10, posterior_iterations=900, prior_iterations=100, learning_rate=0.1, depth=6, sigma=0.1, delta=0, random_strength=0.1, random_score_type='Gumbel', eps=0.0001, verbose=False)
        Implementation of Gaussian process sampling (Kernel Gradient Boosting/Algorithm 4) from "Gradient Boosting Performs Gaussian Process Inference" https://arxiv.org/abs/2206.05608
        Produces samples from posterior GP with prior assumption f ~ GP(0, sigma ** 2 K + delta ** 2 I)

        Parameters
        ----------
        X : list or numpy.ndarray or pandas.DataFrame or pandas.Series or polars.DataFrame or catboost.FeaturesData
            If catboost.FeaturesData it must be 2 dimensional Feature matrix
            Must be non-empty (contain > 0 objects)
        y : list or numpy.ndarray or pandas.DataFrame or pandas.Series
            Labels of the training data.
            Must be a single-dimensional array with numerical values.
        eval_set : catboost.Pool or list of catboost.Pool or tuple (X, y) or list [(X, y)], optional (default=None)
            Validation dataset or datasets for metrics calculation and possibly early stopping in posterior training.
        cat_features : list or numpy.ndarray, optional (default=None)
            If not None, giving the list of Categ columns indices.
            Use only if X is not catboost.FeaturesData
        text_features : list or numpy.ndarray, optional (default=None)
            If not none, giving the list of Text columns indices.
            Use only if X is not catboost.FeaturesData
        embedding_features : list or numpy.ndarray, optional (default=None)
            If not none, giving the list of Embedding columns indices.
            Use only if X is not catboost.FeaturesData
        random_seed : int, [default=None]
            Random number seed.
            If None, 0 is used.
            range: [0,+inf)
        samples : int, [default=10]
            Number of Monte-Carlo samples from GP posterior. Controls how many models this function will return.
            range: [1,+inf)
        posterior_iterations : int, [default=900]
            Max count of trees for posterior sampling step.
            range: [1,+inf)
        prior_iterations : int, [default=100]
            Max count of trees for prior sampling step.
            range: [1,+inf]
        learning_rate : float, [default=0.1]
            Step size shrinkage used in update to prevent overfitting.
            range: (0,1]
        depth : int, [default=6]
            Depth of the trees in the models.
            range: [1,16]
        sigma : float, [default=0.1]
            Scale of GP kernel (lower values lead to lower posterior variance)
            range: (0,+inf)
        delta : float, [default=0]
            Scale of homogenious noise of GP kernel (adjust if target is noisy)
            range: [0,+inf)
        random_strength : float, [default=0.1]
            Corresponds to parameter beta in the paper. Higher values lead to faster convergence to GP posterior.
            range: (0,+inf)
        random_score_type : string [default='Gumbel']
            Type of random noise added to scores.
            Possible values:
                - 'Gumbel' - Gumbel-distributed (as in paper)
                - 'NormalWithModelSizeDecrease' - Normally-distributed with deviation decreasing with model iteration count (default in CatBoost)
        eps : float, [default=1e-4]
            Technical parameter that controls the precision of the prior estimation.
            range: (0, 1]
        verbose : bool or int
            Verbosity of posterior model training output
            If verbose is bool, then if set to True, logging_level is set to Verbose,
            if set to False, logging_level is set to Silent.
            If verbose is int, it determines the frequency of writing metrics to output and
            logging_level is set to Verbose.

        Returns
        -------
        models : list of trained CatBoostRegressor models (size = samples parameter value)

    stringify_builtin_metrics(params)
        Replace all occurrences of BuiltinMetric with their string representations.

    stringify_builtin_metrics_list(metrics)

    sum_models(models, weights=None, ctr_merge_policy='IntersectingCountersAverage')

    to_classifier(model)

    to_ranker(model)

    to_regressor(model)

    train(pool=None, params=None, dtrain=None, logging_level=None, verbose=None, iterations=None, num_boost_round=None, evals=None, eval_set=None, plot=None, plot_file=None, verbose_eval=None, metric_period=None, early_stopping_rounds=None, save_snapshot=None, snapshot_file=None, snapshot_interval=None, init_model=None, log_cout=None, log_cerr=None)
            Train CatBoost model.

            Parameters
            ----------
            params : dict
                Parameters for CatBoost.
                If  None, all params are set to their defaults.
                If  dict, overriding parameters present in the dict.

            pool : catboost.Pool or tuple (X, y)
                Data to train on.

            iterations : int
                Number of boosting iterations. Can be set in params dict.

            evals : catboost.Pool or list of catboost.Pool or tuple (X, y) or list [(X, y)]
                Synonym for eval_set. Only one of these parameters should be set.

            dtrain : catboost.Pool or tuple (X, y)
                Synonym for pool parameter. Only one of these parameters should be set.

            logging_level : string, optional (default=None)
                Possible values:
                    - 'Silent'
                    - 'Verbose'
                    - 'Info'
                    - 'Debug'

            metric_period : int
                Frequency of evaluating metrics.

            verbose : bool or int
                If verbose is bool, then if set to True, logging_level is set to Verbose,
                if set to False, logging_level is set to Silent.
                If verbose is int, it determines the frequency of writing metrics to output and
                logging_level is set to Verbose.

            verbose_eval : bool or int
                Synonym for verbose. Only one of these parameters should be set.

            iterations : int
                Number of boosting iterations. Can be set in params dict.

            num_boost_round : int
                Synonym for iterations. Only one of these parameters should be set.

            eval_set : catboost.Pool or list of catboost.Pool or tuple (X, y) or list [(X, y)]
                Validation dataset or datasets for metrics calculation and possibly early stopping.

            plot : bool, optional (default=False)
                If True, draw train and eval error in Jupyter notebook
        `
            plot_file : file-like or str, optional (default=None)
                If not None, save train and eval error graphs to file

            early_stopping_rounds : int
                Activates Iter overfitting detector with od_wait set to early_stopping_rounds.

            save_snapshot : bool, [default=None]
                Enable progress snapshotting for restoring progress after crashes or interruptions

            snapshot_file : string or os.PathLike, [default=None]
                Learn progress snapshot file path, if None will use default filename

            snapshot_interval: int, [default=600]
                Interval between saving snapshots (seconds)

            init_model : CatBoost class or string or os.PathLike, [default=None]
                Continue training starting from the existing model.
                If this parameter is a string or os.PathLike, load initial model from the path specified by this string.

            log_cout: output stream or callback for logging (default=None)
                If None is specified, sys.stdout is used

            log_cerr: error stream or callback for logging (default=None)
                If None is specified, sys.stderr is used

            Returns
            -------
            model : CatBoost class

DATA
    ARRAY_TYPES = (<class 'list'>, <class 'numpy.ndarray'>, <class 'pandas...
    Dict = typing.Dict
        A generic version of dict.

    FLOAT_TYPES = (<class 'float'>, <class 'numpy.floating'>)
    INTEGER_TYPES = ((<class 'int'>,), <class 'numpy.integer'>)
    Optional = typing.Optional
        Optional[X] is equivalent to Union[X, None].

    PATH_TYPES = ((<class 'str'>,), <class 'os.PathLike'>)
    SPARSE_MATRIX_TYPES = (<class 'scipy.sparse._csr.csr_matrix'>, <class ...
    STRING_TYPES = ((<class 'str'>,),)
    integer_types = (<class 'int'>,)
    logger = <Logger catboost.core (WARNING)>
    string_types = (<class 'str'>,)

FILE
    c:\users\youse\appdata\local\programs\python\python312\lib\site-packages\catboost\core.py

catboost.cv
Python Library Documentation: function cv in module catboost.core

cv(pool=None, params=None, dtrain=None, iterations=None, num_boost_round=None, fold_count=None, nfold=None, inverted=False, partition_random_seed=0, seed=None, shuffle=True, logging_level=None, stratified=None, as_pandas=True, metric_period=None, verbose=None, verbose_eval=None, plot=False, plot_file=None, early_stopping_rounds=None, save_snapshot=None, snapshot_file=None, snapshot_interval=None, metric_update_interval=0.5, folds=None, type='Classical', return_models=False, log_cout=None, log_cerr=None)
    Cross-validate the CatBoost model.

    Parameters
    ----------
    pool : catboost.Pool
        Data to cross-validate on.

    params : dict
        Parameters for CatBoost.
        CatBoost has many of parameters, all have default values.
        If  None, all params still defaults.
        If  dict, overriding some (or all) params.

    dtrain : catboost.Pool or tuple (X, y)
        Synonym for pool parameter. Only one of these parameters should be set.

    iterations : int
        Number of boosting iterations. Can be set in params dict.

    num_boost_round : int
        Synonym for iterations. Only one of these parameters should be set.

    fold_count : int, optional (default=3)
        The number of folds to split the dataset into.

    nfold : int
        Synonym for fold_count.

    type : string, optional (default='Classical')
        Type of cross-validation
        Possible values:
            - 'Classical'
            - 'Inverted'
            - 'TimeSeries'

    inverted : bool, optional (default=False)
        Train on the test fold and evaluate the model on the training folds.

    partition_random_seed : int, optional (default=0)
        Use this as the seed value for random permutation of the data.
        Permutation is performed before splitting the data for cross validation.
        Each seed generates unique data splits.

    seed : int, optional
        Synonym for partition_random_seed. This parameter is deprecated. Use
        partition_random_seed instead.
        If both parameters are initialised partition_random_seed parameter is
        ignored.

    shuffle : bool, optional (default=True)
        Shuffle the dataset objects before splitting into folds.

    logging_level : string, optional (default=None)
        Possible values:
            - 'Silent'
            - 'Verbose'
            - 'Info'
            - 'Debug'

    stratified : bool, optional (default=None)
        Perform stratified sampling. True for classification and False otherwise.

    as_pandas : bool, optional (default=True)
        Return pd.DataFrame when pandas is installed.
        If False or pandas is not installed, return dict.

    metric_period : int, [default=1]
        The frequency of iterations to print the information to stdout. The value should be a positive integer.

    verbose : bool or int
        If verbose is bool, then if set to True, logging_level is set to Verbose,
        if set to False, logging_level is set to Silent.
        If verbose is int, it determines the frequency of writing metrics to output and
        logging_level is set to Verbose.

    verbose_eval : bool or int
        Synonym for verbose. Only one of these parameters should be set.

    plot : bool, optional (default=False)
        If True, draw train and eval error in Jupyter notebook

    plot_file : file-like or str, optional (default=None)
        If not None, save train and eval error graphs to file

    early_stopping_rounds : int
        Activates Iter overfitting detector with od_wait set to early_stopping_rounds.

    save_snapshot : bool, [default=None]
        Enable progress snapshotting for restoring progress after crashes or interruptions

    snapshot_file : string or os.PathLike, [default=None]
        Learn progress snapshot file path, if None will use default filename

    snapshot_interval: int, [default=600]
        Interval between saving snapshots (seconds)

    metric_update_interval: float, [default=0.5]
        Interval between updating metrics (seconds)

    folds: generator or iterator of (train_idx, test_idx) tuples, scikit-learn splitter object or None, optional (default=None)
        If generator or iterator, it should yield the train and test indices for each fold.
        If object, it should be one of the scikit-learn splitter classes
        (https://scikit-learn.org/stable/modules/classes.html#splitter-classes)
        and have ``split`` method.
        if folds is not None, then all of fold_count, shuffle, partition_random_seed, inverted are None

    return_models: bool, optional (default=False)
        if True, return a list of models fitted for each CV fold

    log_cout: output stream or callback for logging (default=None)
        If None is specified, sys.stdout is used

    log_cerr: error stream or callback for logging (default=None)
        If None is specified, sys.stderr is used

    Returns
    -------
    cv results : pandas.core.frame.DataFrame with cross-validation results
        columns are: test-error-mean  test-error-std  train-error-mean  train-error-std
    cv models : list of trained models, if return_models=True
catboost.lgbm_plotting_callback
Python Library Documentation: function lgbm_plotting_callback in module catboost.widget.callbacks

lgbm_plotting_callback()
    LightGBM callback with metrics plotting widget from CatBoost
catboost.metrics
Python Library Documentation: module catboost.metrics in catboost

NAME
    catboost.metrics

CLASSES
    BuiltinMetric(builtins.object)
        AUC
        AUCMulticlass
        Accuracy
        AverageGain
        BalancedAccuracy
        BalancedErrorRate
        BrierScore
        Combination
        Cox
        CrossEntropy
        CtrFactor
        DCG
        ERR
        Expectile
        F
        F1
        FairLoss
        FilteredDCG
        Focal
        GroupQuantile
        HammingLoss
        HingeLoss
        Huber
        Kappa
        LogCosh
        LogLikelihoodOfPrediction
        LogLinQuantile
        Logloss
        Lq
        MAE
        MAP
        MAPE
        MCC
        MRR
        MSLE
        MedianAbsoluteError
        MultiClass
        MultiClassOneVsAll
        MultiCrossEntropy
        MultiLogloss
        MultiQuantile
        MultiRMSE
        MultiRMSEWithMissingValues
        NDCG
        NormalizedGini
        NormalizedGiniMulticlass
        NumErrors
        PFound
        PRAUC
        PRAUCMulticlass
        PairAccuracy
        PairLogit
        PairLogitPairwise
        Poisson
        Precision
        PrecisionAt
        Quantile
        QueryAUC
        QueryAUCMulticlass
        QueryAverage
        QueryCrossEntropy
        QueryRMSE
        QuerySoftMax
        R2
        RMSE
        RMSEWithUncertainty
        RMSPE
        Recall
        RecallAt
        SMAPE
        SurvivalAft
        TotalF1
        Tweedie
        UserPerObjMetric
        UserQuerywiseMetric
        WKappa
        ZeroOneLoss

    class AUC(BuiltinMetric)
     |  AUC(**kwargs)
     |
     |  Builtin metric: 'AUC'
     |  Parameters:
     |      type = 'Classic' (default value)
     |      hints = 'skip_train~true' (default value)
     |      use_weights = False (default value)
     |
     |  Method resolution order:
     |      AUC
     |      BuiltinMetric
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __repr__ lambda self from _MetricGenerator.__new__.<locals>
     |
     |  __str__ = _to_string(metric_obj)
     |
     |  set_hints(self, **hints) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Static methods defined here:
     |
     |  params_with_defaults lambda (...) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  hints
     |      Parameter hints of metric AUC
     |
     |  type
     |      Parameter type of metric AUC
     |
     |  use_weights
     |      Parameter use_weights of metric AUC
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from BuiltinMetric:
     |
     |  eval(self, label, approx, weight=None, group_id=None, group_weight=None, subgroup_id=None, pairs=None, thread_count=-1)
     |      Evaluate the metric with raw approxes and labels.
     |
     |      Parameters
     |      ----------
     |      label : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object labels.
     |
     |      approx : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object approxes.
     |
     |      weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object weights.
     |
     |      group_id : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object group ids.
     |
     |      group_weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Group weights.
     |
     |      subgroup_id : list or numpy.ndarray, optional (default=None)
     |          subgroup id for each instance.
     |          If not None, giving 1 dimensional array like data.
     |
     |      pairs : list or numpy.ndarray or pandas.DataFrame or string or pathlib.Path
     |          The pairs description.
     |          If list or numpy.ndarrays or pandas.DataFrame, giving 2 dimensional.
     |          The shape should be Nx2, where N is the pairs' count. The first element of the pair is
     |          the index of winner object in the training set. The second element of the pair is
     |          the index of loser object in the training set.
     |          If string or pathlib.Path, giving the path to the file with pairs description.
     |
     |      thread_count : int, optional (default=-1)
     |          Number of threads to work with.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      Returns
     |      -------
     |      metric results : list with metric values.
     |
     |  is_max_optimal(self)
     |      Returns
     |      ----------
     |      bool : True if metric is maximizable, False otherwise
     |
     |  is_min_optimal(self)
     |      Returns
     |      ----------
     |      bool :  True if metric is minimizable, False otherwise
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from BuiltinMetric:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

    class AUCMulticlass(BuiltinMetric)
     |  AUCMulticlass(**kwargs)
     |
     |  Builtin metric: 'AUCMulticlass'
     |  Parameters:
     |      misclass_cost_matrix = None (default value)
     |      type = 'Mu' (default value)
     |      hints = 'skip_train~true' (default value)
     |      use_weights = False (default value)
     |
     |  Method resolution order:
     |      AUCMulticlass
     |      BuiltinMetric
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __repr__ lambda self from _MetricGenerator.__new__.<locals>
     |
     |  __str__ = _to_string(metric_obj)
     |
     |  set_hints(self, **hints) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Static methods defined here:
     |
     |  params_with_defaults lambda (...) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  hints
     |      Parameter hints of metric AUCMulticlass
     |
     |  misclass_cost_matrix
     |      Parameter misclass_cost_matrix of metric AUCMulticlass
     |
     |  type
     |      Parameter type of metric AUCMulticlass
     |
     |  use_weights
     |      Parameter use_weights of metric AUCMulticlass
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from BuiltinMetric:
     |
     |  eval(self, label, approx, weight=None, group_id=None, group_weight=None, subgroup_id=None, pairs=None, thread_count=-1)
     |      Evaluate the metric with raw approxes and labels.
     |
     |      Parameters
     |      ----------
     |      label : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object labels.
     |
     |      approx : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object approxes.
     |
     |      weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object weights.
     |
     |      group_id : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object group ids.
     |
     |      group_weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Group weights.
     |
     |      subgroup_id : list or numpy.ndarray, optional (default=None)
     |          subgroup id for each instance.
     |          If not None, giving 1 dimensional array like data.
     |
     |      pairs : list or numpy.ndarray or pandas.DataFrame or string or pathlib.Path
     |          The pairs description.
     |          If list or numpy.ndarrays or pandas.DataFrame, giving 2 dimensional.
     |          The shape should be Nx2, where N is the pairs' count. The first element of the pair is
     |          the index of winner object in the training set. The second element of the pair is
     |          the index of loser object in the training set.
     |          If string or pathlib.Path, giving the path to the file with pairs description.
     |
     |      thread_count : int, optional (default=-1)
     |          Number of threads to work with.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      Returns
     |      -------
     |      metric results : list with metric values.
     |
     |  is_max_optimal(self)
     |      Returns
     |      ----------
     |      bool : True if metric is maximizable, False otherwise
     |
     |  is_min_optimal(self)
     |      Returns
     |      ----------
     |      bool :  True if metric is minimizable, False otherwise
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from BuiltinMetric:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

    class Accuracy(BuiltinMetric)
     |  Accuracy(**kwargs)
     |
     |  Builtin metric: 'Accuracy'
     |  Parameters:
     |      type = 'Classic' (default value)
     |      use_weights = True (default value)
     |      hints = '' (default value)
     |
     |  Method resolution order:
     |      Accuracy
     |      BuiltinMetric
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __repr__ lambda self from _MetricGenerator.__new__.<locals>
     |
     |  __str__ = _to_string(metric_obj)
     |
     |  set_hints(self, **hints) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Static methods defined here:
     |
     |  params_with_defaults lambda (...) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  hints
     |      Parameter hints of metric Accuracy
     |
     |  type
     |      Parameter type of metric Accuracy
     |
     |  use_weights
     |      Parameter use_weights of metric Accuracy
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from BuiltinMetric:
     |
     |  eval(self, label, approx, weight=None, group_id=None, group_weight=None, subgroup_id=None, pairs=None, thread_count=-1)
     |      Evaluate the metric with raw approxes and labels.
     |
     |      Parameters
     |      ----------
     |      label : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object labels.
     |
     |      approx : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object approxes.
     |
     |      weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object weights.
     |
     |      group_id : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object group ids.
     |
     |      group_weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Group weights.
     |
     |      subgroup_id : list or numpy.ndarray, optional (default=None)
     |          subgroup id for each instance.
     |          If not None, giving 1 dimensional array like data.
     |
     |      pairs : list or numpy.ndarray or pandas.DataFrame or string or pathlib.Path
     |          The pairs description.
     |          If list or numpy.ndarrays or pandas.DataFrame, giving 2 dimensional.
     |          The shape should be Nx2, where N is the pairs' count. The first element of the pair is
     |          the index of winner object in the training set. The second element of the pair is
     |          the index of loser object in the training set.
     |          If string or pathlib.Path, giving the path to the file with pairs description.
     |
     |      thread_count : int, optional (default=-1)
     |          Number of threads to work with.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      Returns
     |      -------
     |      metric results : list with metric values.
     |
     |  is_max_optimal(self)
     |      Returns
     |      ----------
     |      bool : True if metric is maximizable, False otherwise
     |
     |  is_min_optimal(self)
     |      Returns
     |      ----------
     |      bool :  True if metric is minimizable, False otherwise
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from BuiltinMetric:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

    class AverageGain(BuiltinMetric)
     |  AverageGain(**kwargs)
     |
     |  Builtin metric: 'AverageGain'
     |  Parameters:
     |      top (mandatory)
     |      use_weights = True (default value)
     |      hints = '' (default value)
     |
     |  Method resolution order:
     |      AverageGain
     |      BuiltinMetric
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __repr__ lambda self from _MetricGenerator.__new__.<locals>
     |
     |  __str__ = _to_string(metric_obj)
     |
     |  set_hints(self, **hints) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Static methods defined here:
     |
     |  params_with_defaults lambda (...) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  hints
     |      Parameter hints of metric AverageGain
     |
     |  top
     |      Parameter top of metric AverageGain
     |
     |  use_weights
     |      Parameter use_weights of metric AverageGain
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from BuiltinMetric:
     |
     |  eval(self, label, approx, weight=None, group_id=None, group_weight=None, subgroup_id=None, pairs=None, thread_count=-1)
     |      Evaluate the metric with raw approxes and labels.
     |
     |      Parameters
     |      ----------
     |      label : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object labels.
     |
     |      approx : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object approxes.
     |
     |      weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object weights.
     |
     |      group_id : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object group ids.
     |
     |      group_weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Group weights.
     |
     |      subgroup_id : list or numpy.ndarray, optional (default=None)
     |          subgroup id for each instance.
     |          If not None, giving 1 dimensional array like data.
     |
     |      pairs : list or numpy.ndarray or pandas.DataFrame or string or pathlib.Path
     |          The pairs description.
     |          If list or numpy.ndarrays or pandas.DataFrame, giving 2 dimensional.
     |          The shape should be Nx2, where N is the pairs' count. The first element of the pair is
     |          the index of winner object in the training set. The second element of the pair is
     |          the index of loser object in the training set.
     |          If string or pathlib.Path, giving the path to the file with pairs description.
     |
     |      thread_count : int, optional (default=-1)
     |          Number of threads to work with.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      Returns
     |      -------
     |      metric results : list with metric values.
     |
     |  is_max_optimal(self)
     |      Returns
     |      ----------
     |      bool : True if metric is maximizable, False otherwise
     |
     |  is_min_optimal(self)
     |      Returns
     |      ----------
     |      bool :  True if metric is minimizable, False otherwise
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from BuiltinMetric:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

    class BalancedAccuracy(BuiltinMetric)
     |  BalancedAccuracy(**kwargs)
     |
     |  Builtin metric: 'BalancedAccuracy'
     |  Parameters:
     |      border = 0.5 (default value)
     |      use_weights = True (default value)
     |      hints = '' (default value)
     |
     |  Method resolution order:
     |      BalancedAccuracy
     |      BuiltinMetric
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __repr__ lambda self from _MetricGenerator.__new__.<locals>
     |
     |  __str__ = _to_string(metric_obj)
     |
     |  set_hints(self, **hints) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Static methods defined here:
     |
     |  params_with_defaults lambda (...) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  border
     |      Parameter border of metric BalancedAccuracy
     |
     |  hints
     |      Parameter hints of metric BalancedAccuracy
     |
     |  use_weights
     |      Parameter use_weights of metric BalancedAccuracy
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from BuiltinMetric:
     |
     |  eval(self, label, approx, weight=None, group_id=None, group_weight=None, subgroup_id=None, pairs=None, thread_count=-1)
     |      Evaluate the metric with raw approxes and labels.
     |
     |      Parameters
     |      ----------
     |      label : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object labels.
     |
     |      approx : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object approxes.
     |
     |      weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object weights.
     |
     |      group_id : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object group ids.
     |
     |      group_weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Group weights.
     |
     |      subgroup_id : list or numpy.ndarray, optional (default=None)
     |          subgroup id for each instance.
     |          If not None, giving 1 dimensional array like data.
     |
     |      pairs : list or numpy.ndarray or pandas.DataFrame or string or pathlib.Path
     |          The pairs description.
     |          If list or numpy.ndarrays or pandas.DataFrame, giving 2 dimensional.
     |          The shape should be Nx2, where N is the pairs' count. The first element of the pair is
     |          the index of winner object in the training set. The second element of the pair is
     |          the index of loser object in the training set.
     |          If string or pathlib.Path, giving the path to the file with pairs description.
     |
     |      thread_count : int, optional (default=-1)
     |          Number of threads to work with.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      Returns
     |      -------
     |      metric results : list with metric values.
     |
     |  is_max_optimal(self)
     |      Returns
     |      ----------
     |      bool : True if metric is maximizable, False otherwise
     |
     |  is_min_optimal(self)
     |      Returns
     |      ----------
     |      bool :  True if metric is minimizable, False otherwise
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from BuiltinMetric:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

    class BalancedErrorRate(BuiltinMetric)
     |  BalancedErrorRate(**kwargs)
     |
     |  Builtin metric: 'BalancedErrorRate'
     |  Parameters:
     |      border = 0.5 (default value)
     |      use_weights = True (default value)
     |      hints = '' (default value)
     |
     |  Method resolution order:
     |      BalancedErrorRate
     |      BuiltinMetric
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __repr__ lambda self from _MetricGenerator.__new__.<locals>
     |
     |  __str__ = _to_string(metric_obj)
     |
     |  set_hints(self, **hints) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Static methods defined here:
     |
     |  params_with_defaults lambda (...) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  border
     |      Parameter border of metric BalancedErrorRate
     |
     |  hints
     |      Parameter hints of metric BalancedErrorRate
     |
     |  use_weights
     |      Parameter use_weights of metric BalancedErrorRate
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from BuiltinMetric:
     |
     |  eval(self, label, approx, weight=None, group_id=None, group_weight=None, subgroup_id=None, pairs=None, thread_count=-1)
     |      Evaluate the metric with raw approxes and labels.
     |
     |      Parameters
     |      ----------
     |      label : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object labels.
     |
     |      approx : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object approxes.
     |
     |      weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object weights.
     |
     |      group_id : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object group ids.
     |
     |      group_weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Group weights.
     |
     |      subgroup_id : list or numpy.ndarray, optional (default=None)
     |          subgroup id for each instance.
     |          If not None, giving 1 dimensional array like data.
     |
     |      pairs : list or numpy.ndarray or pandas.DataFrame or string or pathlib.Path
     |          The pairs description.
     |          If list or numpy.ndarrays or pandas.DataFrame, giving 2 dimensional.
     |          The shape should be Nx2, where N is the pairs' count. The first element of the pair is
     |          the index of winner object in the training set. The second element of the pair is
     |          the index of loser object in the training set.
     |          If string or pathlib.Path, giving the path to the file with pairs description.
     |
     |      thread_count : int, optional (default=-1)
     |          Number of threads to work with.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      Returns
     |      -------
     |      metric results : list with metric values.
     |
     |  is_max_optimal(self)
     |      Returns
     |      ----------
     |      bool : True if metric is maximizable, False otherwise
     |
     |  is_min_optimal(self)
     |      Returns
     |      ----------
     |      bool :  True if metric is minimizable, False otherwise
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from BuiltinMetric:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

    class BrierScore(BuiltinMetric)
     |  BrierScore(**kwargs)
     |
     |  Builtin metric: 'BrierScore'
     |  Parameters:
     |      use_weights = True (default value)
     |      hints = '' (default value)
     |
     |  Method resolution order:
     |      BrierScore
     |      BuiltinMetric
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __repr__ lambda self from _MetricGenerator.__new__.<locals>
     |
     |  __str__ = _to_string(metric_obj)
     |
     |  set_hints(self, **hints) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Static methods defined here:
     |
     |  params_with_defaults lambda (...) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  hints
     |      Parameter hints of metric BrierScore
     |
     |  use_weights
     |      Parameter use_weights of metric BrierScore
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from BuiltinMetric:
     |
     |  eval(self, label, approx, weight=None, group_id=None, group_weight=None, subgroup_id=None, pairs=None, thread_count=-1)
     |      Evaluate the metric with raw approxes and labels.
     |
     |      Parameters
     |      ----------
     |      label : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object labels.
     |
     |      approx : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object approxes.
     |
     |      weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object weights.
     |
     |      group_id : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object group ids.
     |
     |      group_weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Group weights.
     |
     |      subgroup_id : list or numpy.ndarray, optional (default=None)
     |          subgroup id for each instance.
     |          If not None, giving 1 dimensional array like data.
     |
     |      pairs : list or numpy.ndarray or pandas.DataFrame or string or pathlib.Path
     |          The pairs description.
     |          If list or numpy.ndarrays or pandas.DataFrame, giving 2 dimensional.
     |          The shape should be Nx2, where N is the pairs' count. The first element of the pair is
     |          the index of winner object in the training set. The second element of the pair is
     |          the index of loser object in the training set.
     |          If string or pathlib.Path, giving the path to the file with pairs description.
     |
     |      thread_count : int, optional (default=-1)
     |          Number of threads to work with.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      Returns
     |      -------
     |      metric results : list with metric values.
     |
     |  is_max_optimal(self)
     |      Returns
     |      ----------
     |      bool : True if metric is maximizable, False otherwise
     |
     |  is_min_optimal(self)
     |      Returns
     |      ----------
     |      bool :  True if metric is minimizable, False otherwise
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from BuiltinMetric:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

    class Combination(BuiltinMetric)
     |  Combination(**kwargs)
     |
     |  Builtin metric: 'Combination'
     |  Parameters:
     |      hints = '' (default value)
     |
     |  Method resolution order:
     |      Combination
     |      BuiltinMetric
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __repr__ lambda self from _MetricGenerator.__new__.<locals>
     |
     |  __str__ = _to_string(metric_obj)
     |
     |  set_hints(self, **hints) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Static methods defined here:
     |
     |  params_with_defaults lambda (...) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  hints
     |      Parameter hints of metric Combination
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from BuiltinMetric:
     |
     |  eval(self, label, approx, weight=None, group_id=None, group_weight=None, subgroup_id=None, pairs=None, thread_count=-1)
     |      Evaluate the metric with raw approxes and labels.
     |
     |      Parameters
     |      ----------
     |      label : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object labels.
     |
     |      approx : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object approxes.
     |
     |      weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object weights.
     |
     |      group_id : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object group ids.
     |
     |      group_weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Group weights.
     |
     |      subgroup_id : list or numpy.ndarray, optional (default=None)
     |          subgroup id for each instance.
     |          If not None, giving 1 dimensional array like data.
     |
     |      pairs : list or numpy.ndarray or pandas.DataFrame or string or pathlib.Path
     |          The pairs description.
     |          If list or numpy.ndarrays or pandas.DataFrame, giving 2 dimensional.
     |          The shape should be Nx2, where N is the pairs' count. The first element of the pair is
     |          the index of winner object in the training set. The second element of the pair is
     |          the index of loser object in the training set.
     |          If string or pathlib.Path, giving the path to the file with pairs description.
     |
     |      thread_count : int, optional (default=-1)
     |          Number of threads to work with.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      Returns
     |      -------
     |      metric results : list with metric values.
     |
     |  is_max_optimal(self)
     |      Returns
     |      ----------
     |      bool : True if metric is maximizable, False otherwise
     |
     |  is_min_optimal(self)
     |      Returns
     |      ----------
     |      bool :  True if metric is minimizable, False otherwise
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from BuiltinMetric:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

    class Cox(BuiltinMetric)
     |  Cox(**kwargs)
     |
     |  Builtin metric: 'Cox'
     |  Parameters:
     |      hints = '' (default value)
     |
     |  Method resolution order:
     |      Cox
     |      BuiltinMetric
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __repr__ lambda self from _MetricGenerator.__new__.<locals>
     |
     |  __str__ = _to_string(metric_obj)
     |
     |  set_hints(self, **hints) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Static methods defined here:
     |
     |  params_with_defaults lambda (...) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  hints
     |      Parameter hints of metric Cox
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from BuiltinMetric:
     |
     |  eval(self, label, approx, weight=None, group_id=None, group_weight=None, subgroup_id=None, pairs=None, thread_count=-1)
     |      Evaluate the metric with raw approxes and labels.
     |
     |      Parameters
     |      ----------
     |      label : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object labels.
     |
     |      approx : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object approxes.
     |
     |      weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object weights.
     |
     |      group_id : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object group ids.
     |
     |      group_weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Group weights.
     |
     |      subgroup_id : list or numpy.ndarray, optional (default=None)
     |          subgroup id for each instance.
     |          If not None, giving 1 dimensional array like data.
     |
     |      pairs : list or numpy.ndarray or pandas.DataFrame or string or pathlib.Path
     |          The pairs description.
     |          If list or numpy.ndarrays or pandas.DataFrame, giving 2 dimensional.
     |          The shape should be Nx2, where N is the pairs' count. The first element of the pair is
     |          the index of winner object in the training set. The second element of the pair is
     |          the index of loser object in the training set.
     |          If string or pathlib.Path, giving the path to the file with pairs description.
     |
     |      thread_count : int, optional (default=-1)
     |          Number of threads to work with.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      Returns
     |      -------
     |      metric results : list with metric values.
     |
     |  is_max_optimal(self)
     |      Returns
     |      ----------
     |      bool : True if metric is maximizable, False otherwise
     |
     |  is_min_optimal(self)
     |      Returns
     |      ----------
     |      bool :  True if metric is minimizable, False otherwise
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from BuiltinMetric:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

    class CrossEntropy(BuiltinMetric)
     |  CrossEntropy(**kwargs)
     |
     |  Builtin metric: 'CrossEntropy'
     |  Parameters:
     |      use_weights = True (default value)
     |      hints = '' (default value)
     |
     |  Method resolution order:
     |      CrossEntropy
     |      BuiltinMetric
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __repr__ lambda self from _MetricGenerator.__new__.<locals>
     |
     |  __str__ = _to_string(metric_obj)
     |
     |  set_hints(self, **hints) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Static methods defined here:
     |
     |  params_with_defaults lambda (...) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  hints
     |      Parameter hints of metric CrossEntropy
     |
     |  use_weights
     |      Parameter use_weights of metric CrossEntropy
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from BuiltinMetric:
     |
     |  eval(self, label, approx, weight=None, group_id=None, group_weight=None, subgroup_id=None, pairs=None, thread_count=-1)
     |      Evaluate the metric with raw approxes and labels.
     |
     |      Parameters
     |      ----------
     |      label : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object labels.
     |
     |      approx : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object approxes.
     |
     |      weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object weights.
     |
     |      group_id : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object group ids.
     |
     |      group_weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Group weights.
     |
     |      subgroup_id : list or numpy.ndarray, optional (default=None)
     |          subgroup id for each instance.
     |          If not None, giving 1 dimensional array like data.
     |
     |      pairs : list or numpy.ndarray or pandas.DataFrame or string or pathlib.Path
     |          The pairs description.
     |          If list or numpy.ndarrays or pandas.DataFrame, giving 2 dimensional.
     |          The shape should be Nx2, where N is the pairs' count. The first element of the pair is
     |          the index of winner object in the training set. The second element of the pair is
     |          the index of loser object in the training set.
     |          If string or pathlib.Path, giving the path to the file with pairs description.
     |
     |      thread_count : int, optional (default=-1)
     |          Number of threads to work with.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      Returns
     |      -------
     |      metric results : list with metric values.
     |
     |  is_max_optimal(self)
     |      Returns
     |      ----------
     |      bool : True if metric is maximizable, False otherwise
     |
     |  is_min_optimal(self)
     |      Returns
     |      ----------
     |      bool :  True if metric is minimizable, False otherwise
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from BuiltinMetric:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

    class CtrFactor(BuiltinMetric)
     |  CtrFactor(**kwargs)
     |
     |  Builtin metric: 'CtrFactor'
     |  Parameters:
     |      use_weights = True (default value)
     |      hints = '' (default value)
     |
     |  Method resolution order:
     |      CtrFactor
     |      BuiltinMetric
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __repr__ lambda self from _MetricGenerator.__new__.<locals>
     |
     |  __str__ = _to_string(metric_obj)
     |
     |  set_hints(self, **hints) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Static methods defined here:
     |
     |  params_with_defaults lambda (...) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  hints
     |      Parameter hints of metric CtrFactor
     |
     |  use_weights
     |      Parameter use_weights of metric CtrFactor
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from BuiltinMetric:
     |
     |  eval(self, label, approx, weight=None, group_id=None, group_weight=None, subgroup_id=None, pairs=None, thread_count=-1)
     |      Evaluate the metric with raw approxes and labels.
     |
     |      Parameters
     |      ----------
     |      label : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object labels.
     |
     |      approx : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object approxes.
     |
     |      weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object weights.
     |
     |      group_id : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object group ids.
     |
     |      group_weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Group weights.
     |
     |      subgroup_id : list or numpy.ndarray, optional (default=None)
     |          subgroup id for each instance.
     |          If not None, giving 1 dimensional array like data.
     |
     |      pairs : list or numpy.ndarray or pandas.DataFrame or string or pathlib.Path
     |          The pairs description.
     |          If list or numpy.ndarrays or pandas.DataFrame, giving 2 dimensional.
     |          The shape should be Nx2, where N is the pairs' count. The first element of the pair is
     |          the index of winner object in the training set. The second element of the pair is
     |          the index of loser object in the training set.
     |          If string or pathlib.Path, giving the path to the file with pairs description.
     |
     |      thread_count : int, optional (default=-1)
     |          Number of threads to work with.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      Returns
     |      -------
     |      metric results : list with metric values.
     |
     |  is_max_optimal(self)
     |      Returns
     |      ----------
     |      bool : True if metric is maximizable, False otherwise
     |
     |  is_min_optimal(self)
     |      Returns
     |      ----------
     |      bool :  True if metric is minimizable, False otherwise
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from BuiltinMetric:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

    class DCG(BuiltinMetric)
     |  DCG(**kwargs)
     |
     |  Builtin metric: 'DCG'
     |  Parameters:
     |      denominator = 'LogPosition' (default value)
     |      type = 'Base' (default value)
     |      hints = 'skip_train~true' (default value)
     |      top = -1 (default value)
     |      use_weights = True (default value)
     |
     |  Method resolution order:
     |      DCG
     |      BuiltinMetric
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __repr__ lambda self from _MetricGenerator.__new__.<locals>
     |
     |  __str__ = _to_string(metric_obj)
     |
     |  set_hints(self, **hints) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Static methods defined here:
     |
     |  params_with_defaults lambda (...) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  denominator
     |      Parameter denominator of metric DCG
     |
     |  hints
     |      Parameter hints of metric DCG
     |
     |  top
     |      Parameter top of metric DCG
     |
     |  type
     |      Parameter type of metric DCG
     |
     |  use_weights
     |      Parameter use_weights of metric DCG
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from BuiltinMetric:
     |
     |  eval(self, label, approx, weight=None, group_id=None, group_weight=None, subgroup_id=None, pairs=None, thread_count=-1)
     |      Evaluate the metric with raw approxes and labels.
     |
     |      Parameters
     |      ----------
     |      label : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object labels.
     |
     |      approx : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object approxes.
     |
     |      weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object weights.
     |
     |      group_id : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object group ids.
     |
     |      group_weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Group weights.
     |
     |      subgroup_id : list or numpy.ndarray, optional (default=None)
     |          subgroup id for each instance.
     |          If not None, giving 1 dimensional array like data.
     |
     |      pairs : list or numpy.ndarray or pandas.DataFrame or string or pathlib.Path
     |          The pairs description.
     |          If list or numpy.ndarrays or pandas.DataFrame, giving 2 dimensional.
     |          The shape should be Nx2, where N is the pairs' count. The first element of the pair is
     |          the index of winner object in the training set. The second element of the pair is
     |          the index of loser object in the training set.
     |          If string or pathlib.Path, giving the path to the file with pairs description.
     |
     |      thread_count : int, optional (default=-1)
     |          Number of threads to work with.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      Returns
     |      -------
     |      metric results : list with metric values.
     |
     |  is_max_optimal(self)
     |      Returns
     |      ----------
     |      bool : True if metric is maximizable, False otherwise
     |
     |  is_min_optimal(self)
     |      Returns
     |      ----------
     |      bool :  True if metric is minimizable, False otherwise
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from BuiltinMetric:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

    class ERR(BuiltinMetric)
     |  ERR(**kwargs)
     |
     |  Builtin metric: 'ERR'
     |  Parameters:
     |      top = -1 (default value)
     |      use_weights = True (default value)
     |      hints = '' (default value)
     |
     |  Method resolution order:
     |      ERR
     |      BuiltinMetric
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __repr__ lambda self from _MetricGenerator.__new__.<locals>
     |
     |  __str__ = _to_string(metric_obj)
     |
     |  set_hints(self, **hints) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Static methods defined here:
     |
     |  params_with_defaults lambda (...) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  hints
     |      Parameter hints of metric ERR
     |
     |  top
     |      Parameter top of metric ERR
     |
     |  use_weights
     |      Parameter use_weights of metric ERR
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from BuiltinMetric:
     |
     |  eval(self, label, approx, weight=None, group_id=None, group_weight=None, subgroup_id=None, pairs=None, thread_count=-1)
     |      Evaluate the metric with raw approxes and labels.
     |
     |      Parameters
     |      ----------
     |      label : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object labels.
     |
     |      approx : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object approxes.
     |
     |      weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object weights.
     |
     |      group_id : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object group ids.
     |
     |      group_weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Group weights.
     |
     |      subgroup_id : list or numpy.ndarray, optional (default=None)
     |          subgroup id for each instance.
     |          If not None, giving 1 dimensional array like data.
     |
     |      pairs : list or numpy.ndarray or pandas.DataFrame or string or pathlib.Path
     |          The pairs description.
     |          If list or numpy.ndarrays or pandas.DataFrame, giving 2 dimensional.
     |          The shape should be Nx2, where N is the pairs' count. The first element of the pair is
     |          the index of winner object in the training set. The second element of the pair is
     |          the index of loser object in the training set.
     |          If string or pathlib.Path, giving the path to the file with pairs description.
     |
     |      thread_count : int, optional (default=-1)
     |          Number of threads to work with.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      Returns
     |      -------
     |      metric results : list with metric values.
     |
     |  is_max_optimal(self)
     |      Returns
     |      ----------
     |      bool : True if metric is maximizable, False otherwise
     |
     |  is_min_optimal(self)
     |      Returns
     |      ----------
     |      bool :  True if metric is minimizable, False otherwise
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from BuiltinMetric:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

    class Expectile(BuiltinMetric)
     |  Expectile(**kwargs)
     |
     |  Builtin metric: 'Expectile'
     |  Parameters:
     |      alpha = 0.5 (default value)
     |      use_weights = True (default value)
     |      hints = '' (default value)
     |
     |  Method resolution order:
     |      Expectile
     |      BuiltinMetric
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __repr__ lambda self from _MetricGenerator.__new__.<locals>
     |
     |  __str__ = _to_string(metric_obj)
     |
     |  set_hints(self, **hints) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Static methods defined here:
     |
     |  params_with_defaults lambda (...) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  alpha
     |      Parameter alpha of metric Expectile
     |
     |  hints
     |      Parameter hints of metric Expectile
     |
     |  use_weights
     |      Parameter use_weights of metric Expectile
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from BuiltinMetric:
     |
     |  eval(self, label, approx, weight=None, group_id=None, group_weight=None, subgroup_id=None, pairs=None, thread_count=-1)
     |      Evaluate the metric with raw approxes and labels.
     |
     |      Parameters
     |      ----------
     |      label : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object labels.
     |
     |      approx : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object approxes.
     |
     |      weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object weights.
     |
     |      group_id : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object group ids.
     |
     |      group_weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Group weights.
     |
     |      subgroup_id : list or numpy.ndarray, optional (default=None)
     |          subgroup id for each instance.
     |          If not None, giving 1 dimensional array like data.
     |
     |      pairs : list or numpy.ndarray or pandas.DataFrame or string or pathlib.Path
     |          The pairs description.
     |          If list or numpy.ndarrays or pandas.DataFrame, giving 2 dimensional.
     |          The shape should be Nx2, where N is the pairs' count. The first element of the pair is
     |          the index of winner object in the training set. The second element of the pair is
     |          the index of loser object in the training set.
     |          If string or pathlib.Path, giving the path to the file with pairs description.
     |
     |      thread_count : int, optional (default=-1)
     |          Number of threads to work with.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      Returns
     |      -------
     |      metric results : list with metric values.
     |
     |  is_max_optimal(self)
     |      Returns
     |      ----------
     |      bool : True if metric is maximizable, False otherwise
     |
     |  is_min_optimal(self)
     |      Returns
     |      ----------
     |      bool :  True if metric is minimizable, False otherwise
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from BuiltinMetric:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

    class F(BuiltinMetric)
     |  F(**kwargs)
     |
     |  Builtin metric: 'F'
     |  Parameters:
     |      beta (mandatory)
     |      use_weights = True (default value)
     |      hints = '' (default value)
     |
     |  Method resolution order:
     |      F
     |      BuiltinMetric
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __repr__ lambda self from _MetricGenerator.__new__.<locals>
     |
     |  __str__ = _to_string(metric_obj)
     |
     |  set_hints(self, **hints) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Static methods defined here:
     |
     |  params_with_defaults lambda (...) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  beta
     |      Parameter beta of metric F
     |
     |  hints
     |      Parameter hints of metric F
     |
     |  use_weights
     |      Parameter use_weights of metric F
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from BuiltinMetric:
     |
     |  eval(self, label, approx, weight=None, group_id=None, group_weight=None, subgroup_id=None, pairs=None, thread_count=-1)
     |      Evaluate the metric with raw approxes and labels.
     |
     |      Parameters
     |      ----------
     |      label : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object labels.
     |
     |      approx : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object approxes.
     |
     |      weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object weights.
     |
     |      group_id : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object group ids.
     |
     |      group_weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Group weights.
     |
     |      subgroup_id : list or numpy.ndarray, optional (default=None)
     |          subgroup id for each instance.
     |          If not None, giving 1 dimensional array like data.
     |
     |      pairs : list or numpy.ndarray or pandas.DataFrame or string or pathlib.Path
     |          The pairs description.
     |          If list or numpy.ndarrays or pandas.DataFrame, giving 2 dimensional.
     |          The shape should be Nx2, where N is the pairs' count. The first element of the pair is
     |          the index of winner object in the training set. The second element of the pair is
     |          the index of loser object in the training set.
     |          If string or pathlib.Path, giving the path to the file with pairs description.
     |
     |      thread_count : int, optional (default=-1)
     |          Number of threads to work with.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      Returns
     |      -------
     |      metric results : list with metric values.
     |
     |  is_max_optimal(self)
     |      Returns
     |      ----------
     |      bool : True if metric is maximizable, False otherwise
     |
     |  is_min_optimal(self)
     |      Returns
     |      ----------
     |      bool :  True if metric is minimizable, False otherwise
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from BuiltinMetric:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

    class F1(BuiltinMetric)
     |  F1(**kwargs)
     |
     |  Builtin metric: 'F1'
     |  Parameters:
     |      use_weights = True (default value)
     |      hints = '' (default value)
     |
     |  Method resolution order:
     |      F1
     |      BuiltinMetric
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __repr__ lambda self from _MetricGenerator.__new__.<locals>
     |
     |  __str__ = _to_string(metric_obj)
     |
     |  set_hints(self, **hints) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Static methods defined here:
     |
     |  params_with_defaults lambda (...) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  hints
     |      Parameter hints of metric F1
     |
     |  use_weights
     |      Parameter use_weights of metric F1
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from BuiltinMetric:
     |
     |  eval(self, label, approx, weight=None, group_id=None, group_weight=None, subgroup_id=None, pairs=None, thread_count=-1)
     |      Evaluate the metric with raw approxes and labels.
     |
     |      Parameters
     |      ----------
     |      label : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object labels.
     |
     |      approx : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object approxes.
     |
     |      weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object weights.
     |
     |      group_id : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object group ids.
     |
     |      group_weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Group weights.
     |
     |      subgroup_id : list or numpy.ndarray, optional (default=None)
     |          subgroup id for each instance.
     |          If not None, giving 1 dimensional array like data.
     |
     |      pairs : list or numpy.ndarray or pandas.DataFrame or string or pathlib.Path
     |          The pairs description.
     |          If list or numpy.ndarrays or pandas.DataFrame, giving 2 dimensional.
     |          The shape should be Nx2, where N is the pairs' count. The first element of the pair is
     |          the index of winner object in the training set. The second element of the pair is
     |          the index of loser object in the training set.
     |          If string or pathlib.Path, giving the path to the file with pairs description.
     |
     |      thread_count : int, optional (default=-1)
     |          Number of threads to work with.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      Returns
     |      -------
     |      metric results : list with metric values.
     |
     |  is_max_optimal(self)
     |      Returns
     |      ----------
     |      bool : True if metric is maximizable, False otherwise
     |
     |  is_min_optimal(self)
     |      Returns
     |      ----------
     |      bool :  True if metric is minimizable, False otherwise
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from BuiltinMetric:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

    class FairLoss(BuiltinMetric)
     |  FairLoss(**kwargs)
     |
     |  Builtin metric: 'FairLoss'
     |  Parameters:
     |      smoothness = 1 (default value)
     |      use_weights = True (default value)
     |      hints = '' (default value)
     |
     |  Method resolution order:
     |      FairLoss
     |      BuiltinMetric
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __repr__ lambda self from _MetricGenerator.__new__.<locals>
     |
     |  __str__ = _to_string(metric_obj)
     |
     |  set_hints(self, **hints) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Static methods defined here:
     |
     |  params_with_defaults lambda (...) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  hints
     |      Parameter hints of metric FairLoss
     |
     |  smoothness
     |      Parameter smoothness of metric FairLoss
     |
     |  use_weights
     |      Parameter use_weights of metric FairLoss
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from BuiltinMetric:
     |
     |  eval(self, label, approx, weight=None, group_id=None, group_weight=None, subgroup_id=None, pairs=None, thread_count=-1)
     |      Evaluate the metric with raw approxes and labels.
     |
     |      Parameters
     |      ----------
     |      label : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object labels.
     |
     |      approx : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object approxes.
     |
     |      weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object weights.
     |
     |      group_id : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object group ids.
     |
     |      group_weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Group weights.
     |
     |      subgroup_id : list or numpy.ndarray, optional (default=None)
     |          subgroup id for each instance.
     |          If not None, giving 1 dimensional array like data.
     |
     |      pairs : list or numpy.ndarray or pandas.DataFrame or string or pathlib.Path
     |          The pairs description.
     |          If list or numpy.ndarrays or pandas.DataFrame, giving 2 dimensional.
     |          The shape should be Nx2, where N is the pairs' count. The first element of the pair is
     |          the index of winner object in the training set. The second element of the pair is
     |          the index of loser object in the training set.
     |          If string or pathlib.Path, giving the path to the file with pairs description.
     |
     |      thread_count : int, optional (default=-1)
     |          Number of threads to work with.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      Returns
     |      -------
     |      metric results : list with metric values.
     |
     |  is_max_optimal(self)
     |      Returns
     |      ----------
     |      bool : True if metric is maximizable, False otherwise
     |
     |  is_min_optimal(self)
     |      Returns
     |      ----------
     |      bool :  True if metric is minimizable, False otherwise
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from BuiltinMetric:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

    class FilteredDCG(BuiltinMetric)
     |  FilteredDCG(**kwargs)
     |
     |  Builtin metric: 'FilteredDCG'
     |  Parameters:
     |      denominator = 'Position' (default value)
     |      type = 'Base' (default value)
     |      hints = 'skip_train~true' (default value)
     |
     |  Method resolution order:
     |      FilteredDCG
     |      BuiltinMetric
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __repr__ lambda self from _MetricGenerator.__new__.<locals>
     |
     |  __str__ = _to_string(metric_obj)
     |
     |  set_hints(self, **hints) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Static methods defined here:
     |
     |  params_with_defaults lambda (...) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  denominator
     |      Parameter denominator of metric FilteredDCG
     |
     |  hints
     |      Parameter hints of metric FilteredDCG
     |
     |  type
     |      Parameter type of metric FilteredDCG
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from BuiltinMetric:
     |
     |  eval(self, label, approx, weight=None, group_id=None, group_weight=None, subgroup_id=None, pairs=None, thread_count=-1)
     |      Evaluate the metric with raw approxes and labels.
     |
     |      Parameters
     |      ----------
     |      label : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object labels.
     |
     |      approx : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object approxes.
     |
     |      weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object weights.
     |
     |      group_id : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object group ids.
     |
     |      group_weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Group weights.
     |
     |      subgroup_id : list or numpy.ndarray, optional (default=None)
     |          subgroup id for each instance.
     |          If not None, giving 1 dimensional array like data.
     |
     |      pairs : list or numpy.ndarray or pandas.DataFrame or string or pathlib.Path
     |          The pairs description.
     |          If list or numpy.ndarrays or pandas.DataFrame, giving 2 dimensional.
     |          The shape should be Nx2, where N is the pairs' count. The first element of the pair is
     |          the index of winner object in the training set. The second element of the pair is
     |          the index of loser object in the training set.
     |          If string or pathlib.Path, giving the path to the file with pairs description.
     |
     |      thread_count : int, optional (default=-1)
     |          Number of threads to work with.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      Returns
     |      -------
     |      metric results : list with metric values.
     |
     |  is_max_optimal(self)
     |      Returns
     |      ----------
     |      bool : True if metric is maximizable, False otherwise
     |
     |  is_min_optimal(self)
     |      Returns
     |      ----------
     |      bool :  True if metric is minimizable, False otherwise
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from BuiltinMetric:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

    class Focal(BuiltinMetric)
     |  Focal(**kwargs)
     |
     |  Builtin metric: 'Focal'
     |  Parameters:
     |      focal_alpha (mandatory)
     |      focal_gamma (mandatory)
     |      use_weights = True (default value)
     |      hints = '' (default value)
     |
     |  Method resolution order:
     |      Focal
     |      BuiltinMetric
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __repr__ lambda self from _MetricGenerator.__new__.<locals>
     |
     |  __str__ = _to_string(metric_obj)
     |
     |  set_hints(self, **hints) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Static methods defined here:
     |
     |  params_with_defaults lambda (...) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  focal_alpha
     |      Parameter focal_alpha of metric Focal
     |
     |  focal_gamma
     |      Parameter focal_gamma of metric Focal
     |
     |  hints
     |      Parameter hints of metric Focal
     |
     |  use_weights
     |      Parameter use_weights of metric Focal
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from BuiltinMetric:
     |
     |  eval(self, label, approx, weight=None, group_id=None, group_weight=None, subgroup_id=None, pairs=None, thread_count=-1)
     |      Evaluate the metric with raw approxes and labels.
     |
     |      Parameters
     |      ----------
     |      label : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object labels.
     |
     |      approx : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object approxes.
     |
     |      weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object weights.
     |
     |      group_id : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object group ids.
     |
     |      group_weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Group weights.
     |
     |      subgroup_id : list or numpy.ndarray, optional (default=None)
     |          subgroup id for each instance.
     |          If not None, giving 1 dimensional array like data.
     |
     |      pairs : list or numpy.ndarray or pandas.DataFrame or string or pathlib.Path
     |          The pairs description.
     |          If list or numpy.ndarrays or pandas.DataFrame, giving 2 dimensional.
     |          The shape should be Nx2, where N is the pairs' count. The first element of the pair is
     |          the index of winner object in the training set. The second element of the pair is
     |          the index of loser object in the training set.
     |          If string or pathlib.Path, giving the path to the file with pairs description.
     |
     |      thread_count : int, optional (default=-1)
     |          Number of threads to work with.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      Returns
     |      -------
     |      metric results : list with metric values.
     |
     |  is_max_optimal(self)
     |      Returns
     |      ----------
     |      bool : True if metric is maximizable, False otherwise
     |
     |  is_min_optimal(self)
     |      Returns
     |      ----------
     |      bool :  True if metric is minimizable, False otherwise
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from BuiltinMetric:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

    class GroupQuantile(BuiltinMetric)
     |  GroupQuantile(**kwargs)
     |
     |  Builtin metric: 'GroupQuantile'
     |  Parameters:
     |      delta = 1e-06 (default value)
     |      alpha = 0.5 (default value)
     |      use_weights = True (default value)
     |      hints = '' (default value)
     |
     |  Method resolution order:
     |      GroupQuantile
     |      BuiltinMetric
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __repr__ lambda self from _MetricGenerator.__new__.<locals>
     |
     |  __str__ = _to_string(metric_obj)
     |
     |  set_hints(self, **hints) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Static methods defined here:
     |
     |  params_with_defaults lambda (...) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  alpha
     |      Parameter alpha of metric GroupQuantile
     |
     |  delta
     |      Parameter delta of metric GroupQuantile
     |
     |  hints
     |      Parameter hints of metric GroupQuantile
     |
     |  use_weights
     |      Parameter use_weights of metric GroupQuantile
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from BuiltinMetric:
     |
     |  eval(self, label, approx, weight=None, group_id=None, group_weight=None, subgroup_id=None, pairs=None, thread_count=-1)
     |      Evaluate the metric with raw approxes and labels.
     |
     |      Parameters
     |      ----------
     |      label : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object labels.
     |
     |      approx : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object approxes.
     |
     |      weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object weights.
     |
     |      group_id : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object group ids.
     |
     |      group_weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Group weights.
     |
     |      subgroup_id : list or numpy.ndarray, optional (default=None)
     |          subgroup id for each instance.
     |          If not None, giving 1 dimensional array like data.
     |
     |      pairs : list or numpy.ndarray or pandas.DataFrame or string or pathlib.Path
     |          The pairs description.
     |          If list or numpy.ndarrays or pandas.DataFrame, giving 2 dimensional.
     |          The shape should be Nx2, where N is the pairs' count. The first element of the pair is
     |          the index of winner object in the training set. The second element of the pair is
     |          the index of loser object in the training set.
     |          If string or pathlib.Path, giving the path to the file with pairs description.
     |
     |      thread_count : int, optional (default=-1)
     |          Number of threads to work with.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      Returns
     |      -------
     |      metric results : list with metric values.
     |
     |  is_max_optimal(self)
     |      Returns
     |      ----------
     |      bool : True if metric is maximizable, False otherwise
     |
     |  is_min_optimal(self)
     |      Returns
     |      ----------
     |      bool :  True if metric is minimizable, False otherwise
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from BuiltinMetric:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

    class HammingLoss(BuiltinMetric)
     |  HammingLoss(**kwargs)
     |
     |  Builtin metric: 'HammingLoss'
     |  Parameters:
     |      border = 0.5 (default value)
     |      use_weights = True (default value)
     |      hints = '' (default value)
     |
     |  Method resolution order:
     |      HammingLoss
     |      BuiltinMetric
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __repr__ lambda self from _MetricGenerator.__new__.<locals>
     |
     |  __str__ = _to_string(metric_obj)
     |
     |  set_hints(self, **hints) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Static methods defined here:
     |
     |  params_with_defaults lambda (...) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  border
     |      Parameter border of metric HammingLoss
     |
     |  hints
     |      Parameter hints of metric HammingLoss
     |
     |  use_weights
     |      Parameter use_weights of metric HammingLoss
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from BuiltinMetric:
     |
     |  eval(self, label, approx, weight=None, group_id=None, group_weight=None, subgroup_id=None, pairs=None, thread_count=-1)
     |      Evaluate the metric with raw approxes and labels.
     |
     |      Parameters
     |      ----------
     |      label : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object labels.
     |
     |      approx : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object approxes.
     |
     |      weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object weights.
     |
     |      group_id : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object group ids.
     |
     |      group_weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Group weights.
     |
     |      subgroup_id : list or numpy.ndarray, optional (default=None)
     |          subgroup id for each instance.
     |          If not None, giving 1 dimensional array like data.
     |
     |      pairs : list or numpy.ndarray or pandas.DataFrame or string or pathlib.Path
     |          The pairs description.
     |          If list or numpy.ndarrays or pandas.DataFrame, giving 2 dimensional.
     |          The shape should be Nx2, where N is the pairs' count. The first element of the pair is
     |          the index of winner object in the training set. The second element of the pair is
     |          the index of loser object in the training set.
     |          If string or pathlib.Path, giving the path to the file with pairs description.
     |
     |      thread_count : int, optional (default=-1)
     |          Number of threads to work with.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      Returns
     |      -------
     |      metric results : list with metric values.
     |
     |  is_max_optimal(self)
     |      Returns
     |      ----------
     |      bool : True if metric is maximizable, False otherwise
     |
     |  is_min_optimal(self)
     |      Returns
     |      ----------
     |      bool :  True if metric is minimizable, False otherwise
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from BuiltinMetric:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

    class HingeLoss(BuiltinMetric)
     |  HingeLoss(**kwargs)
     |
     |  Builtin metric: 'HingeLoss'
     |  Parameters:
     |      border = 0.5 (default value)
     |      use_weights = True (default value)
     |      hints = '' (default value)
     |
     |  Method resolution order:
     |      HingeLoss
     |      BuiltinMetric
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __repr__ lambda self from _MetricGenerator.__new__.<locals>
     |
     |  __str__ = _to_string(metric_obj)
     |
     |  set_hints(self, **hints) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Static methods defined here:
     |
     |  params_with_defaults lambda (...) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  border
     |      Parameter border of metric HingeLoss
     |
     |  hints
     |      Parameter hints of metric HingeLoss
     |
     |  use_weights
     |      Parameter use_weights of metric HingeLoss
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from BuiltinMetric:
     |
     |  eval(self, label, approx, weight=None, group_id=None, group_weight=None, subgroup_id=None, pairs=None, thread_count=-1)
     |      Evaluate the metric with raw approxes and labels.
     |
     |      Parameters
     |      ----------
     |      label : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object labels.
     |
     |      approx : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object approxes.
     |
     |      weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object weights.
     |
     |      group_id : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object group ids.
     |
     |      group_weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Group weights.
     |
     |      subgroup_id : list or numpy.ndarray, optional (default=None)
     |          subgroup id for each instance.
     |          If not None, giving 1 dimensional array like data.
     |
     |      pairs : list or numpy.ndarray or pandas.DataFrame or string or pathlib.Path
     |          The pairs description.
     |          If list or numpy.ndarrays or pandas.DataFrame, giving 2 dimensional.
     |          The shape should be Nx2, where N is the pairs' count. The first element of the pair is
     |          the index of winner object in the training set. The second element of the pair is
     |          the index of loser object in the training set.
     |          If string or pathlib.Path, giving the path to the file with pairs description.
     |
     |      thread_count : int, optional (default=-1)
     |          Number of threads to work with.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      Returns
     |      -------
     |      metric results : list with metric values.
     |
     |  is_max_optimal(self)
     |      Returns
     |      ----------
     |      bool : True if metric is maximizable, False otherwise
     |
     |  is_min_optimal(self)
     |      Returns
     |      ----------
     |      bool :  True if metric is minimizable, False otherwise
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from BuiltinMetric:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

    class Huber(BuiltinMetric)
     |  Huber(**kwargs)
     |
     |  Builtin metric: 'Huber'
     |  Parameters:
     |      delta (mandatory)
     |      use_weights = True (default value)
     |      hints = '' (default value)
     |
     |  Method resolution order:
     |      Huber
     |      BuiltinMetric
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __repr__ lambda self from _MetricGenerator.__new__.<locals>
     |
     |  __str__ = _to_string(metric_obj)
     |
     |  set_hints(self, **hints) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Static methods defined here:
     |
     |  params_with_defaults lambda (...) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  delta
     |      Parameter delta of metric Huber
     |
     |  hints
     |      Parameter hints of metric Huber
     |
     |  use_weights
     |      Parameter use_weights of metric Huber
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from BuiltinMetric:
     |
     |  eval(self, label, approx, weight=None, group_id=None, group_weight=None, subgroup_id=None, pairs=None, thread_count=-1)
     |      Evaluate the metric with raw approxes and labels.
     |
     |      Parameters
     |      ----------
     |      label : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object labels.
     |
     |      approx : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object approxes.
     |
     |      weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object weights.
     |
     |      group_id : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object group ids.
     |
     |      group_weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Group weights.
     |
     |      subgroup_id : list or numpy.ndarray, optional (default=None)
     |          subgroup id for each instance.
     |          If not None, giving 1 dimensional array like data.
     |
     |      pairs : list or numpy.ndarray or pandas.DataFrame or string or pathlib.Path
     |          The pairs description.
     |          If list or numpy.ndarrays or pandas.DataFrame, giving 2 dimensional.
     |          The shape should be Nx2, where N is the pairs' count. The first element of the pair is
     |          the index of winner object in the training set. The second element of the pair is
     |          the index of loser object in the training set.
     |          If string or pathlib.Path, giving the path to the file with pairs description.
     |
     |      thread_count : int, optional (default=-1)
     |          Number of threads to work with.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      Returns
     |      -------
     |      metric results : list with metric values.
     |
     |  is_max_optimal(self)
     |      Returns
     |      ----------
     |      bool : True if metric is maximizable, False otherwise
     |
     |  is_min_optimal(self)
     |      Returns
     |      ----------
     |      bool :  True if metric is minimizable, False otherwise
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from BuiltinMetric:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

    class Kappa(BuiltinMetric)
     |  Kappa(**kwargs)
     |
     |  Builtin metric: 'Kappa'
     |  Parameters:
     |      use_weights = True (default value)
     |      hints = '' (default value)
     |
     |  Method resolution order:
     |      Kappa
     |      BuiltinMetric
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __repr__ lambda self from _MetricGenerator.__new__.<locals>
     |
     |  __str__ = _to_string(metric_obj)
     |
     |  set_hints(self, **hints) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Static methods defined here:
     |
     |  params_with_defaults lambda (...) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  hints
     |      Parameter hints of metric Kappa
     |
     |  use_weights
     |      Parameter use_weights of metric Kappa
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from BuiltinMetric:
     |
     |  eval(self, label, approx, weight=None, group_id=None, group_weight=None, subgroup_id=None, pairs=None, thread_count=-1)
     |      Evaluate the metric with raw approxes and labels.
     |
     |      Parameters
     |      ----------
     |      label : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object labels.
     |
     |      approx : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object approxes.
     |
     |      weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object weights.
     |
     |      group_id : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object group ids.
     |
     |      group_weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Group weights.
     |
     |      subgroup_id : list or numpy.ndarray, optional (default=None)
     |          subgroup id for each instance.
     |          If not None, giving 1 dimensional array like data.
     |
     |      pairs : list or numpy.ndarray or pandas.DataFrame or string or pathlib.Path
     |          The pairs description.
     |          If list or numpy.ndarrays or pandas.DataFrame, giving 2 dimensional.
     |          The shape should be Nx2, where N is the pairs' count. The first element of the pair is
     |          the index of winner object in the training set. The second element of the pair is
     |          the index of loser object in the training set.
     |          If string or pathlib.Path, giving the path to the file with pairs description.
     |
     |      thread_count : int, optional (default=-1)
     |          Number of threads to work with.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      Returns
     |      -------
     |      metric results : list with metric values.
     |
     |  is_max_optimal(self)
     |      Returns
     |      ----------
     |      bool : True if metric is maximizable, False otherwise
     |
     |  is_min_optimal(self)
     |      Returns
     |      ----------
     |      bool :  True if metric is minimizable, False otherwise
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from BuiltinMetric:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

    class LogCosh(BuiltinMetric)
     |  LogCosh(**kwargs)
     |
     |  Builtin metric: 'LogCosh'
     |  Parameters:
     |      use_weights = True (default value)
     |      hints = '' (default value)
     |
     |  Method resolution order:
     |      LogCosh
     |      BuiltinMetric
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __repr__ lambda self from _MetricGenerator.__new__.<locals>
     |
     |  __str__ = _to_string(metric_obj)
     |
     |  set_hints(self, **hints) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Static methods defined here:
     |
     |  params_with_defaults lambda (...) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  hints
     |      Parameter hints of metric LogCosh
     |
     |  use_weights
     |      Parameter use_weights of metric LogCosh
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from BuiltinMetric:
     |
     |  eval(self, label, approx, weight=None, group_id=None, group_weight=None, subgroup_id=None, pairs=None, thread_count=-1)
     |      Evaluate the metric with raw approxes and labels.
     |
     |      Parameters
     |      ----------
     |      label : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object labels.
     |
     |      approx : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object approxes.
     |
     |      weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object weights.
     |
     |      group_id : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object group ids.
     |
     |      group_weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Group weights.
     |
     |      subgroup_id : list or numpy.ndarray, optional (default=None)
     |          subgroup id for each instance.
     |          If not None, giving 1 dimensional array like data.
     |
     |      pairs : list or numpy.ndarray or pandas.DataFrame or string or pathlib.Path
     |          The pairs description.
     |          If list or numpy.ndarrays or pandas.DataFrame, giving 2 dimensional.
     |          The shape should be Nx2, where N is the pairs' count. The first element of the pair is
     |          the index of winner object in the training set. The second element of the pair is
     |          the index of loser object in the training set.
     |          If string or pathlib.Path, giving the path to the file with pairs description.
     |
     |      thread_count : int, optional (default=-1)
     |          Number of threads to work with.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      Returns
     |      -------
     |      metric results : list with metric values.
     |
     |  is_max_optimal(self)
     |      Returns
     |      ----------
     |      bool : True if metric is maximizable, False otherwise
     |
     |  is_min_optimal(self)
     |      Returns
     |      ----------
     |      bool :  True if metric is minimizable, False otherwise
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from BuiltinMetric:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

    class LogLikelihoodOfPrediction(BuiltinMetric)
     |  LogLikelihoodOfPrediction(**kwargs)
     |
     |  Builtin metric: 'LogLikelihoodOfPrediction'
     |  Parameters:
     |      use_weights = True (default value)
     |      hints = '' (default value)
     |
     |  Method resolution order:
     |      LogLikelihoodOfPrediction
     |      BuiltinMetric
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __repr__ lambda self from _MetricGenerator.__new__.<locals>
     |
     |  __str__ = _to_string(metric_obj)
     |
     |  set_hints(self, **hints) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Static methods defined here:
     |
     |  params_with_defaults lambda (...) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  hints
     |      Parameter hints of metric LogLikelihoodOfPrediction
     |
     |  use_weights
     |      Parameter use_weights of metric LogLikelihoodOfPrediction
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from BuiltinMetric:
     |
     |  eval(self, label, approx, weight=None, group_id=None, group_weight=None, subgroup_id=None, pairs=None, thread_count=-1)
     |      Evaluate the metric with raw approxes and labels.
     |
     |      Parameters
     |      ----------
     |      label : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object labels.
     |
     |      approx : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object approxes.
     |
     |      weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object weights.
     |
     |      group_id : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object group ids.
     |
     |      group_weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Group weights.
     |
     |      subgroup_id : list or numpy.ndarray, optional (default=None)
     |          subgroup id for each instance.
     |          If not None, giving 1 dimensional array like data.
     |
     |      pairs : list or numpy.ndarray or pandas.DataFrame or string or pathlib.Path
     |          The pairs description.
     |          If list or numpy.ndarrays or pandas.DataFrame, giving 2 dimensional.
     |          The shape should be Nx2, where N is the pairs' count. The first element of the pair is
     |          the index of winner object in the training set. The second element of the pair is
     |          the index of loser object in the training set.
     |          If string or pathlib.Path, giving the path to the file with pairs description.
     |
     |      thread_count : int, optional (default=-1)
     |          Number of threads to work with.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      Returns
     |      -------
     |      metric results : list with metric values.
     |
     |  is_max_optimal(self)
     |      Returns
     |      ----------
     |      bool : True if metric is maximizable, False otherwise
     |
     |  is_min_optimal(self)
     |      Returns
     |      ----------
     |      bool :  True if metric is minimizable, False otherwise
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from BuiltinMetric:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

    class LogLinQuantile(BuiltinMetric)
     |  LogLinQuantile(**kwargs)
     |
     |  Builtin metric: 'LogLinQuantile'
     |  Parameters:
     |      alpha = 0.5 (default value)
     |      use_weights = True (default value)
     |      hints = '' (default value)
     |
     |  Method resolution order:
     |      LogLinQuantile
     |      BuiltinMetric
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __repr__ lambda self from _MetricGenerator.__new__.<locals>
     |
     |  __str__ = _to_string(metric_obj)
     |
     |  set_hints(self, **hints) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Static methods defined here:
     |
     |  params_with_defaults lambda (...) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  alpha
     |      Parameter alpha of metric LogLinQuantile
     |
     |  hints
     |      Parameter hints of metric LogLinQuantile
     |
     |  use_weights
     |      Parameter use_weights of metric LogLinQuantile
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from BuiltinMetric:
     |
     |  eval(self, label, approx, weight=None, group_id=None, group_weight=None, subgroup_id=None, pairs=None, thread_count=-1)
     |      Evaluate the metric with raw approxes and labels.
     |
     |      Parameters
     |      ----------
     |      label : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object labels.
     |
     |      approx : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object approxes.
     |
     |      weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object weights.
     |
     |      group_id : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object group ids.
     |
     |      group_weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Group weights.
     |
     |      subgroup_id : list or numpy.ndarray, optional (default=None)
     |          subgroup id for each instance.
     |          If not None, giving 1 dimensional array like data.
     |
     |      pairs : list or numpy.ndarray or pandas.DataFrame or string or pathlib.Path
     |          The pairs description.
     |          If list or numpy.ndarrays or pandas.DataFrame, giving 2 dimensional.
     |          The shape should be Nx2, where N is the pairs' count. The first element of the pair is
     |          the index of winner object in the training set. The second element of the pair is
     |          the index of loser object in the training set.
     |          If string or pathlib.Path, giving the path to the file with pairs description.
     |
     |      thread_count : int, optional (default=-1)
     |          Number of threads to work with.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      Returns
     |      -------
     |      metric results : list with metric values.
     |
     |  is_max_optimal(self)
     |      Returns
     |      ----------
     |      bool : True if metric is maximizable, False otherwise
     |
     |  is_min_optimal(self)
     |      Returns
     |      ----------
     |      bool :  True if metric is minimizable, False otherwise
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from BuiltinMetric:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

    class Logloss(BuiltinMetric)
     |  Logloss(**kwargs)
     |
     |  Builtin metric: 'Logloss'
     |  Parameters:
     |      use_weights = True (default value)
     |      hints = '' (default value)
     |
     |  Method resolution order:
     |      Logloss
     |      BuiltinMetric
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __repr__ lambda self from _MetricGenerator.__new__.<locals>
     |
     |  __str__ = _to_string(metric_obj)
     |
     |  set_hints(self, **hints) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Static methods defined here:
     |
     |  params_with_defaults lambda (...) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  hints
     |      Parameter hints of metric Logloss
     |
     |  use_weights
     |      Parameter use_weights of metric Logloss
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from BuiltinMetric:
     |
     |  eval(self, label, approx, weight=None, group_id=None, group_weight=None, subgroup_id=None, pairs=None, thread_count=-1)
     |      Evaluate the metric with raw approxes and labels.
     |
     |      Parameters
     |      ----------
     |      label : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object labels.
     |
     |      approx : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object approxes.
     |
     |      weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object weights.
     |
     |      group_id : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object group ids.
     |
     |      group_weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Group weights.
     |
     |      subgroup_id : list or numpy.ndarray, optional (default=None)
     |          subgroup id for each instance.
     |          If not None, giving 1 dimensional array like data.
     |
     |      pairs : list or numpy.ndarray or pandas.DataFrame or string or pathlib.Path
     |          The pairs description.
     |          If list or numpy.ndarrays or pandas.DataFrame, giving 2 dimensional.
     |          The shape should be Nx2, where N is the pairs' count. The first element of the pair is
     |          the index of winner object in the training set. The second element of the pair is
     |          the index of loser object in the training set.
     |          If string or pathlib.Path, giving the path to the file with pairs description.
     |
     |      thread_count : int, optional (default=-1)
     |          Number of threads to work with.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      Returns
     |      -------
     |      metric results : list with metric values.
     |
     |  is_max_optimal(self)
     |      Returns
     |      ----------
     |      bool : True if metric is maximizable, False otherwise
     |
     |  is_min_optimal(self)
     |      Returns
     |      ----------
     |      bool :  True if metric is minimizable, False otherwise
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from BuiltinMetric:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

    class Lq(BuiltinMetric)
     |  Lq(**kwargs)
     |
     |  Builtin metric: 'Lq'
     |  Parameters:
     |      q (mandatory)
     |      use_weights = True (default value)
     |      hints = '' (default value)
     |
     |  Method resolution order:
     |      Lq
     |      BuiltinMetric
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __repr__ lambda self from _MetricGenerator.__new__.<locals>
     |
     |  __str__ = _to_string(metric_obj)
     |
     |  set_hints(self, **hints) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Static methods defined here:
     |
     |  params_with_defaults lambda (...) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  hints
     |      Parameter hints of metric Lq
     |
     |  q
     |      Parameter q of metric Lq
     |
     |  use_weights
     |      Parameter use_weights of metric Lq
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from BuiltinMetric:
     |
     |  eval(self, label, approx, weight=None, group_id=None, group_weight=None, subgroup_id=None, pairs=None, thread_count=-1)
     |      Evaluate the metric with raw approxes and labels.
     |
     |      Parameters
     |      ----------
     |      label : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object labels.
     |
     |      approx : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object approxes.
     |
     |      weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object weights.
     |
     |      group_id : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object group ids.
     |
     |      group_weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Group weights.
     |
     |      subgroup_id : list or numpy.ndarray, optional (default=None)
     |          subgroup id for each instance.
     |          If not None, giving 1 dimensional array like data.
     |
     |      pairs : list or numpy.ndarray or pandas.DataFrame or string or pathlib.Path
     |          The pairs description.
     |          If list or numpy.ndarrays or pandas.DataFrame, giving 2 dimensional.
     |          The shape should be Nx2, where N is the pairs' count. The first element of the pair is
     |          the index of winner object in the training set. The second element of the pair is
     |          the index of loser object in the training set.
     |          If string or pathlib.Path, giving the path to the file with pairs description.
     |
     |      thread_count : int, optional (default=-1)
     |          Number of threads to work with.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      Returns
     |      -------
     |      metric results : list with metric values.
     |
     |  is_max_optimal(self)
     |      Returns
     |      ----------
     |      bool : True if metric is maximizable, False otherwise
     |
     |  is_min_optimal(self)
     |      Returns
     |      ----------
     |      bool :  True if metric is minimizable, False otherwise
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from BuiltinMetric:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

    class MAE(BuiltinMetric)
     |  MAE(**kwargs)
     |
     |  Builtin metric: 'MAE'
     |  Parameters:
     |      delta = 1e-06 (default value)
     |      alpha = 0.5 (default value)
     |      use_weights = True (default value)
     |      hints = '' (default value)
     |
     |  Method resolution order:
     |      MAE
     |      BuiltinMetric
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __repr__ lambda self from _MetricGenerator.__new__.<locals>
     |
     |  __str__ = _to_string(metric_obj)
     |
     |  set_hints(self, **hints) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Static methods defined here:
     |
     |  params_with_defaults lambda (...) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  alpha
     |      Parameter alpha of metric MAE
     |
     |  delta
     |      Parameter delta of metric MAE
     |
     |  hints
     |      Parameter hints of metric MAE
     |
     |  use_weights
     |      Parameter use_weights of metric MAE
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from BuiltinMetric:
     |
     |  eval(self, label, approx, weight=None, group_id=None, group_weight=None, subgroup_id=None, pairs=None, thread_count=-1)
     |      Evaluate the metric with raw approxes and labels.
     |
     |      Parameters
     |      ----------
     |      label : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object labels.
     |
     |      approx : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object approxes.
     |
     |      weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object weights.
     |
     |      group_id : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object group ids.
     |
     |      group_weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Group weights.
     |
     |      subgroup_id : list or numpy.ndarray, optional (default=None)
     |          subgroup id for each instance.
     |          If not None, giving 1 dimensional array like data.
     |
     |      pairs : list or numpy.ndarray or pandas.DataFrame or string or pathlib.Path
     |          The pairs description.
     |          If list or numpy.ndarrays or pandas.DataFrame, giving 2 dimensional.
     |          The shape should be Nx2, where N is the pairs' count. The first element of the pair is
     |          the index of winner object in the training set. The second element of the pair is
     |          the index of loser object in the training set.
     |          If string or pathlib.Path, giving the path to the file with pairs description.
     |
     |      thread_count : int, optional (default=-1)
     |          Number of threads to work with.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      Returns
     |      -------
     |      metric results : list with metric values.
     |
     |  is_max_optimal(self)
     |      Returns
     |      ----------
     |      bool : True if metric is maximizable, False otherwise
     |
     |  is_min_optimal(self)
     |      Returns
     |      ----------
     |      bool :  True if metric is minimizable, False otherwise
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from BuiltinMetric:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

    class MAP(BuiltinMetric)
     |  MAP(**kwargs)
     |
     |  Builtin metric: 'MAP'
     |  Parameters:
     |      top = -1 (default value)
     |      border = 0.5 (default value)
     |      use_weights = True (default value)
     |      hints = '' (default value)
     |
     |  Method resolution order:
     |      MAP
     |      BuiltinMetric
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __repr__ lambda self from _MetricGenerator.__new__.<locals>
     |
     |  __str__ = _to_string(metric_obj)
     |
     |  set_hints(self, **hints) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Static methods defined here:
     |
     |  params_with_defaults lambda (...) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  border
     |      Parameter border of metric MAP
     |
     |  hints
     |      Parameter hints of metric MAP
     |
     |  top
     |      Parameter top of metric MAP
     |
     |  use_weights
     |      Parameter use_weights of metric MAP
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from BuiltinMetric:
     |
     |  eval(self, label, approx, weight=None, group_id=None, group_weight=None, subgroup_id=None, pairs=None, thread_count=-1)
     |      Evaluate the metric with raw approxes and labels.
     |
     |      Parameters
     |      ----------
     |      label : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object labels.
     |
     |      approx : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object approxes.
     |
     |      weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object weights.
     |
     |      group_id : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object group ids.
     |
     |      group_weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Group weights.
     |
     |      subgroup_id : list or numpy.ndarray, optional (default=None)
     |          subgroup id for each instance.
     |          If not None, giving 1 dimensional array like data.
     |
     |      pairs : list or numpy.ndarray or pandas.DataFrame or string or pathlib.Path
     |          The pairs description.
     |          If list or numpy.ndarrays or pandas.DataFrame, giving 2 dimensional.
     |          The shape should be Nx2, where N is the pairs' count. The first element of the pair is
     |          the index of winner object in the training set. The second element of the pair is
     |          the index of loser object in the training set.
     |          If string or pathlib.Path, giving the path to the file with pairs description.
     |
     |      thread_count : int, optional (default=-1)
     |          Number of threads to work with.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      Returns
     |      -------
     |      metric results : list with metric values.
     |
     |  is_max_optimal(self)
     |      Returns
     |      ----------
     |      bool : True if metric is maximizable, False otherwise
     |
     |  is_min_optimal(self)
     |      Returns
     |      ----------
     |      bool :  True if metric is minimizable, False otherwise
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from BuiltinMetric:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

    class MAPE(BuiltinMetric)
     |  MAPE(**kwargs)
     |
     |  Builtin metric: 'MAPE'
     |  Parameters:
     |      use_weights = True (default value)
     |      hints = '' (default value)
     |
     |  Method resolution order:
     |      MAPE
     |      BuiltinMetric
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __repr__ lambda self from _MetricGenerator.__new__.<locals>
     |
     |  __str__ = _to_string(metric_obj)
     |
     |  set_hints(self, **hints) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Static methods defined here:
     |
     |  params_with_defaults lambda (...) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  hints
     |      Parameter hints of metric MAPE
     |
     |  use_weights
     |      Parameter use_weights of metric MAPE
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from BuiltinMetric:
     |
     |  eval(self, label, approx, weight=None, group_id=None, group_weight=None, subgroup_id=None, pairs=None, thread_count=-1)
     |      Evaluate the metric with raw approxes and labels.
     |
     |      Parameters
     |      ----------
     |      label : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object labels.
     |
     |      approx : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object approxes.
     |
     |      weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object weights.
     |
     |      group_id : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object group ids.
     |
     |      group_weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Group weights.
     |
     |      subgroup_id : list or numpy.ndarray, optional (default=None)
     |          subgroup id for each instance.
     |          If not None, giving 1 dimensional array like data.
     |
     |      pairs : list or numpy.ndarray or pandas.DataFrame or string or pathlib.Path
     |          The pairs description.
     |          If list or numpy.ndarrays or pandas.DataFrame, giving 2 dimensional.
     |          The shape should be Nx2, where N is the pairs' count. The first element of the pair is
     |          the index of winner object in the training set. The second element of the pair is
     |          the index of loser object in the training set.
     |          If string or pathlib.Path, giving the path to the file with pairs description.
     |
     |      thread_count : int, optional (default=-1)
     |          Number of threads to work with.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      Returns
     |      -------
     |      metric results : list with metric values.
     |
     |  is_max_optimal(self)
     |      Returns
     |      ----------
     |      bool : True if metric is maximizable, False otherwise
     |
     |  is_min_optimal(self)
     |      Returns
     |      ----------
     |      bool :  True if metric is minimizable, False otherwise
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from BuiltinMetric:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

    class MCC(BuiltinMetric)
     |  MCC(**kwargs)
     |
     |  Builtin metric: 'MCC'
     |  Parameters:
     |      use_weights = True (default value)
     |      hints = '' (default value)
     |
     |  Method resolution order:
     |      MCC
     |      BuiltinMetric
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __repr__ lambda self from _MetricGenerator.__new__.<locals>
     |
     |  __str__ = _to_string(metric_obj)
     |
     |  set_hints(self, **hints) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Static methods defined here:
     |
     |  params_with_defaults lambda (...) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  hints
     |      Parameter hints of metric MCC
     |
     |  use_weights
     |      Parameter use_weights of metric MCC
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from BuiltinMetric:
     |
     |  eval(self, label, approx, weight=None, group_id=None, group_weight=None, subgroup_id=None, pairs=None, thread_count=-1)
     |      Evaluate the metric with raw approxes and labels.
     |
     |      Parameters
     |      ----------
     |      label : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object labels.
     |
     |      approx : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object approxes.
     |
     |      weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object weights.
     |
     |      group_id : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object group ids.
     |
     |      group_weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Group weights.
     |
     |      subgroup_id : list or numpy.ndarray, optional (default=None)
     |          subgroup id for each instance.
     |          If not None, giving 1 dimensional array like data.
     |
     |      pairs : list or numpy.ndarray or pandas.DataFrame or string or pathlib.Path
     |          The pairs description.
     |          If list or numpy.ndarrays or pandas.DataFrame, giving 2 dimensional.
     |          The shape should be Nx2, where N is the pairs' count. The first element of the pair is
     |          the index of winner object in the training set. The second element of the pair is
     |          the index of loser object in the training set.
     |          If string or pathlib.Path, giving the path to the file with pairs description.
     |
     |      thread_count : int, optional (default=-1)
     |          Number of threads to work with.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      Returns
     |      -------
     |      metric results : list with metric values.
     |
     |  is_max_optimal(self)
     |      Returns
     |      ----------
     |      bool : True if metric is maximizable, False otherwise
     |
     |  is_min_optimal(self)
     |      Returns
     |      ----------
     |      bool :  True if metric is minimizable, False otherwise
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from BuiltinMetric:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

    class MRR(BuiltinMetric)
     |  MRR(**kwargs)
     |
     |  Builtin metric: 'MRR'
     |  Parameters:
     |      top = -1 (default value)
     |      border = 0.5 (default value)
     |      use_weights = True (default value)
     |      hints = '' (default value)
     |
     |  Method resolution order:
     |      MRR
     |      BuiltinMetric
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __repr__ lambda self from _MetricGenerator.__new__.<locals>
     |
     |  __str__ = _to_string(metric_obj)
     |
     |  set_hints(self, **hints) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Static methods defined here:
     |
     |  params_with_defaults lambda (...) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  border
     |      Parameter border of metric MRR
     |
     |  hints
     |      Parameter hints of metric MRR
     |
     |  top
     |      Parameter top of metric MRR
     |
     |  use_weights
     |      Parameter use_weights of metric MRR
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from BuiltinMetric:
     |
     |  eval(self, label, approx, weight=None, group_id=None, group_weight=None, subgroup_id=None, pairs=None, thread_count=-1)
     |      Evaluate the metric with raw approxes and labels.
     |
     |      Parameters
     |      ----------
     |      label : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object labels.
     |
     |      approx : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object approxes.
     |
     |      weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object weights.
     |
     |      group_id : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object group ids.
     |
     |      group_weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Group weights.
     |
     |      subgroup_id : list or numpy.ndarray, optional (default=None)
     |          subgroup id for each instance.
     |          If not None, giving 1 dimensional array like data.
     |
     |      pairs : list or numpy.ndarray or pandas.DataFrame or string or pathlib.Path
     |          The pairs description.
     |          If list or numpy.ndarrays or pandas.DataFrame, giving 2 dimensional.
     |          The shape should be Nx2, where N is the pairs' count. The first element of the pair is
     |          the index of winner object in the training set. The second element of the pair is
     |          the index of loser object in the training set.
     |          If string or pathlib.Path, giving the path to the file with pairs description.
     |
     |      thread_count : int, optional (default=-1)
     |          Number of threads to work with.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      Returns
     |      -------
     |      metric results : list with metric values.
     |
     |  is_max_optimal(self)
     |      Returns
     |      ----------
     |      bool : True if metric is maximizable, False otherwise
     |
     |  is_min_optimal(self)
     |      Returns
     |      ----------
     |      bool :  True if metric is minimizable, False otherwise
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from BuiltinMetric:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

    class MSLE(BuiltinMetric)
     |  MSLE(**kwargs)
     |
     |  Builtin metric: 'MSLE'
     |  Parameters:
     |      use_weights = True (default value)
     |      hints = '' (default value)
     |
     |  Method resolution order:
     |      MSLE
     |      BuiltinMetric
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __repr__ lambda self from _MetricGenerator.__new__.<locals>
     |
     |  __str__ = _to_string(metric_obj)
     |
     |  set_hints(self, **hints) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Static methods defined here:
     |
     |  params_with_defaults lambda (...) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  hints
     |      Parameter hints of metric MSLE
     |
     |  use_weights
     |      Parameter use_weights of metric MSLE
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from BuiltinMetric:
     |
     |  eval(self, label, approx, weight=None, group_id=None, group_weight=None, subgroup_id=None, pairs=None, thread_count=-1)
     |      Evaluate the metric with raw approxes and labels.
     |
     |      Parameters
     |      ----------
     |      label : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object labels.
     |
     |      approx : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object approxes.
     |
     |      weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object weights.
     |
     |      group_id : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object group ids.
     |
     |      group_weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Group weights.
     |
     |      subgroup_id : list or numpy.ndarray, optional (default=None)
     |          subgroup id for each instance.
     |          If not None, giving 1 dimensional array like data.
     |
     |      pairs : list or numpy.ndarray or pandas.DataFrame or string or pathlib.Path
     |          The pairs description.
     |          If list or numpy.ndarrays or pandas.DataFrame, giving 2 dimensional.
     |          The shape should be Nx2, where N is the pairs' count. The first element of the pair is
     |          the index of winner object in the training set. The second element of the pair is
     |          the index of loser object in the training set.
     |          If string or pathlib.Path, giving the path to the file with pairs description.
     |
     |      thread_count : int, optional (default=-1)
     |          Number of threads to work with.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      Returns
     |      -------
     |      metric results : list with metric values.
     |
     |  is_max_optimal(self)
     |      Returns
     |      ----------
     |      bool : True if metric is maximizable, False otherwise
     |
     |  is_min_optimal(self)
     |      Returns
     |      ----------
     |      bool :  True if metric is minimizable, False otherwise
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from BuiltinMetric:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

    class MedianAbsoluteError(BuiltinMetric)
     |  MedianAbsoluteError(**kwargs)
     |
     |  Builtin metric: 'MedianAbsoluteError'
     |  Parameters:
     |      hints = '' (default value)
     |
     |  Method resolution order:
     |      MedianAbsoluteError
     |      BuiltinMetric
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __repr__ lambda self from _MetricGenerator.__new__.<locals>
     |
     |  __str__ = _to_string(metric_obj)
     |
     |  set_hints(self, **hints) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Static methods defined here:
     |
     |  params_with_defaults lambda (...) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  hints
     |      Parameter hints of metric MedianAbsoluteError
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from BuiltinMetric:
     |
     |  eval(self, label, approx, weight=None, group_id=None, group_weight=None, subgroup_id=None, pairs=None, thread_count=-1)
     |      Evaluate the metric with raw approxes and labels.
     |
     |      Parameters
     |      ----------
     |      label : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object labels.
     |
     |      approx : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object approxes.
     |
     |      weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object weights.
     |
     |      group_id : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object group ids.
     |
     |      group_weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Group weights.
     |
     |      subgroup_id : list or numpy.ndarray, optional (default=None)
     |          subgroup id for each instance.
     |          If not None, giving 1 dimensional array like data.
     |
     |      pairs : list or numpy.ndarray or pandas.DataFrame or string or pathlib.Path
     |          The pairs description.
     |          If list or numpy.ndarrays or pandas.DataFrame, giving 2 dimensional.
     |          The shape should be Nx2, where N is the pairs' count. The first element of the pair is
     |          the index of winner object in the training set. The second element of the pair is
     |          the index of loser object in the training set.
     |          If string or pathlib.Path, giving the path to the file with pairs description.
     |
     |      thread_count : int, optional (default=-1)
     |          Number of threads to work with.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      Returns
     |      -------
     |      metric results : list with metric values.
     |
     |  is_max_optimal(self)
     |      Returns
     |      ----------
     |      bool : True if metric is maximizable, False otherwise
     |
     |  is_min_optimal(self)
     |      Returns
     |      ----------
     |      bool :  True if metric is minimizable, False otherwise
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from BuiltinMetric:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

    class MultiClass(BuiltinMetric)
     |  MultiClass(**kwargs)
     |
     |  Builtin metric: 'MultiClass'
     |  Parameters:
     |      use_weights = True (default value)
     |      hints = '' (default value)
     |
     |  Method resolution order:
     |      MultiClass
     |      BuiltinMetric
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __repr__ lambda self from _MetricGenerator.__new__.<locals>
     |
     |  __str__ = _to_string(metric_obj)
     |
     |  set_hints(self, **hints) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Static methods defined here:
     |
     |  params_with_defaults lambda (...) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  hints
     |      Parameter hints of metric MultiClass
     |
     |  use_weights
     |      Parameter use_weights of metric MultiClass
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from BuiltinMetric:
     |
     |  eval(self, label, approx, weight=None, group_id=None, group_weight=None, subgroup_id=None, pairs=None, thread_count=-1)
     |      Evaluate the metric with raw approxes and labels.
     |
     |      Parameters
     |      ----------
     |      label : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object labels.
     |
     |      approx : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object approxes.
     |
     |      weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object weights.
     |
     |      group_id : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object group ids.
     |
     |      group_weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Group weights.
     |
     |      subgroup_id : list or numpy.ndarray, optional (default=None)
     |          subgroup id for each instance.
     |          If not None, giving 1 dimensional array like data.
     |
     |      pairs : list or numpy.ndarray or pandas.DataFrame or string or pathlib.Path
     |          The pairs description.
     |          If list or numpy.ndarrays or pandas.DataFrame, giving 2 dimensional.
     |          The shape should be Nx2, where N is the pairs' count. The first element of the pair is
     |          the index of winner object in the training set. The second element of the pair is
     |          the index of loser object in the training set.
     |          If string or pathlib.Path, giving the path to the file with pairs description.
     |
     |      thread_count : int, optional (default=-1)
     |          Number of threads to work with.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      Returns
     |      -------
     |      metric results : list with metric values.
     |
     |  is_max_optimal(self)
     |      Returns
     |      ----------
     |      bool : True if metric is maximizable, False otherwise
     |
     |  is_min_optimal(self)
     |      Returns
     |      ----------
     |      bool :  True if metric is minimizable, False otherwise
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from BuiltinMetric:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

    class MultiClassOneVsAll(BuiltinMetric)
     |  MultiClassOneVsAll(**kwargs)
     |
     |  Builtin metric: 'MultiClassOneVsAll'
     |  Parameters:
     |      use_weights = True (default value)
     |      hints = '' (default value)
     |
     |  Method resolution order:
     |      MultiClassOneVsAll
     |      BuiltinMetric
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __repr__ lambda self from _MetricGenerator.__new__.<locals>
     |
     |  __str__ = _to_string(metric_obj)
     |
     |  set_hints(self, **hints) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Static methods defined here:
     |
     |  params_with_defaults lambda (...) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  hints
     |      Parameter hints of metric MultiClassOneVsAll
     |
     |  use_weights
     |      Parameter use_weights of metric MultiClassOneVsAll
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from BuiltinMetric:
     |
     |  eval(self, label, approx, weight=None, group_id=None, group_weight=None, subgroup_id=None, pairs=None, thread_count=-1)
     |      Evaluate the metric with raw approxes and labels.
     |
     |      Parameters
     |      ----------
     |      label : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object labels.
     |
     |      approx : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object approxes.
     |
     |      weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object weights.
     |
     |      group_id : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object group ids.
     |
     |      group_weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Group weights.
     |
     |      subgroup_id : list or numpy.ndarray, optional (default=None)
     |          subgroup id for each instance.
     |          If not None, giving 1 dimensional array like data.
     |
     |      pairs : list or numpy.ndarray or pandas.DataFrame or string or pathlib.Path
     |          The pairs description.
     |          If list or numpy.ndarrays or pandas.DataFrame, giving 2 dimensional.
     |          The shape should be Nx2, where N is the pairs' count. The first element of the pair is
     |          the index of winner object in the training set. The second element of the pair is
     |          the index of loser object in the training set.
     |          If string or pathlib.Path, giving the path to the file with pairs description.
     |
     |      thread_count : int, optional (default=-1)
     |          Number of threads to work with.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      Returns
     |      -------
     |      metric results : list with metric values.
     |
     |  is_max_optimal(self)
     |      Returns
     |      ----------
     |      bool : True if metric is maximizable, False otherwise
     |
     |  is_min_optimal(self)
     |      Returns
     |      ----------
     |      bool :  True if metric is minimizable, False otherwise
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from BuiltinMetric:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

    class MultiCrossEntropy(BuiltinMetric)
     |  MultiCrossEntropy(**kwargs)
     |
     |  Builtin metric: 'MultiCrossEntropy'
     |  Parameters:
     |      use_weights = True (default value)
     |      hints = '' (default value)
     |
     |  Method resolution order:
     |      MultiCrossEntropy
     |      BuiltinMetric
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __repr__ lambda self from _MetricGenerator.__new__.<locals>
     |
     |  __str__ = _to_string(metric_obj)
     |
     |  set_hints(self, **hints) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Static methods defined here:
     |
     |  params_with_defaults lambda (...) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  hints
     |      Parameter hints of metric MultiCrossEntropy
     |
     |  use_weights
     |      Parameter use_weights of metric MultiCrossEntropy
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from BuiltinMetric:
     |
     |  eval(self, label, approx, weight=None, group_id=None, group_weight=None, subgroup_id=None, pairs=None, thread_count=-1)
     |      Evaluate the metric with raw approxes and labels.
     |
     |      Parameters
     |      ----------
     |      label : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object labels.
     |
     |      approx : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object approxes.
     |
     |      weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object weights.
     |
     |      group_id : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object group ids.
     |
     |      group_weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Group weights.
     |
     |      subgroup_id : list or numpy.ndarray, optional (default=None)
     |          subgroup id for each instance.
     |          If not None, giving 1 dimensional array like data.
     |
     |      pairs : list or numpy.ndarray or pandas.DataFrame or string or pathlib.Path
     |          The pairs description.
     |          If list or numpy.ndarrays or pandas.DataFrame, giving 2 dimensional.
     |          The shape should be Nx2, where N is the pairs' count. The first element of the pair is
     |          the index of winner object in the training set. The second element of the pair is
     |          the index of loser object in the training set.
     |          If string or pathlib.Path, giving the path to the file with pairs description.
     |
     |      thread_count : int, optional (default=-1)
     |          Number of threads to work with.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      Returns
     |      -------
     |      metric results : list with metric values.
     |
     |  is_max_optimal(self)
     |      Returns
     |      ----------
     |      bool : True if metric is maximizable, False otherwise
     |
     |  is_min_optimal(self)
     |      Returns
     |      ----------
     |      bool :  True if metric is minimizable, False otherwise
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from BuiltinMetric:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

    class MultiLogloss(BuiltinMetric)
     |  MultiLogloss(**kwargs)
     |
     |  Builtin metric: 'MultiLogloss'
     |  Parameters:
     |      use_weights = True (default value)
     |      hints = '' (default value)
     |
     |  Method resolution order:
     |      MultiLogloss
     |      BuiltinMetric
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __repr__ lambda self from _MetricGenerator.__new__.<locals>
     |
     |  __str__ = _to_string(metric_obj)
     |
     |  set_hints(self, **hints) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Static methods defined here:
     |
     |  params_with_defaults lambda (...) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  hints
     |      Parameter hints of metric MultiLogloss
     |
     |  use_weights
     |      Parameter use_weights of metric MultiLogloss
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from BuiltinMetric:
     |
     |  eval(self, label, approx, weight=None, group_id=None, group_weight=None, subgroup_id=None, pairs=None, thread_count=-1)
     |      Evaluate the metric with raw approxes and labels.
     |
     |      Parameters
     |      ----------
     |      label : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object labels.
     |
     |      approx : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object approxes.
     |
     |      weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object weights.
     |
     |      group_id : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object group ids.
     |
     |      group_weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Group weights.
     |
     |      subgroup_id : list or numpy.ndarray, optional (default=None)
     |          subgroup id for each instance.
     |          If not None, giving 1 dimensional array like data.
     |
     |      pairs : list or numpy.ndarray or pandas.DataFrame or string or pathlib.Path
     |          The pairs description.
     |          If list or numpy.ndarrays or pandas.DataFrame, giving 2 dimensional.
     |          The shape should be Nx2, where N is the pairs' count. The first element of the pair is
     |          the index of winner object in the training set. The second element of the pair is
     |          the index of loser object in the training set.
     |          If string or pathlib.Path, giving the path to the file with pairs description.
     |
     |      thread_count : int, optional (default=-1)
     |          Number of threads to work with.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      Returns
     |      -------
     |      metric results : list with metric values.
     |
     |  is_max_optimal(self)
     |      Returns
     |      ----------
     |      bool : True if metric is maximizable, False otherwise
     |
     |  is_min_optimal(self)
     |      Returns
     |      ----------
     |      bool :  True if metric is minimizable, False otherwise
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from BuiltinMetric:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

    class MultiQuantile(BuiltinMetric)
     |  MultiQuantile(**kwargs)
     |
     |  Builtin metric: 'MultiQuantile'
     |  Parameters:
     |      delta = 1e-06 (default value)
     |      alpha = 0.5 (default value)
     |      use_weights = True (default value)
     |      hints = '' (default value)
     |
     |  Method resolution order:
     |      MultiQuantile
     |      BuiltinMetric
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __repr__ lambda self from _MetricGenerator.__new__.<locals>
     |
     |  __str__ = _to_string(metric_obj)
     |
     |  set_hints(self, **hints) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Static methods defined here:
     |
     |  params_with_defaults lambda (...) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  alpha
     |      Parameter alpha of metric MultiQuantile
     |
     |  delta
     |      Parameter delta of metric MultiQuantile
     |
     |  hints
     |      Parameter hints of metric MultiQuantile
     |
     |  use_weights
     |      Parameter use_weights of metric MultiQuantile
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from BuiltinMetric:
     |
     |  eval(self, label, approx, weight=None, group_id=None, group_weight=None, subgroup_id=None, pairs=None, thread_count=-1)
     |      Evaluate the metric with raw approxes and labels.
     |
     |      Parameters
     |      ----------
     |      label : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object labels.
     |
     |      approx : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object approxes.
     |
     |      weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object weights.
     |
     |      group_id : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object group ids.
     |
     |      group_weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Group weights.
     |
     |      subgroup_id : list or numpy.ndarray, optional (default=None)
     |          subgroup id for each instance.
     |          If not None, giving 1 dimensional array like data.
     |
     |      pairs : list or numpy.ndarray or pandas.DataFrame or string or pathlib.Path
     |          The pairs description.
     |          If list or numpy.ndarrays or pandas.DataFrame, giving 2 dimensional.
     |          The shape should be Nx2, where N is the pairs' count. The first element of the pair is
     |          the index of winner object in the training set. The second element of the pair is
     |          the index of loser object in the training set.
     |          If string or pathlib.Path, giving the path to the file with pairs description.
     |
     |      thread_count : int, optional (default=-1)
     |          Number of threads to work with.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      Returns
     |      -------
     |      metric results : list with metric values.
     |
     |  is_max_optimal(self)
     |      Returns
     |      ----------
     |      bool : True if metric is maximizable, False otherwise
     |
     |  is_min_optimal(self)
     |      Returns
     |      ----------
     |      bool :  True if metric is minimizable, False otherwise
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from BuiltinMetric:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

    class MultiRMSE(BuiltinMetric)
     |  MultiRMSE(**kwargs)
     |
     |  Builtin metric: 'MultiRMSE'
     |  Parameters:
     |      use_weights = True (default value)
     |      hints = '' (default value)
     |
     |  Method resolution order:
     |      MultiRMSE
     |      BuiltinMetric
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __repr__ lambda self from _MetricGenerator.__new__.<locals>
     |
     |  __str__ = _to_string(metric_obj)
     |
     |  set_hints(self, **hints) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Static methods defined here:
     |
     |  params_with_defaults lambda (...) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  hints
     |      Parameter hints of metric MultiRMSE
     |
     |  use_weights
     |      Parameter use_weights of metric MultiRMSE
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from BuiltinMetric:
     |
     |  eval(self, label, approx, weight=None, group_id=None, group_weight=None, subgroup_id=None, pairs=None, thread_count=-1)
     |      Evaluate the metric with raw approxes and labels.
     |
     |      Parameters
     |      ----------
     |      label : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object labels.
     |
     |      approx : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object approxes.
     |
     |      weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object weights.
     |
     |      group_id : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object group ids.
     |
     |      group_weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Group weights.
     |
     |      subgroup_id : list or numpy.ndarray, optional (default=None)
     |          subgroup id for each instance.
     |          If not None, giving 1 dimensional array like data.
     |
     |      pairs : list or numpy.ndarray or pandas.DataFrame or string or pathlib.Path
     |          The pairs description.
     |          If list or numpy.ndarrays or pandas.DataFrame, giving 2 dimensional.
     |          The shape should be Nx2, where N is the pairs' count. The first element of the pair is
     |          the index of winner object in the training set. The second element of the pair is
     |          the index of loser object in the training set.
     |          If string or pathlib.Path, giving the path to the file with pairs description.
     |
     |      thread_count : int, optional (default=-1)
     |          Number of threads to work with.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      Returns
     |      -------
     |      metric results : list with metric values.
     |
     |  is_max_optimal(self)
     |      Returns
     |      ----------
     |      bool : True if metric is maximizable, False otherwise
     |
     |  is_min_optimal(self)
     |      Returns
     |      ----------
     |      bool :  True if metric is minimizable, False otherwise
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from BuiltinMetric:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

    class MultiRMSEWithMissingValues(BuiltinMetric)
     |  MultiRMSEWithMissingValues(**kwargs)
     |
     |  Builtin metric: 'MultiRMSEWithMissingValues'
     |  Parameters:
     |      use_weights = True (default value)
     |      hints = '' (default value)
     |
     |  Method resolution order:
     |      MultiRMSEWithMissingValues
     |      BuiltinMetric
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __repr__ lambda self from _MetricGenerator.__new__.<locals>
     |
     |  __str__ = _to_string(metric_obj)
     |
     |  set_hints(self, **hints) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Static methods defined here:
     |
     |  params_with_defaults lambda (...) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  hints
     |      Parameter hints of metric MultiRMSEWithMissingValues
     |
     |  use_weights
     |      Parameter use_weights of metric MultiRMSEWithMissingValues
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from BuiltinMetric:
     |
     |  eval(self, label, approx, weight=None, group_id=None, group_weight=None, subgroup_id=None, pairs=None, thread_count=-1)
     |      Evaluate the metric with raw approxes and labels.
     |
     |      Parameters
     |      ----------
     |      label : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object labels.
     |
     |      approx : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object approxes.
     |
     |      weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object weights.
     |
     |      group_id : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object group ids.
     |
     |      group_weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Group weights.
     |
     |      subgroup_id : list or numpy.ndarray, optional (default=None)
     |          subgroup id for each instance.
     |          If not None, giving 1 dimensional array like data.
     |
     |      pairs : list or numpy.ndarray or pandas.DataFrame or string or pathlib.Path
     |          The pairs description.
     |          If list or numpy.ndarrays or pandas.DataFrame, giving 2 dimensional.
     |          The shape should be Nx2, where N is the pairs' count. The first element of the pair is
     |          the index of winner object in the training set. The second element of the pair is
     |          the index of loser object in the training set.
     |          If string or pathlib.Path, giving the path to the file with pairs description.
     |
     |      thread_count : int, optional (default=-1)
     |          Number of threads to work with.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      Returns
     |      -------
     |      metric results : list with metric values.
     |
     |  is_max_optimal(self)
     |      Returns
     |      ----------
     |      bool : True if metric is maximizable, False otherwise
     |
     |  is_min_optimal(self)
     |      Returns
     |      ----------
     |      bool :  True if metric is minimizable, False otherwise
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from BuiltinMetric:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

    class NDCG(BuiltinMetric)
     |  NDCG(**kwargs)
     |
     |  Builtin metric: 'NDCG'
     |  Parameters:
     |      denominator = 'LogPosition' (default value)
     |      type = 'Base' (default value)
     |      hints = 'skip_train~true' (default value)
     |      top = -1 (default value)
     |      use_weights = True (default value)
     |
     |  Method resolution order:
     |      NDCG
     |      BuiltinMetric
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __repr__ lambda self from _MetricGenerator.__new__.<locals>
     |
     |  __str__ = _to_string(metric_obj)
     |
     |  set_hints(self, **hints) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Static methods defined here:
     |
     |  params_with_defaults lambda (...) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  denominator
     |      Parameter denominator of metric NDCG
     |
     |  hints
     |      Parameter hints of metric NDCG
     |
     |  top
     |      Parameter top of metric NDCG
     |
     |  type
     |      Parameter type of metric NDCG
     |
     |  use_weights
     |      Parameter use_weights of metric NDCG
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from BuiltinMetric:
     |
     |  eval(self, label, approx, weight=None, group_id=None, group_weight=None, subgroup_id=None, pairs=None, thread_count=-1)
     |      Evaluate the metric with raw approxes and labels.
     |
     |      Parameters
     |      ----------
     |      label : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object labels.
     |
     |      approx : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object approxes.
     |
     |      weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object weights.
     |
     |      group_id : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object group ids.
     |
     |      group_weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Group weights.
     |
     |      subgroup_id : list or numpy.ndarray, optional (default=None)
     |          subgroup id for each instance.
     |          If not None, giving 1 dimensional array like data.
     |
     |      pairs : list or numpy.ndarray or pandas.DataFrame or string or pathlib.Path
     |          The pairs description.
     |          If list or numpy.ndarrays or pandas.DataFrame, giving 2 dimensional.
     |          The shape should be Nx2, where N is the pairs' count. The first element of the pair is
     |          the index of winner object in the training set. The second element of the pair is
     |          the index of loser object in the training set.
     |          If string or pathlib.Path, giving the path to the file with pairs description.
     |
     |      thread_count : int, optional (default=-1)
     |          Number of threads to work with.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      Returns
     |      -------
     |      metric results : list with metric values.
     |
     |  is_max_optimal(self)
     |      Returns
     |      ----------
     |      bool : True if metric is maximizable, False otherwise
     |
     |  is_min_optimal(self)
     |      Returns
     |      ----------
     |      bool :  True if metric is minimizable, False otherwise
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from BuiltinMetric:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

    class NormalizedGini(BuiltinMetric)
     |  NormalizedGini(**kwargs)
     |
     |  Builtin metric: 'NormalizedGini'
     |  Parameters:
     |      border = 0.5 (default value)
     |      use_weights = True (default value)
     |      hints = '' (default value)
     |
     |  Method resolution order:
     |      NormalizedGini
     |      BuiltinMetric
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __repr__ lambda self from _MetricGenerator.__new__.<locals>
     |
     |  __str__ = _to_string(metric_obj)
     |
     |  set_hints(self, **hints) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Static methods defined here:
     |
     |  params_with_defaults lambda (...) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  border
     |      Parameter border of metric NormalizedGini
     |
     |  hints
     |      Parameter hints of metric NormalizedGini
     |
     |  use_weights
     |      Parameter use_weights of metric NormalizedGini
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from BuiltinMetric:
     |
     |  eval(self, label, approx, weight=None, group_id=None, group_weight=None, subgroup_id=None, pairs=None, thread_count=-1)
     |      Evaluate the metric with raw approxes and labels.
     |
     |      Parameters
     |      ----------
     |      label : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object labels.
     |
     |      approx : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object approxes.
     |
     |      weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object weights.
     |
     |      group_id : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object group ids.
     |
     |      group_weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Group weights.
     |
     |      subgroup_id : list or numpy.ndarray, optional (default=None)
     |          subgroup id for each instance.
     |          If not None, giving 1 dimensional array like data.
     |
     |      pairs : list or numpy.ndarray or pandas.DataFrame or string or pathlib.Path
     |          The pairs description.
     |          If list or numpy.ndarrays or pandas.DataFrame, giving 2 dimensional.
     |          The shape should be Nx2, where N is the pairs' count. The first element of the pair is
     |          the index of winner object in the training set. The second element of the pair is
     |          the index of loser object in the training set.
     |          If string or pathlib.Path, giving the path to the file with pairs description.
     |
     |      thread_count : int, optional (default=-1)
     |          Number of threads to work with.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      Returns
     |      -------
     |      metric results : list with metric values.
     |
     |  is_max_optimal(self)
     |      Returns
     |      ----------
     |      bool : True if metric is maximizable, False otherwise
     |
     |  is_min_optimal(self)
     |      Returns
     |      ----------
     |      bool :  True if metric is minimizable, False otherwise
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from BuiltinMetric:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

    class NormalizedGiniMulticlass(BuiltinMetric)
     |  NormalizedGiniMulticlass(**kwargs)
     |
     |  Builtin metric: 'NormalizedGiniMulticlass'
     |  Parameters:
     |      border = None (default value)
     |      use_weights = True (default value)
     |      hints = '' (default value)
     |
     |  Method resolution order:
     |      NormalizedGiniMulticlass
     |      BuiltinMetric
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __repr__ lambda self from _MetricGenerator.__new__.<locals>
     |
     |  __str__ = _to_string(metric_obj)
     |
     |  set_hints(self, **hints) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Static methods defined here:
     |
     |  params_with_defaults lambda (...) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  border
     |      Parameter border of metric NormalizedGiniMulticlass
     |
     |  hints
     |      Parameter hints of metric NormalizedGiniMulticlass
     |
     |  use_weights
     |      Parameter use_weights of metric NormalizedGiniMulticlass
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from BuiltinMetric:
     |
     |  eval(self, label, approx, weight=None, group_id=None, group_weight=None, subgroup_id=None, pairs=None, thread_count=-1)
     |      Evaluate the metric with raw approxes and labels.
     |
     |      Parameters
     |      ----------
     |      label : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object labels.
     |
     |      approx : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object approxes.
     |
     |      weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object weights.
     |
     |      group_id : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object group ids.
     |
     |      group_weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Group weights.
     |
     |      subgroup_id : list or numpy.ndarray, optional (default=None)
     |          subgroup id for each instance.
     |          If not None, giving 1 dimensional array like data.
     |
     |      pairs : list or numpy.ndarray or pandas.DataFrame or string or pathlib.Path
     |          The pairs description.
     |          If list or numpy.ndarrays or pandas.DataFrame, giving 2 dimensional.
     |          The shape should be Nx2, where N is the pairs' count. The first element of the pair is
     |          the index of winner object in the training set. The second element of the pair is
     |          the index of loser object in the training set.
     |          If string or pathlib.Path, giving the path to the file with pairs description.
     |
     |      thread_count : int, optional (default=-1)
     |          Number of threads to work with.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      Returns
     |      -------
     |      metric results : list with metric values.
     |
     |  is_max_optimal(self)
     |      Returns
     |      ----------
     |      bool : True if metric is maximizable, False otherwise
     |
     |  is_min_optimal(self)
     |      Returns
     |      ----------
     |      bool :  True if metric is minimizable, False otherwise
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from BuiltinMetric:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

    class NumErrors(BuiltinMetric)
     |  NumErrors(**kwargs)
     |
     |  Builtin metric: 'NumErrors'
     |  Parameters:
     |      greater_than (mandatory)
     |      use_weights = True (default value)
     |      hints = '' (default value)
     |
     |  Method resolution order:
     |      NumErrors
     |      BuiltinMetric
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __repr__ lambda self from _MetricGenerator.__new__.<locals>
     |
     |  __str__ = _to_string(metric_obj)
     |
     |  set_hints(self, **hints) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Static methods defined here:
     |
     |  params_with_defaults lambda (...) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  greater_than
     |      Parameter greater_than of metric NumErrors
     |
     |  hints
     |      Parameter hints of metric NumErrors
     |
     |  use_weights
     |      Parameter use_weights of metric NumErrors
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from BuiltinMetric:
     |
     |  eval(self, label, approx, weight=None, group_id=None, group_weight=None, subgroup_id=None, pairs=None, thread_count=-1)
     |      Evaluate the metric with raw approxes and labels.
     |
     |      Parameters
     |      ----------
     |      label : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object labels.
     |
     |      approx : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object approxes.
     |
     |      weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object weights.
     |
     |      group_id : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object group ids.
     |
     |      group_weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Group weights.
     |
     |      subgroup_id : list or numpy.ndarray, optional (default=None)
     |          subgroup id for each instance.
     |          If not None, giving 1 dimensional array like data.
     |
     |      pairs : list or numpy.ndarray or pandas.DataFrame or string or pathlib.Path
     |          The pairs description.
     |          If list or numpy.ndarrays or pandas.DataFrame, giving 2 dimensional.
     |          The shape should be Nx2, where N is the pairs' count. The first element of the pair is
     |          the index of winner object in the training set. The second element of the pair is
     |          the index of loser object in the training set.
     |          If string or pathlib.Path, giving the path to the file with pairs description.
     |
     |      thread_count : int, optional (default=-1)
     |          Number of threads to work with.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      Returns
     |      -------
     |      metric results : list with metric values.
     |
     |  is_max_optimal(self)
     |      Returns
     |      ----------
     |      bool : True if metric is maximizable, False otherwise
     |
     |  is_min_optimal(self)
     |      Returns
     |      ----------
     |      bool :  True if metric is minimizable, False otherwise
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from BuiltinMetric:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

    class PFound(BuiltinMetric)
     |  PFound(**kwargs)
     |
     |  Builtin metric: 'PFound'
     |  Parameters:
     |      hints = 'skip_train~true' (default value)
     |      decay = 0.85 (default value)
     |      use_weights = True (default value)
     |
     |  Method resolution order:
     |      PFound
     |      BuiltinMetric
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __repr__ lambda self from _MetricGenerator.__new__.<locals>
     |
     |  __str__ = _to_string(metric_obj)
     |
     |  set_hints(self, **hints) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Static methods defined here:
     |
     |  params_with_defaults lambda (...) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  decay
     |      Parameter decay of metric PFound
     |
     |  hints
     |      Parameter hints of metric PFound
     |
     |  use_weights
     |      Parameter use_weights of metric PFound
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from BuiltinMetric:
     |
     |  eval(self, label, approx, weight=None, group_id=None, group_weight=None, subgroup_id=None, pairs=None, thread_count=-1)
     |      Evaluate the metric with raw approxes and labels.
     |
     |      Parameters
     |      ----------
     |      label : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object labels.
     |
     |      approx : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object approxes.
     |
     |      weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object weights.
     |
     |      group_id : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object group ids.
     |
     |      group_weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Group weights.
     |
     |      subgroup_id : list or numpy.ndarray, optional (default=None)
     |          subgroup id for each instance.
     |          If not None, giving 1 dimensional array like data.
     |
     |      pairs : list or numpy.ndarray or pandas.DataFrame or string or pathlib.Path
     |          The pairs description.
     |          If list or numpy.ndarrays or pandas.DataFrame, giving 2 dimensional.
     |          The shape should be Nx2, where N is the pairs' count. The first element of the pair is
     |          the index of winner object in the training set. The second element of the pair is
     |          the index of loser object in the training set.
     |          If string or pathlib.Path, giving the path to the file with pairs description.
     |
     |      thread_count : int, optional (default=-1)
     |          Number of threads to work with.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      Returns
     |      -------
     |      metric results : list with metric values.
     |
     |  is_max_optimal(self)
     |      Returns
     |      ----------
     |      bool : True if metric is maximizable, False otherwise
     |
     |  is_min_optimal(self)
     |      Returns
     |      ----------
     |      bool :  True if metric is minimizable, False otherwise
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from BuiltinMetric:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

    class PRAUC(BuiltinMetric)
     |  PRAUC(**kwargs)
     |
     |  Builtin metric: 'PRAUC'
     |  Parameters:
     |      type = 'Classic' (default value)
     |      hints = 'skip_train~true' (default value)
     |      use_weights = False (default value)
     |
     |  Method resolution order:
     |      PRAUC
     |      BuiltinMetric
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __repr__ lambda self from _MetricGenerator.__new__.<locals>
     |
     |  __str__ = _to_string(metric_obj)
     |
     |  set_hints(self, **hints) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Static methods defined here:
     |
     |  params_with_defaults lambda (...) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  hints
     |      Parameter hints of metric PRAUC
     |
     |  type
     |      Parameter type of metric PRAUC
     |
     |  use_weights
     |      Parameter use_weights of metric PRAUC
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from BuiltinMetric:
     |
     |  eval(self, label, approx, weight=None, group_id=None, group_weight=None, subgroup_id=None, pairs=None, thread_count=-1)
     |      Evaluate the metric with raw approxes and labels.
     |
     |      Parameters
     |      ----------
     |      label : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object labels.
     |
     |      approx : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object approxes.
     |
     |      weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object weights.
     |
     |      group_id : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object group ids.
     |
     |      group_weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Group weights.
     |
     |      subgroup_id : list or numpy.ndarray, optional (default=None)
     |          subgroup id for each instance.
     |          If not None, giving 1 dimensional array like data.
     |
     |      pairs : list or numpy.ndarray or pandas.DataFrame or string or pathlib.Path
     |          The pairs description.
     |          If list or numpy.ndarrays or pandas.DataFrame, giving 2 dimensional.
     |          The shape should be Nx2, where N is the pairs' count. The first element of the pair is
     |          the index of winner object in the training set. The second element of the pair is
     |          the index of loser object in the training set.
     |          If string or pathlib.Path, giving the path to the file with pairs description.
     |
     |      thread_count : int, optional (default=-1)
     |          Number of threads to work with.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      Returns
     |      -------
     |      metric results : list with metric values.
     |
     |  is_max_optimal(self)
     |      Returns
     |      ----------
     |      bool : True if metric is maximizable, False otherwise
     |
     |  is_min_optimal(self)
     |      Returns
     |      ----------
     |      bool :  True if metric is minimizable, False otherwise
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from BuiltinMetric:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

    class PRAUCMulticlass(BuiltinMetric)
     |  PRAUCMulticlass(**kwargs)
     |
     |  Builtin metric: 'PRAUCMulticlass'
     |  Parameters:
     |      type = 'OneVsAll' (default value)
     |      hints = 'skip_train~true' (default value)
     |      use_weights = False (default value)
     |
     |  Method resolution order:
     |      PRAUCMulticlass
     |      BuiltinMetric
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __repr__ lambda self from _MetricGenerator.__new__.<locals>
     |
     |  __str__ = _to_string(metric_obj)
     |
     |  set_hints(self, **hints) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Static methods defined here:
     |
     |  params_with_defaults lambda (...) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  hints
     |      Parameter hints of metric PRAUCMulticlass
     |
     |  type
     |      Parameter type of metric PRAUCMulticlass
     |
     |  use_weights
     |      Parameter use_weights of metric PRAUCMulticlass
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from BuiltinMetric:
     |
     |  eval(self, label, approx, weight=None, group_id=None, group_weight=None, subgroup_id=None, pairs=None, thread_count=-1)
     |      Evaluate the metric with raw approxes and labels.
     |
     |      Parameters
     |      ----------
     |      label : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object labels.
     |
     |      approx : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object approxes.
     |
     |      weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object weights.
     |
     |      group_id : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object group ids.
     |
     |      group_weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Group weights.
     |
     |      subgroup_id : list or numpy.ndarray, optional (default=None)
     |          subgroup id for each instance.
     |          If not None, giving 1 dimensional array like data.
     |
     |      pairs : list or numpy.ndarray or pandas.DataFrame or string or pathlib.Path
     |          The pairs description.
     |          If list or numpy.ndarrays or pandas.DataFrame, giving 2 dimensional.
     |          The shape should be Nx2, where N is the pairs' count. The first element of the pair is
     |          the index of winner object in the training set. The second element of the pair is
     |          the index of loser object in the training set.
     |          If string or pathlib.Path, giving the path to the file with pairs description.
     |
     |      thread_count : int, optional (default=-1)
     |          Number of threads to work with.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      Returns
     |      -------
     |      metric results : list with metric values.
     |
     |  is_max_optimal(self)
     |      Returns
     |      ----------
     |      bool : True if metric is maximizable, False otherwise
     |
     |  is_min_optimal(self)
     |      Returns
     |      ----------
     |      bool :  True if metric is minimizable, False otherwise
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from BuiltinMetric:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

    class PairAccuracy(BuiltinMetric)
     |  PairAccuracy(**kwargs)
     |
     |  Builtin metric: 'PairAccuracy'
     |  Parameters:
     |      use_weights = True (default value)
     |      hints = '' (default value)
     |
     |  Method resolution order:
     |      PairAccuracy
     |      BuiltinMetric
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __repr__ lambda self from _MetricGenerator.__new__.<locals>
     |
     |  __str__ = _to_string(metric_obj)
     |
     |  set_hints(self, **hints) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Static methods defined here:
     |
     |  params_with_defaults lambda (...) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  hints
     |      Parameter hints of metric PairAccuracy
     |
     |  use_weights
     |      Parameter use_weights of metric PairAccuracy
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from BuiltinMetric:
     |
     |  eval(self, label, approx, weight=None, group_id=None, group_weight=None, subgroup_id=None, pairs=None, thread_count=-1)
     |      Evaluate the metric with raw approxes and labels.
     |
     |      Parameters
     |      ----------
     |      label : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object labels.
     |
     |      approx : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object approxes.
     |
     |      weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object weights.
     |
     |      group_id : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object group ids.
     |
     |      group_weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Group weights.
     |
     |      subgroup_id : list or numpy.ndarray, optional (default=None)
     |          subgroup id for each instance.
     |          If not None, giving 1 dimensional array like data.
     |
     |      pairs : list or numpy.ndarray or pandas.DataFrame or string or pathlib.Path
     |          The pairs description.
     |          If list or numpy.ndarrays or pandas.DataFrame, giving 2 dimensional.
     |          The shape should be Nx2, where N is the pairs' count. The first element of the pair is
     |          the index of winner object in the training set. The second element of the pair is
     |          the index of loser object in the training set.
     |          If string or pathlib.Path, giving the path to the file with pairs description.
     |
     |      thread_count : int, optional (default=-1)
     |          Number of threads to work with.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      Returns
     |      -------
     |      metric results : list with metric values.
     |
     |  is_max_optimal(self)
     |      Returns
     |      ----------
     |      bool : True if metric is maximizable, False otherwise
     |
     |  is_min_optimal(self)
     |      Returns
     |      ----------
     |      bool :  True if metric is minimizable, False otherwise
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from BuiltinMetric:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

    class PairLogit(BuiltinMetric)
     |  PairLogit(**kwargs)
     |
     |  Builtin metric: 'PairLogit'
     |  Parameters:
     |      max_pairs = None (default value)
     |      use_weights = True (default value)
     |      hints = '' (default value)
     |
     |  Method resolution order:
     |      PairLogit
     |      BuiltinMetric
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __repr__ lambda self from _MetricGenerator.__new__.<locals>
     |
     |  __str__ = _to_string(metric_obj)
     |
     |  set_hints(self, **hints) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Static methods defined here:
     |
     |  params_with_defaults lambda (...) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  hints
     |      Parameter hints of metric PairLogit
     |
     |  max_pairs
     |      Parameter max_pairs of metric PairLogit
     |
     |  use_weights
     |      Parameter use_weights of metric PairLogit
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from BuiltinMetric:
     |
     |  eval(self, label, approx, weight=None, group_id=None, group_weight=None, subgroup_id=None, pairs=None, thread_count=-1)
     |      Evaluate the metric with raw approxes and labels.
     |
     |      Parameters
     |      ----------
     |      label : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object labels.
     |
     |      approx : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object approxes.
     |
     |      weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object weights.
     |
     |      group_id : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object group ids.
     |
     |      group_weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Group weights.
     |
     |      subgroup_id : list or numpy.ndarray, optional (default=None)
     |          subgroup id for each instance.
     |          If not None, giving 1 dimensional array like data.
     |
     |      pairs : list or numpy.ndarray or pandas.DataFrame or string or pathlib.Path
     |          The pairs description.
     |          If list or numpy.ndarrays or pandas.DataFrame, giving 2 dimensional.
     |          The shape should be Nx2, where N is the pairs' count. The first element of the pair is
     |          the index of winner object in the training set. The second element of the pair is
     |          the index of loser object in the training set.
     |          If string or pathlib.Path, giving the path to the file with pairs description.
     |
     |      thread_count : int, optional (default=-1)
     |          Number of threads to work with.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      Returns
     |      -------
     |      metric results : list with metric values.
     |
     |  is_max_optimal(self)
     |      Returns
     |      ----------
     |      bool : True if metric is maximizable, False otherwise
     |
     |  is_min_optimal(self)
     |      Returns
     |      ----------
     |      bool :  True if metric is minimizable, False otherwise
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from BuiltinMetric:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

    class PairLogitPairwise(BuiltinMetric)
     |  PairLogitPairwise(**kwargs)
     |
     |  Builtin metric: 'PairLogitPairwise'
     |  Parameters:
     |      max_pairs = None (default value)
     |      use_weights = True (default value)
     |      hints = '' (default value)
     |
     |  Method resolution order:
     |      PairLogitPairwise
     |      BuiltinMetric
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __repr__ lambda self from _MetricGenerator.__new__.<locals>
     |
     |  __str__ = _to_string(metric_obj)
     |
     |  set_hints(self, **hints) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Static methods defined here:
     |
     |  params_with_defaults lambda (...) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  hints
     |      Parameter hints of metric PairLogitPairwise
     |
     |  max_pairs
     |      Parameter max_pairs of metric PairLogitPairwise
     |
     |  use_weights
     |      Parameter use_weights of metric PairLogitPairwise
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from BuiltinMetric:
     |
     |  eval(self, label, approx, weight=None, group_id=None, group_weight=None, subgroup_id=None, pairs=None, thread_count=-1)
     |      Evaluate the metric with raw approxes and labels.
     |
     |      Parameters
     |      ----------
     |      label : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object labels.
     |
     |      approx : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object approxes.
     |
     |      weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object weights.
     |
     |      group_id : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object group ids.
     |
     |      group_weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Group weights.
     |
     |      subgroup_id : list or numpy.ndarray, optional (default=None)
     |          subgroup id for each instance.
     |          If not None, giving 1 dimensional array like data.
     |
     |      pairs : list or numpy.ndarray or pandas.DataFrame or string or pathlib.Path
     |          The pairs description.
     |          If list or numpy.ndarrays or pandas.DataFrame, giving 2 dimensional.
     |          The shape should be Nx2, where N is the pairs' count. The first element of the pair is
     |          the index of winner object in the training set. The second element of the pair is
     |          the index of loser object in the training set.
     |          If string or pathlib.Path, giving the path to the file with pairs description.
     |
     |      thread_count : int, optional (default=-1)
     |          Number of threads to work with.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      Returns
     |      -------
     |      metric results : list with metric values.
     |
     |  is_max_optimal(self)
     |      Returns
     |      ----------
     |      bool : True if metric is maximizable, False otherwise
     |
     |  is_min_optimal(self)
     |      Returns
     |      ----------
     |      bool :  True if metric is minimizable, False otherwise
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from BuiltinMetric:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

    class Poisson(BuiltinMetric)
     |  Poisson(**kwargs)
     |
     |  Builtin metric: 'Poisson'
     |  Parameters:
     |      use_weights = True (default value)
     |      hints = '' (default value)
     |
     |  Method resolution order:
     |      Poisson
     |      BuiltinMetric
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __repr__ lambda self from _MetricGenerator.__new__.<locals>
     |
     |  __str__ = _to_string(metric_obj)
     |
     |  set_hints(self, **hints) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Static methods defined here:
     |
     |  params_with_defaults lambda (...) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  hints
     |      Parameter hints of metric Poisson
     |
     |  use_weights
     |      Parameter use_weights of metric Poisson
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from BuiltinMetric:
     |
     |  eval(self, label, approx, weight=None, group_id=None, group_weight=None, subgroup_id=None, pairs=None, thread_count=-1)
     |      Evaluate the metric with raw approxes and labels.
     |
     |      Parameters
     |      ----------
     |      label : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object labels.
     |
     |      approx : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object approxes.
     |
     |      weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object weights.
     |
     |      group_id : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object group ids.
     |
     |      group_weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Group weights.
     |
     |      subgroup_id : list or numpy.ndarray, optional (default=None)
     |          subgroup id for each instance.
     |          If not None, giving 1 dimensional array like data.
     |
     |      pairs : list or numpy.ndarray or pandas.DataFrame or string or pathlib.Path
     |          The pairs description.
     |          If list or numpy.ndarrays or pandas.DataFrame, giving 2 dimensional.
     |          The shape should be Nx2, where N is the pairs' count. The first element of the pair is
     |          the index of winner object in the training set. The second element of the pair is
     |          the index of loser object in the training set.
     |          If string or pathlib.Path, giving the path to the file with pairs description.
     |
     |      thread_count : int, optional (default=-1)
     |          Number of threads to work with.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      Returns
     |      -------
     |      metric results : list with metric values.
     |
     |  is_max_optimal(self)
     |      Returns
     |      ----------
     |      bool : True if metric is maximizable, False otherwise
     |
     |  is_min_optimal(self)
     |      Returns
     |      ----------
     |      bool :  True if metric is minimizable, False otherwise
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from BuiltinMetric:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

    class Precision(BuiltinMetric)
     |  Precision(**kwargs)
     |
     |  Builtin metric: 'Precision'
     |  Parameters:
     |      use_weights = True (default value)
     |      hints = '' (default value)
     |
     |  Method resolution order:
     |      Precision
     |      BuiltinMetric
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __repr__ lambda self from _MetricGenerator.__new__.<locals>
     |
     |  __str__ = _to_string(metric_obj)
     |
     |  set_hints(self, **hints) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Static methods defined here:
     |
     |  params_with_defaults lambda (...) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  hints
     |      Parameter hints of metric Precision
     |
     |  use_weights
     |      Parameter use_weights of metric Precision
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from BuiltinMetric:
     |
     |  eval(self, label, approx, weight=None, group_id=None, group_weight=None, subgroup_id=None, pairs=None, thread_count=-1)
     |      Evaluate the metric with raw approxes and labels.
     |
     |      Parameters
     |      ----------
     |      label : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object labels.
     |
     |      approx : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object approxes.
     |
     |      weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object weights.
     |
     |      group_id : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object group ids.
     |
     |      group_weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Group weights.
     |
     |      subgroup_id : list or numpy.ndarray, optional (default=None)
     |          subgroup id for each instance.
     |          If not None, giving 1 dimensional array like data.
     |
     |      pairs : list or numpy.ndarray or pandas.DataFrame or string or pathlib.Path
     |          The pairs description.
     |          If list or numpy.ndarrays or pandas.DataFrame, giving 2 dimensional.
     |          The shape should be Nx2, where N is the pairs' count. The first element of the pair is
     |          the index of winner object in the training set. The second element of the pair is
     |          the index of loser object in the training set.
     |          If string or pathlib.Path, giving the path to the file with pairs description.
     |
     |      thread_count : int, optional (default=-1)
     |          Number of threads to work with.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      Returns
     |      -------
     |      metric results : list with metric values.
     |
     |  is_max_optimal(self)
     |      Returns
     |      ----------
     |      bool : True if metric is maximizable, False otherwise
     |
     |  is_min_optimal(self)
     |      Returns
     |      ----------
     |      bool :  True if metric is minimizable, False otherwise
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from BuiltinMetric:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

    class PrecisionAt(BuiltinMetric)
     |  PrecisionAt(**kwargs)
     |
     |  Builtin metric: 'PrecisionAt'
     |  Parameters:
     |      top = -1 (default value)
     |      border = 0.5 (default value)
     |      use_weights = True (default value)
     |      hints = '' (default value)
     |
     |  Method resolution order:
     |      PrecisionAt
     |      BuiltinMetric
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __repr__ lambda self from _MetricGenerator.__new__.<locals>
     |
     |  __str__ = _to_string(metric_obj)
     |
     |  set_hints(self, **hints) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Static methods defined here:
     |
     |  params_with_defaults lambda (...) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  border
     |      Parameter border of metric PrecisionAt
     |
     |  hints
     |      Parameter hints of metric PrecisionAt
     |
     |  top
     |      Parameter top of metric PrecisionAt
     |
     |  use_weights
     |      Parameter use_weights of metric PrecisionAt
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from BuiltinMetric:
     |
     |  eval(self, label, approx, weight=None, group_id=None, group_weight=None, subgroup_id=None, pairs=None, thread_count=-1)
     |      Evaluate the metric with raw approxes and labels.
     |
     |      Parameters
     |      ----------
     |      label : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object labels.
     |
     |      approx : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object approxes.
     |
     |      weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object weights.
     |
     |      group_id : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object group ids.
     |
     |      group_weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Group weights.
     |
     |      subgroup_id : list or numpy.ndarray, optional (default=None)
     |          subgroup id for each instance.
     |          If not None, giving 1 dimensional array like data.
     |
     |      pairs : list or numpy.ndarray or pandas.DataFrame or string or pathlib.Path
     |          The pairs description.
     |          If list or numpy.ndarrays or pandas.DataFrame, giving 2 dimensional.
     |          The shape should be Nx2, where N is the pairs' count. The first element of the pair is
     |          the index of winner object in the training set. The second element of the pair is
     |          the index of loser object in the training set.
     |          If string or pathlib.Path, giving the path to the file with pairs description.
     |
     |      thread_count : int, optional (default=-1)
     |          Number of threads to work with.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      Returns
     |      -------
     |      metric results : list with metric values.
     |
     |  is_max_optimal(self)
     |      Returns
     |      ----------
     |      bool : True if metric is maximizable, False otherwise
     |
     |  is_min_optimal(self)
     |      Returns
     |      ----------
     |      bool :  True if metric is minimizable, False otherwise
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from BuiltinMetric:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

    class Quantile(BuiltinMetric)
     |  Quantile(**kwargs)
     |
     |  Builtin metric: 'Quantile'
     |  Parameters:
     |      delta = 1e-06 (default value)
     |      alpha = 0.5 (default value)
     |      use_weights = True (default value)
     |      hints = '' (default value)
     |
     |  Method resolution order:
     |      Quantile
     |      BuiltinMetric
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __repr__ lambda self from _MetricGenerator.__new__.<locals>
     |
     |  __str__ = _to_string(metric_obj)
     |
     |  set_hints(self, **hints) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Static methods defined here:
     |
     |  params_with_defaults lambda (...) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  alpha
     |      Parameter alpha of metric Quantile
     |
     |  delta
     |      Parameter delta of metric Quantile
     |
     |  hints
     |      Parameter hints of metric Quantile
     |
     |  use_weights
     |      Parameter use_weights of metric Quantile
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from BuiltinMetric:
     |
     |  eval(self, label, approx, weight=None, group_id=None, group_weight=None, subgroup_id=None, pairs=None, thread_count=-1)
     |      Evaluate the metric with raw approxes and labels.
     |
     |      Parameters
     |      ----------
     |      label : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object labels.
     |
     |      approx : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object approxes.
     |
     |      weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object weights.
     |
     |      group_id : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object group ids.
     |
     |      group_weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Group weights.
     |
     |      subgroup_id : list or numpy.ndarray, optional (default=None)
     |          subgroup id for each instance.
     |          If not None, giving 1 dimensional array like data.
     |
     |      pairs : list or numpy.ndarray or pandas.DataFrame or string or pathlib.Path
     |          The pairs description.
     |          If list or numpy.ndarrays or pandas.DataFrame, giving 2 dimensional.
     |          The shape should be Nx2, where N is the pairs' count. The first element of the pair is
     |          the index of winner object in the training set. The second element of the pair is
     |          the index of loser object in the training set.
     |          If string or pathlib.Path, giving the path to the file with pairs description.
     |
     |      thread_count : int, optional (default=-1)
     |          Number of threads to work with.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      Returns
     |      -------
     |      metric results : list with metric values.
     |
     |  is_max_optimal(self)
     |      Returns
     |      ----------
     |      bool : True if metric is maximizable, False otherwise
     |
     |  is_min_optimal(self)
     |      Returns
     |      ----------
     |      bool :  True if metric is minimizable, False otherwise
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from BuiltinMetric:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

    class QueryAUC(BuiltinMetric)
     |  QueryAUC(**kwargs)
     |
     |  Builtin metric: 'QueryAUC'
     |  Parameters:
     |      type = 'Classic' (default value)
     |      hints = 'skip_train~true' (default value)
     |      use_weights = False (default value)
     |
     |  Method resolution order:
     |      QueryAUC
     |      BuiltinMetric
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __repr__ lambda self from _MetricGenerator.__new__.<locals>
     |
     |  __str__ = _to_string(metric_obj)
     |
     |  set_hints(self, **hints) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Static methods defined here:
     |
     |  params_with_defaults lambda (...) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  hints
     |      Parameter hints of metric QueryAUC
     |
     |  type
     |      Parameter type of metric QueryAUC
     |
     |  use_weights
     |      Parameter use_weights of metric QueryAUC
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from BuiltinMetric:
     |
     |  eval(self, label, approx, weight=None, group_id=None, group_weight=None, subgroup_id=None, pairs=None, thread_count=-1)
     |      Evaluate the metric with raw approxes and labels.
     |
     |      Parameters
     |      ----------
     |      label : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object labels.
     |
     |      approx : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object approxes.
     |
     |      weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object weights.
     |
     |      group_id : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object group ids.
     |
     |      group_weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Group weights.
     |
     |      subgroup_id : list or numpy.ndarray, optional (default=None)
     |          subgroup id for each instance.
     |          If not None, giving 1 dimensional array like data.
     |
     |      pairs : list or numpy.ndarray or pandas.DataFrame or string or pathlib.Path
     |          The pairs description.
     |          If list or numpy.ndarrays or pandas.DataFrame, giving 2 dimensional.
     |          The shape should be Nx2, where N is the pairs' count. The first element of the pair is
     |          the index of winner object in the training set. The second element of the pair is
     |          the index of loser object in the training set.
     |          If string or pathlib.Path, giving the path to the file with pairs description.
     |
     |      thread_count : int, optional (default=-1)
     |          Number of threads to work with.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      Returns
     |      -------
     |      metric results : list with metric values.
     |
     |  is_max_optimal(self)
     |      Returns
     |      ----------
     |      bool : True if metric is maximizable, False otherwise
     |
     |  is_min_optimal(self)
     |      Returns
     |      ----------
     |      bool :  True if metric is minimizable, False otherwise
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from BuiltinMetric:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

    class QueryAUCMulticlass(BuiltinMetric)
     |  QueryAUCMulticlass(**kwargs)
     |
     |  Builtin metric: 'QueryAUCMulticlass'
     |  Parameters:
     |      type = 'Mu' (default value)
     |      hints = 'skip_train~true' (default value)
     |      use_weights = False (default value)
     |
     |  Method resolution order:
     |      QueryAUCMulticlass
     |      BuiltinMetric
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __repr__ lambda self from _MetricGenerator.__new__.<locals>
     |
     |  __str__ = _to_string(metric_obj)
     |
     |  set_hints(self, **hints) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Static methods defined here:
     |
     |  params_with_defaults lambda (...) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  hints
     |      Parameter hints of metric QueryAUCMulticlass
     |
     |  type
     |      Parameter type of metric QueryAUCMulticlass
     |
     |  use_weights
     |      Parameter use_weights of metric QueryAUCMulticlass
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from BuiltinMetric:
     |
     |  eval(self, label, approx, weight=None, group_id=None, group_weight=None, subgroup_id=None, pairs=None, thread_count=-1)
     |      Evaluate the metric with raw approxes and labels.
     |
     |      Parameters
     |      ----------
     |      label : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object labels.
     |
     |      approx : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object approxes.
     |
     |      weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object weights.
     |
     |      group_id : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object group ids.
     |
     |      group_weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Group weights.
     |
     |      subgroup_id : list or numpy.ndarray, optional (default=None)
     |          subgroup id for each instance.
     |          If not None, giving 1 dimensional array like data.
     |
     |      pairs : list or numpy.ndarray or pandas.DataFrame or string or pathlib.Path
     |          The pairs description.
     |          If list or numpy.ndarrays or pandas.DataFrame, giving 2 dimensional.
     |          The shape should be Nx2, where N is the pairs' count. The first element of the pair is
     |          the index of winner object in the training set. The second element of the pair is
     |          the index of loser object in the training set.
     |          If string or pathlib.Path, giving the path to the file with pairs description.
     |
     |      thread_count : int, optional (default=-1)
     |          Number of threads to work with.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      Returns
     |      -------
     |      metric results : list with metric values.
     |
     |  is_max_optimal(self)
     |      Returns
     |      ----------
     |      bool : True if metric is maximizable, False otherwise
     |
     |  is_min_optimal(self)
     |      Returns
     |      ----------
     |      bool :  True if metric is minimizable, False otherwise
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from BuiltinMetric:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

    class QueryAverage(BuiltinMetric)
     |  QueryAverage(**kwargs)
     |
     |  Builtin metric: 'QueryAverage'
     |  Parameters:
     |      top (mandatory)
     |      use_weights = True (default value)
     |      hints = '' (default value)
     |
     |  Method resolution order:
     |      QueryAverage
     |      BuiltinMetric
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __repr__ lambda self from _MetricGenerator.__new__.<locals>
     |
     |  __str__ = _to_string(metric_obj)
     |
     |  set_hints(self, **hints) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Static methods defined here:
     |
     |  params_with_defaults lambda (...) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  hints
     |      Parameter hints of metric QueryAverage
     |
     |  top
     |      Parameter top of metric QueryAverage
     |
     |  use_weights
     |      Parameter use_weights of metric QueryAverage
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from BuiltinMetric:
     |
     |  eval(self, label, approx, weight=None, group_id=None, group_weight=None, subgroup_id=None, pairs=None, thread_count=-1)
     |      Evaluate the metric with raw approxes and labels.
     |
     |      Parameters
     |      ----------
     |      label : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object labels.
     |
     |      approx : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object approxes.
     |
     |      weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object weights.
     |
     |      group_id : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object group ids.
     |
     |      group_weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Group weights.
     |
     |      subgroup_id : list or numpy.ndarray, optional (default=None)
     |          subgroup id for each instance.
     |          If not None, giving 1 dimensional array like data.
     |
     |      pairs : list or numpy.ndarray or pandas.DataFrame or string or pathlib.Path
     |          The pairs description.
     |          If list or numpy.ndarrays or pandas.DataFrame, giving 2 dimensional.
     |          The shape should be Nx2, where N is the pairs' count. The first element of the pair is
     |          the index of winner object in the training set. The second element of the pair is
     |          the index of loser object in the training set.
     |          If string or pathlib.Path, giving the path to the file with pairs description.
     |
     |      thread_count : int, optional (default=-1)
     |          Number of threads to work with.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      Returns
     |      -------
     |      metric results : list with metric values.
     |
     |  is_max_optimal(self)
     |      Returns
     |      ----------
     |      bool : True if metric is maximizable, False otherwise
     |
     |  is_min_optimal(self)
     |      Returns
     |      ----------
     |      bool :  True if metric is minimizable, False otherwise
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from BuiltinMetric:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

    class QueryCrossEntropy(BuiltinMetric)
     |  QueryCrossEntropy(**kwargs)
     |
     |  Builtin metric: 'QueryCrossEntropy'
     |  Parameters:
     |      alpha = 0.95 (default value)
     |      raw_values_scale = None (default value)
     |      use_weights = True (default value)
     |      hints = '' (default value)
     |
     |  Method resolution order:
     |      QueryCrossEntropy
     |      BuiltinMetric
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __repr__ lambda self from _MetricGenerator.__new__.<locals>
     |
     |  __str__ = _to_string(metric_obj)
     |
     |  set_hints(self, **hints) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Static methods defined here:
     |
     |  params_with_defaults lambda (...) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  alpha
     |      Parameter alpha of metric QueryCrossEntropy
     |
     |  hints
     |      Parameter hints of metric QueryCrossEntropy
     |
     |  raw_values_scale
     |      Parameter raw_values_scale of metric QueryCrossEntropy
     |
     |  use_weights
     |      Parameter use_weights of metric QueryCrossEntropy
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from BuiltinMetric:
     |
     |  eval(self, label, approx, weight=None, group_id=None, group_weight=None, subgroup_id=None, pairs=None, thread_count=-1)
     |      Evaluate the metric with raw approxes and labels.
     |
     |      Parameters
     |      ----------
     |      label : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object labels.
     |
     |      approx : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object approxes.
     |
     |      weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object weights.
     |
     |      group_id : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object group ids.
     |
     |      group_weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Group weights.
     |
     |      subgroup_id : list or numpy.ndarray, optional (default=None)
     |          subgroup id for each instance.
     |          If not None, giving 1 dimensional array like data.
     |
     |      pairs : list or numpy.ndarray or pandas.DataFrame or string or pathlib.Path
     |          The pairs description.
     |          If list or numpy.ndarrays or pandas.DataFrame, giving 2 dimensional.
     |          The shape should be Nx2, where N is the pairs' count. The first element of the pair is
     |          the index of winner object in the training set. The second element of the pair is
     |          the index of loser object in the training set.
     |          If string or pathlib.Path, giving the path to the file with pairs description.
     |
     |      thread_count : int, optional (default=-1)
     |          Number of threads to work with.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      Returns
     |      -------
     |      metric results : list with metric values.
     |
     |  is_max_optimal(self)
     |      Returns
     |      ----------
     |      bool : True if metric is maximizable, False otherwise
     |
     |  is_min_optimal(self)
     |      Returns
     |      ----------
     |      bool :  True if metric is minimizable, False otherwise
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from BuiltinMetric:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

    class QueryRMSE(BuiltinMetric)
     |  QueryRMSE(**kwargs)
     |
     |  Builtin metric: 'QueryRMSE'
     |  Parameters:
     |      use_weights = True (default value)
     |      hints = '' (default value)
     |
     |  Method resolution order:
     |      QueryRMSE
     |      BuiltinMetric
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __repr__ lambda self from _MetricGenerator.__new__.<locals>
     |
     |  __str__ = _to_string(metric_obj)
     |
     |  set_hints(self, **hints) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Static methods defined here:
     |
     |  params_with_defaults lambda (...) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  hints
     |      Parameter hints of metric QueryRMSE
     |
     |  use_weights
     |      Parameter use_weights of metric QueryRMSE
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from BuiltinMetric:
     |
     |  eval(self, label, approx, weight=None, group_id=None, group_weight=None, subgroup_id=None, pairs=None, thread_count=-1)
     |      Evaluate the metric with raw approxes and labels.
     |
     |      Parameters
     |      ----------
     |      label : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object labels.
     |
     |      approx : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object approxes.
     |
     |      weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object weights.
     |
     |      group_id : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object group ids.
     |
     |      group_weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Group weights.
     |
     |      subgroup_id : list or numpy.ndarray, optional (default=None)
     |          subgroup id for each instance.
     |          If not None, giving 1 dimensional array like data.
     |
     |      pairs : list or numpy.ndarray or pandas.DataFrame or string or pathlib.Path
     |          The pairs description.
     |          If list or numpy.ndarrays or pandas.DataFrame, giving 2 dimensional.
     |          The shape should be Nx2, where N is the pairs' count. The first element of the pair is
     |          the index of winner object in the training set. The second element of the pair is
     |          the index of loser object in the training set.
     |          If string or pathlib.Path, giving the path to the file with pairs description.
     |
     |      thread_count : int, optional (default=-1)
     |          Number of threads to work with.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      Returns
     |      -------
     |      metric results : list with metric values.
     |
     |  is_max_optimal(self)
     |      Returns
     |      ----------
     |      bool : True if metric is maximizable, False otherwise
     |
     |  is_min_optimal(self)
     |      Returns
     |      ----------
     |      bool :  True if metric is minimizable, False otherwise
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from BuiltinMetric:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

    class QuerySoftMax(BuiltinMetric)
     |  QuerySoftMax(**kwargs)
     |
     |  Builtin metric: 'QuerySoftMax'
     |  Parameters:
     |      lambda = 0.01 (default value)
     |      beta = 1 (default value)
     |      use_weights = True (default value)
     |      hints = '' (default value)
     |
     |  Method resolution order:
     |      QuerySoftMax
     |      BuiltinMetric
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __repr__ lambda self from _MetricGenerator.__new__.<locals>
     |
     |  __str__ = _to_string(metric_obj)
     |
     |  set_hints(self, **hints) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Static methods defined here:
     |
     |  params_with_defaults lambda (...) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  beta
     |      Parameter beta of metric QuerySoftMax
     |
     |  hints
     |      Parameter hints of metric QuerySoftMax
     |
     |  lambda
     |      Parameter lambda of metric QuerySoftMax
     |
     |  use_weights
     |      Parameter use_weights of metric QuerySoftMax
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from BuiltinMetric:
     |
     |  eval(self, label, approx, weight=None, group_id=None, group_weight=None, subgroup_id=None, pairs=None, thread_count=-1)
     |      Evaluate the metric with raw approxes and labels.
     |
     |      Parameters
     |      ----------
     |      label : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object labels.
     |
     |      approx : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object approxes.
     |
     |      weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object weights.
     |
     |      group_id : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object group ids.
     |
     |      group_weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Group weights.
     |
     |      subgroup_id : list or numpy.ndarray, optional (default=None)
     |          subgroup id for each instance.
     |          If not None, giving 1 dimensional array like data.
     |
     |      pairs : list or numpy.ndarray or pandas.DataFrame or string or pathlib.Path
     |          The pairs description.
     |          If list or numpy.ndarrays or pandas.DataFrame, giving 2 dimensional.
     |          The shape should be Nx2, where N is the pairs' count. The first element of the pair is
     |          the index of winner object in the training set. The second element of the pair is
     |          the index of loser object in the training set.
     |          If string or pathlib.Path, giving the path to the file with pairs description.
     |
     |      thread_count : int, optional (default=-1)
     |          Number of threads to work with.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      Returns
     |      -------
     |      metric results : list with metric values.
     |
     |  is_max_optimal(self)
     |      Returns
     |      ----------
     |      bool : True if metric is maximizable, False otherwise
     |
     |  is_min_optimal(self)
     |      Returns
     |      ----------
     |      bool :  True if metric is minimizable, False otherwise
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from BuiltinMetric:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

    class R2(BuiltinMetric)
     |  R2(**kwargs)
     |
     |  Builtin metric: 'R2'
     |  Parameters:
     |      use_weights = True (default value)
     |      hints = '' (default value)
     |
     |  Method resolution order:
     |      R2
     |      BuiltinMetric
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __repr__ lambda self from _MetricGenerator.__new__.<locals>
     |
     |  __str__ = _to_string(metric_obj)
     |
     |  set_hints(self, **hints) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Static methods defined here:
     |
     |  params_with_defaults lambda (...) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  hints
     |      Parameter hints of metric R2
     |
     |  use_weights
     |      Parameter use_weights of metric R2
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from BuiltinMetric:
     |
     |  eval(self, label, approx, weight=None, group_id=None, group_weight=None, subgroup_id=None, pairs=None, thread_count=-1)
     |      Evaluate the metric with raw approxes and labels.
     |
     |      Parameters
     |      ----------
     |      label : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object labels.
     |
     |      approx : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object approxes.
     |
     |      weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object weights.
     |
     |      group_id : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object group ids.
     |
     |      group_weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Group weights.
     |
     |      subgroup_id : list or numpy.ndarray, optional (default=None)
     |          subgroup id for each instance.
     |          If not None, giving 1 dimensional array like data.
     |
     |      pairs : list or numpy.ndarray or pandas.DataFrame or string or pathlib.Path
     |          The pairs description.
     |          If list or numpy.ndarrays or pandas.DataFrame, giving 2 dimensional.
     |          The shape should be Nx2, where N is the pairs' count. The first element of the pair is
     |          the index of winner object in the training set. The second element of the pair is
     |          the index of loser object in the training set.
     |          If string or pathlib.Path, giving the path to the file with pairs description.
     |
     |      thread_count : int, optional (default=-1)
     |          Number of threads to work with.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      Returns
     |      -------
     |      metric results : list with metric values.
     |
     |  is_max_optimal(self)
     |      Returns
     |      ----------
     |      bool : True if metric is maximizable, False otherwise
     |
     |  is_min_optimal(self)
     |      Returns
     |      ----------
     |      bool :  True if metric is minimizable, False otherwise
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from BuiltinMetric:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

    class RMSE(BuiltinMetric)
     |  RMSE(**kwargs)
     |
     |  Builtin metric: 'RMSE'
     |  Parameters:
     |      use_weights = True (default value)
     |      hints = '' (default value)
     |
     |  Method resolution order:
     |      RMSE
     |      BuiltinMetric
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __repr__ lambda self from _MetricGenerator.__new__.<locals>
     |
     |  __str__ = _to_string(metric_obj)
     |
     |  set_hints(self, **hints) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Static methods defined here:
     |
     |  params_with_defaults lambda (...) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  hints
     |      Parameter hints of metric RMSE
     |
     |  use_weights
     |      Parameter use_weights of metric RMSE
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from BuiltinMetric:
     |
     |  eval(self, label, approx, weight=None, group_id=None, group_weight=None, subgroup_id=None, pairs=None, thread_count=-1)
     |      Evaluate the metric with raw approxes and labels.
     |
     |      Parameters
     |      ----------
     |      label : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object labels.
     |
     |      approx : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object approxes.
     |
     |      weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object weights.
     |
     |      group_id : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object group ids.
     |
     |      group_weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Group weights.
     |
     |      subgroup_id : list or numpy.ndarray, optional (default=None)
     |          subgroup id for each instance.
     |          If not None, giving 1 dimensional array like data.
     |
     |      pairs : list or numpy.ndarray or pandas.DataFrame or string or pathlib.Path
     |          The pairs description.
     |          If list or numpy.ndarrays or pandas.DataFrame, giving 2 dimensional.
     |          The shape should be Nx2, where N is the pairs' count. The first element of the pair is
     |          the index of winner object in the training set. The second element of the pair is
     |          the index of loser object in the training set.
     |          If string or pathlib.Path, giving the path to the file with pairs description.
     |
     |      thread_count : int, optional (default=-1)
     |          Number of threads to work with.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      Returns
     |      -------
     |      metric results : list with metric values.
     |
     |  is_max_optimal(self)
     |      Returns
     |      ----------
     |      bool : True if metric is maximizable, False otherwise
     |
     |  is_min_optimal(self)
     |      Returns
     |      ----------
     |      bool :  True if metric is minimizable, False otherwise
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from BuiltinMetric:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

    class RMSEWithUncertainty(BuiltinMetric)
     |  RMSEWithUncertainty(**kwargs)
     |
     |  Builtin metric: 'RMSEWithUncertainty'
     |  Parameters:
     |      use_weights = True (default value)
     |      hints = '' (default value)
     |
     |  Method resolution order:
     |      RMSEWithUncertainty
     |      BuiltinMetric
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __repr__ lambda self from _MetricGenerator.__new__.<locals>
     |
     |  __str__ = _to_string(metric_obj)
     |
     |  set_hints(self, **hints) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Static methods defined here:
     |
     |  params_with_defaults lambda (...) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  hints
     |      Parameter hints of metric RMSEWithUncertainty
     |
     |  use_weights
     |      Parameter use_weights of metric RMSEWithUncertainty
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from BuiltinMetric:
     |
     |  eval(self, label, approx, weight=None, group_id=None, group_weight=None, subgroup_id=None, pairs=None, thread_count=-1)
     |      Evaluate the metric with raw approxes and labels.
     |
     |      Parameters
     |      ----------
     |      label : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object labels.
     |
     |      approx : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object approxes.
     |
     |      weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object weights.
     |
     |      group_id : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object group ids.
     |
     |      group_weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Group weights.
     |
     |      subgroup_id : list or numpy.ndarray, optional (default=None)
     |          subgroup id for each instance.
     |          If not None, giving 1 dimensional array like data.
     |
     |      pairs : list or numpy.ndarray or pandas.DataFrame or string or pathlib.Path
     |          The pairs description.
     |          If list or numpy.ndarrays or pandas.DataFrame, giving 2 dimensional.
     |          The shape should be Nx2, where N is the pairs' count. The first element of the pair is
     |          the index of winner object in the training set. The second element of the pair is
     |          the index of loser object in the training set.
     |          If string or pathlib.Path, giving the path to the file with pairs description.
     |
     |      thread_count : int, optional (default=-1)
     |          Number of threads to work with.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      Returns
     |      -------
     |      metric results : list with metric values.
     |
     |  is_max_optimal(self)
     |      Returns
     |      ----------
     |      bool : True if metric is maximizable, False otherwise
     |
     |  is_min_optimal(self)
     |      Returns
     |      ----------
     |      bool :  True if metric is minimizable, False otherwise
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from BuiltinMetric:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

    class RMSPE(BuiltinMetric)
     |  RMSPE(**kwargs)
     |
     |  Builtin metric: 'RMSPE'
     |  Parameters:
     |      use_weights = True (default value)
     |      hints = '' (default value)
     |
     |  Method resolution order:
     |      RMSPE
     |      BuiltinMetric
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __repr__ lambda self from _MetricGenerator.__new__.<locals>
     |
     |  __str__ = _to_string(metric_obj)
     |
     |  set_hints(self, **hints) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Static methods defined here:
     |
     |  params_with_defaults lambda (...) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  hints
     |      Parameter hints of metric RMSPE
     |
     |  use_weights
     |      Parameter use_weights of metric RMSPE
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from BuiltinMetric:
     |
     |  eval(self, label, approx, weight=None, group_id=None, group_weight=None, subgroup_id=None, pairs=None, thread_count=-1)
     |      Evaluate the metric with raw approxes and labels.
     |
     |      Parameters
     |      ----------
     |      label : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object labels.
     |
     |      approx : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object approxes.
     |
     |      weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object weights.
     |
     |      group_id : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object group ids.
     |
     |      group_weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Group weights.
     |
     |      subgroup_id : list or numpy.ndarray, optional (default=None)
     |          subgroup id for each instance.
     |          If not None, giving 1 dimensional array like data.
     |
     |      pairs : list or numpy.ndarray or pandas.DataFrame or string or pathlib.Path
     |          The pairs description.
     |          If list or numpy.ndarrays or pandas.DataFrame, giving 2 dimensional.
     |          The shape should be Nx2, where N is the pairs' count. The first element of the pair is
     |          the index of winner object in the training set. The second element of the pair is
     |          the index of loser object in the training set.
     |          If string or pathlib.Path, giving the path to the file with pairs description.
     |
     |      thread_count : int, optional (default=-1)
     |          Number of threads to work with.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      Returns
     |      -------
     |      metric results : list with metric values.
     |
     |  is_max_optimal(self)
     |      Returns
     |      ----------
     |      bool : True if metric is maximizable, False otherwise
     |
     |  is_min_optimal(self)
     |      Returns
     |      ----------
     |      bool :  True if metric is minimizable, False otherwise
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from BuiltinMetric:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

    class Recall(BuiltinMetric)
     |  Recall(**kwargs)
     |
     |  Builtin metric: 'Recall'
     |  Parameters:
     |      use_weights = True (default value)
     |      hints = '' (default value)
     |
     |  Method resolution order:
     |      Recall
     |      BuiltinMetric
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __repr__ lambda self from _MetricGenerator.__new__.<locals>
     |
     |  __str__ = _to_string(metric_obj)
     |
     |  set_hints(self, **hints) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Static methods defined here:
     |
     |  params_with_defaults lambda (...) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  hints
     |      Parameter hints of metric Recall
     |
     |  use_weights
     |      Parameter use_weights of metric Recall
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from BuiltinMetric:
     |
     |  eval(self, label, approx, weight=None, group_id=None, group_weight=None, subgroup_id=None, pairs=None, thread_count=-1)
     |      Evaluate the metric with raw approxes and labels.
     |
     |      Parameters
     |      ----------
     |      label : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object labels.
     |
     |      approx : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object approxes.
     |
     |      weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object weights.
     |
     |      group_id : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object group ids.
     |
     |      group_weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Group weights.
     |
     |      subgroup_id : list or numpy.ndarray, optional (default=None)
     |          subgroup id for each instance.
     |          If not None, giving 1 dimensional array like data.
     |
     |      pairs : list or numpy.ndarray or pandas.DataFrame or string or pathlib.Path
     |          The pairs description.
     |          If list or numpy.ndarrays or pandas.DataFrame, giving 2 dimensional.
     |          The shape should be Nx2, where N is the pairs' count. The first element of the pair is
     |          the index of winner object in the training set. The second element of the pair is
     |          the index of loser object in the training set.
     |          If string or pathlib.Path, giving the path to the file with pairs description.
     |
     |      thread_count : int, optional (default=-1)
     |          Number of threads to work with.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      Returns
     |      -------
     |      metric results : list with metric values.
     |
     |  is_max_optimal(self)
     |      Returns
     |      ----------
     |      bool : True if metric is maximizable, False otherwise
     |
     |  is_min_optimal(self)
     |      Returns
     |      ----------
     |      bool :  True if metric is minimizable, False otherwise
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from BuiltinMetric:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

    class RecallAt(BuiltinMetric)
     |  RecallAt(**kwargs)
     |
     |  Builtin metric: 'RecallAt'
     |  Parameters:
     |      top = -1 (default value)
     |      border = 0.5 (default value)
     |      use_weights = True (default value)
     |      hints = '' (default value)
     |
     |  Method resolution order:
     |      RecallAt
     |      BuiltinMetric
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __repr__ lambda self from _MetricGenerator.__new__.<locals>
     |
     |  __str__ = _to_string(metric_obj)
     |
     |  set_hints(self, **hints) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Static methods defined here:
     |
     |  params_with_defaults lambda (...) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  border
     |      Parameter border of metric RecallAt
     |
     |  hints
     |      Parameter hints of metric RecallAt
     |
     |  top
     |      Parameter top of metric RecallAt
     |
     |  use_weights
     |      Parameter use_weights of metric RecallAt
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from BuiltinMetric:
     |
     |  eval(self, label, approx, weight=None, group_id=None, group_weight=None, subgroup_id=None, pairs=None, thread_count=-1)
     |      Evaluate the metric with raw approxes and labels.
     |
     |      Parameters
     |      ----------
     |      label : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object labels.
     |
     |      approx : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object approxes.
     |
     |      weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object weights.
     |
     |      group_id : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object group ids.
     |
     |      group_weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Group weights.
     |
     |      subgroup_id : list or numpy.ndarray, optional (default=None)
     |          subgroup id for each instance.
     |          If not None, giving 1 dimensional array like data.
     |
     |      pairs : list or numpy.ndarray or pandas.DataFrame or string or pathlib.Path
     |          The pairs description.
     |          If list or numpy.ndarrays or pandas.DataFrame, giving 2 dimensional.
     |          The shape should be Nx2, where N is the pairs' count. The first element of the pair is
     |          the index of winner object in the training set. The second element of the pair is
     |          the index of loser object in the training set.
     |          If string or pathlib.Path, giving the path to the file with pairs description.
     |
     |      thread_count : int, optional (default=-1)
     |          Number of threads to work with.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      Returns
     |      -------
     |      metric results : list with metric values.
     |
     |  is_max_optimal(self)
     |      Returns
     |      ----------
     |      bool : True if metric is maximizable, False otherwise
     |
     |  is_min_optimal(self)
     |      Returns
     |      ----------
     |      bool :  True if metric is minimizable, False otherwise
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from BuiltinMetric:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

    class SMAPE(BuiltinMetric)
     |  SMAPE(**kwargs)
     |
     |  Builtin metric: 'SMAPE'
     |  Parameters:
     |      use_weights = True (default value)
     |      hints = '' (default value)
     |
     |  Method resolution order:
     |      SMAPE
     |      BuiltinMetric
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __repr__ lambda self from _MetricGenerator.__new__.<locals>
     |
     |  __str__ = _to_string(metric_obj)
     |
     |  set_hints(self, **hints) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Static methods defined here:
     |
     |  params_with_defaults lambda (...) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  hints
     |      Parameter hints of metric SMAPE
     |
     |  use_weights
     |      Parameter use_weights of metric SMAPE
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from BuiltinMetric:
     |
     |  eval(self, label, approx, weight=None, group_id=None, group_weight=None, subgroup_id=None, pairs=None, thread_count=-1)
     |      Evaluate the metric with raw approxes and labels.
     |
     |      Parameters
     |      ----------
     |      label : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object labels.
     |
     |      approx : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object approxes.
     |
     |      weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object weights.
     |
     |      group_id : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object group ids.
     |
     |      group_weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Group weights.
     |
     |      subgroup_id : list or numpy.ndarray, optional (default=None)
     |          subgroup id for each instance.
     |          If not None, giving 1 dimensional array like data.
     |
     |      pairs : list or numpy.ndarray or pandas.DataFrame or string or pathlib.Path
     |          The pairs description.
     |          If list or numpy.ndarrays or pandas.DataFrame, giving 2 dimensional.
     |          The shape should be Nx2, where N is the pairs' count. The first element of the pair is
     |          the index of winner object in the training set. The second element of the pair is
     |          the index of loser object in the training set.
     |          If string or pathlib.Path, giving the path to the file with pairs description.
     |
     |      thread_count : int, optional (default=-1)
     |          Number of threads to work with.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      Returns
     |      -------
     |      metric results : list with metric values.
     |
     |  is_max_optimal(self)
     |      Returns
     |      ----------
     |      bool : True if metric is maximizable, False otherwise
     |
     |  is_min_optimal(self)
     |      Returns
     |      ----------
     |      bool :  True if metric is minimizable, False otherwise
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from BuiltinMetric:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

    class SurvivalAft(BuiltinMetric)
     |  SurvivalAft(**kwargs)
     |
     |  Builtin metric: 'SurvivalAft'
     |  Parameters:
     |      use_weights = True (default value)
     |      hints = '' (default value)
     |
     |  Method resolution order:
     |      SurvivalAft
     |      BuiltinMetric
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __repr__ lambda self from _MetricGenerator.__new__.<locals>
     |
     |  __str__ = _to_string(metric_obj)
     |
     |  set_hints(self, **hints) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Static methods defined here:
     |
     |  params_with_defaults lambda (...) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  hints
     |      Parameter hints of metric SurvivalAft
     |
     |  use_weights
     |      Parameter use_weights of metric SurvivalAft
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from BuiltinMetric:
     |
     |  eval(self, label, approx, weight=None, group_id=None, group_weight=None, subgroup_id=None, pairs=None, thread_count=-1)
     |      Evaluate the metric with raw approxes and labels.
     |
     |      Parameters
     |      ----------
     |      label : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object labels.
     |
     |      approx : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object approxes.
     |
     |      weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object weights.
     |
     |      group_id : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object group ids.
     |
     |      group_weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Group weights.
     |
     |      subgroup_id : list or numpy.ndarray, optional (default=None)
     |          subgroup id for each instance.
     |          If not None, giving 1 dimensional array like data.
     |
     |      pairs : list or numpy.ndarray or pandas.DataFrame or string or pathlib.Path
     |          The pairs description.
     |          If list or numpy.ndarrays or pandas.DataFrame, giving 2 dimensional.
     |          The shape should be Nx2, where N is the pairs' count. The first element of the pair is
     |          the index of winner object in the training set. The second element of the pair is
     |          the index of loser object in the training set.
     |          If string or pathlib.Path, giving the path to the file with pairs description.
     |
     |      thread_count : int, optional (default=-1)
     |          Number of threads to work with.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      Returns
     |      -------
     |      metric results : list with metric values.
     |
     |  is_max_optimal(self)
     |      Returns
     |      ----------
     |      bool : True if metric is maximizable, False otherwise
     |
     |  is_min_optimal(self)
     |      Returns
     |      ----------
     |      bool :  True if metric is minimizable, False otherwise
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from BuiltinMetric:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

    class TotalF1(BuiltinMetric)
     |  TotalF1(**kwargs)
     |
     |  Builtin metric: 'TotalF1'
     |  Parameters:
     |      average = 'Weighted' (default value)
     |      use_weights = True (default value)
     |      hints = '' (default value)
     |
     |  Method resolution order:
     |      TotalF1
     |      BuiltinMetric
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __repr__ lambda self from _MetricGenerator.__new__.<locals>
     |
     |  __str__ = _to_string(metric_obj)
     |
     |  set_hints(self, **hints) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Static methods defined here:
     |
     |  params_with_defaults lambda (...) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  average
     |      Parameter average of metric TotalF1
     |
     |  hints
     |      Parameter hints of metric TotalF1
     |
     |  use_weights
     |      Parameter use_weights of metric TotalF1
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from BuiltinMetric:
     |
     |  eval(self, label, approx, weight=None, group_id=None, group_weight=None, subgroup_id=None, pairs=None, thread_count=-1)
     |      Evaluate the metric with raw approxes and labels.
     |
     |      Parameters
     |      ----------
     |      label : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object labels.
     |
     |      approx : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object approxes.
     |
     |      weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object weights.
     |
     |      group_id : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object group ids.
     |
     |      group_weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Group weights.
     |
     |      subgroup_id : list or numpy.ndarray, optional (default=None)
     |          subgroup id for each instance.
     |          If not None, giving 1 dimensional array like data.
     |
     |      pairs : list or numpy.ndarray or pandas.DataFrame or string or pathlib.Path
     |          The pairs description.
     |          If list or numpy.ndarrays or pandas.DataFrame, giving 2 dimensional.
     |          The shape should be Nx2, where N is the pairs' count. The first element of the pair is
     |          the index of winner object in the training set. The second element of the pair is
     |          the index of loser object in the training set.
     |          If string or pathlib.Path, giving the path to the file with pairs description.
     |
     |      thread_count : int, optional (default=-1)
     |          Number of threads to work with.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      Returns
     |      -------
     |      metric results : list with metric values.
     |
     |  is_max_optimal(self)
     |      Returns
     |      ----------
     |      bool : True if metric is maximizable, False otherwise
     |
     |  is_min_optimal(self)
     |      Returns
     |      ----------
     |      bool :  True if metric is minimizable, False otherwise
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from BuiltinMetric:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

    class Tweedie(BuiltinMetric)
     |  Tweedie(**kwargs)
     |
     |  Builtin metric: 'Tweedie'
     |  Parameters:
     |      variance_power (mandatory)
     |      use_weights = True (default value)
     |      hints = '' (default value)
     |
     |  Method resolution order:
     |      Tweedie
     |      BuiltinMetric
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __repr__ lambda self from _MetricGenerator.__new__.<locals>
     |
     |  __str__ = _to_string(metric_obj)
     |
     |  set_hints(self, **hints) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Static methods defined here:
     |
     |  params_with_defaults lambda (...) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  hints
     |      Parameter hints of metric Tweedie
     |
     |  use_weights
     |      Parameter use_weights of metric Tweedie
     |
     |  variance_power
     |      Parameter variance_power of metric Tweedie
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from BuiltinMetric:
     |
     |  eval(self, label, approx, weight=None, group_id=None, group_weight=None, subgroup_id=None, pairs=None, thread_count=-1)
     |      Evaluate the metric with raw approxes and labels.
     |
     |      Parameters
     |      ----------
     |      label : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object labels.
     |
     |      approx : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object approxes.
     |
     |      weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object weights.
     |
     |      group_id : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object group ids.
     |
     |      group_weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Group weights.
     |
     |      subgroup_id : list or numpy.ndarray, optional (default=None)
     |          subgroup id for each instance.
     |          If not None, giving 1 dimensional array like data.
     |
     |      pairs : list or numpy.ndarray or pandas.DataFrame or string or pathlib.Path
     |          The pairs description.
     |          If list or numpy.ndarrays or pandas.DataFrame, giving 2 dimensional.
     |          The shape should be Nx2, where N is the pairs' count. The first element of the pair is
     |          the index of winner object in the training set. The second element of the pair is
     |          the index of loser object in the training set.
     |          If string or pathlib.Path, giving the path to the file with pairs description.
     |
     |      thread_count : int, optional (default=-1)
     |          Number of threads to work with.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      Returns
     |      -------
     |      metric results : list with metric values.
     |
     |  is_max_optimal(self)
     |      Returns
     |      ----------
     |      bool : True if metric is maximizable, False otherwise
     |
     |  is_min_optimal(self)
     |      Returns
     |      ----------
     |      bool :  True if metric is minimizable, False otherwise
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from BuiltinMetric:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

    class UserPerObjMetric(BuiltinMetric)
     |  UserPerObjMetric(**kwargs)
     |
     |  Builtin metric: 'UserPerObjMetric'
     |  Parameters:
     |      alpha = 0 (default value)
     |      use_weights = True (default value)
     |      hints = '' (default value)
     |
     |  Method resolution order:
     |      UserPerObjMetric
     |      BuiltinMetric
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __repr__ lambda self from _MetricGenerator.__new__.<locals>
     |
     |  __str__ = _to_string(metric_obj)
     |
     |  set_hints(self, **hints) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Static methods defined here:
     |
     |  params_with_defaults lambda (...) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  alpha
     |      Parameter alpha of metric UserPerObjMetric
     |
     |  hints
     |      Parameter hints of metric UserPerObjMetric
     |
     |  use_weights
     |      Parameter use_weights of metric UserPerObjMetric
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from BuiltinMetric:
     |
     |  eval(self, label, approx, weight=None, group_id=None, group_weight=None, subgroup_id=None, pairs=None, thread_count=-1)
     |      Evaluate the metric with raw approxes and labels.
     |
     |      Parameters
     |      ----------
     |      label : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object labels.
     |
     |      approx : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object approxes.
     |
     |      weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object weights.
     |
     |      group_id : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object group ids.
     |
     |      group_weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Group weights.
     |
     |      subgroup_id : list or numpy.ndarray, optional (default=None)
     |          subgroup id for each instance.
     |          If not None, giving 1 dimensional array like data.
     |
     |      pairs : list or numpy.ndarray or pandas.DataFrame or string or pathlib.Path
     |          The pairs description.
     |          If list or numpy.ndarrays or pandas.DataFrame, giving 2 dimensional.
     |          The shape should be Nx2, where N is the pairs' count. The first element of the pair is
     |          the index of winner object in the training set. The second element of the pair is
     |          the index of loser object in the training set.
     |          If string or pathlib.Path, giving the path to the file with pairs description.
     |
     |      thread_count : int, optional (default=-1)
     |          Number of threads to work with.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      Returns
     |      -------
     |      metric results : list with metric values.
     |
     |  is_max_optimal(self)
     |      Returns
     |      ----------
     |      bool : True if metric is maximizable, False otherwise
     |
     |  is_min_optimal(self)
     |      Returns
     |      ----------
     |      bool :  True if metric is minimizable, False otherwise
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from BuiltinMetric:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

    class UserQuerywiseMetric(BuiltinMetric)
     |  UserQuerywiseMetric(**kwargs)
     |
     |  Builtin metric: 'UserQuerywiseMetric'
     |  Parameters:
     |      alpha = 0 (default value)
     |      use_weights = True (default value)
     |      hints = '' (default value)
     |
     |  Method resolution order:
     |      UserQuerywiseMetric
     |      BuiltinMetric
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __repr__ lambda self from _MetricGenerator.__new__.<locals>
     |
     |  __str__ = _to_string(metric_obj)
     |
     |  set_hints(self, **hints) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Static methods defined here:
     |
     |  params_with_defaults lambda (...) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  alpha
     |      Parameter alpha of metric UserQuerywiseMetric
     |
     |  hints
     |      Parameter hints of metric UserQuerywiseMetric
     |
     |  use_weights
     |      Parameter use_weights of metric UserQuerywiseMetric
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from BuiltinMetric:
     |
     |  eval(self, label, approx, weight=None, group_id=None, group_weight=None, subgroup_id=None, pairs=None, thread_count=-1)
     |      Evaluate the metric with raw approxes and labels.
     |
     |      Parameters
     |      ----------
     |      label : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object labels.
     |
     |      approx : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object approxes.
     |
     |      weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object weights.
     |
     |      group_id : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object group ids.
     |
     |      group_weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Group weights.
     |
     |      subgroup_id : list or numpy.ndarray, optional (default=None)
     |          subgroup id for each instance.
     |          If not None, giving 1 dimensional array like data.
     |
     |      pairs : list or numpy.ndarray or pandas.DataFrame or string or pathlib.Path
     |          The pairs description.
     |          If list or numpy.ndarrays or pandas.DataFrame, giving 2 dimensional.
     |          The shape should be Nx2, where N is the pairs' count. The first element of the pair is
     |          the index of winner object in the training set. The second element of the pair is
     |          the index of loser object in the training set.
     |          If string or pathlib.Path, giving the path to the file with pairs description.
     |
     |      thread_count : int, optional (default=-1)
     |          Number of threads to work with.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      Returns
     |      -------
     |      metric results : list with metric values.
     |
     |  is_max_optimal(self)
     |      Returns
     |      ----------
     |      bool : True if metric is maximizable, False otherwise
     |
     |  is_min_optimal(self)
     |      Returns
     |      ----------
     |      bool :  True if metric is minimizable, False otherwise
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from BuiltinMetric:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

    class WKappa(BuiltinMetric)
     |  WKappa(**kwargs)
     |
     |  Builtin metric: 'WKappa'
     |  Parameters:
     |      use_weights = True (default value)
     |      hints = '' (default value)
     |
     |  Method resolution order:
     |      WKappa
     |      BuiltinMetric
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __repr__ lambda self from _MetricGenerator.__new__.<locals>
     |
     |  __str__ = _to_string(metric_obj)
     |
     |  set_hints(self, **hints) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Static methods defined here:
     |
     |  params_with_defaults lambda (...) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  hints
     |      Parameter hints of metric WKappa
     |
     |  use_weights
     |      Parameter use_weights of metric WKappa
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from BuiltinMetric:
     |
     |  eval(self, label, approx, weight=None, group_id=None, group_weight=None, subgroup_id=None, pairs=None, thread_count=-1)
     |      Evaluate the metric with raw approxes and labels.
     |
     |      Parameters
     |      ----------
     |      label : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object labels.
     |
     |      approx : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object approxes.
     |
     |      weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object weights.
     |
     |      group_id : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object group ids.
     |
     |      group_weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Group weights.
     |
     |      subgroup_id : list or numpy.ndarray, optional (default=None)
     |          subgroup id for each instance.
     |          If not None, giving 1 dimensional array like data.
     |
     |      pairs : list or numpy.ndarray or pandas.DataFrame or string or pathlib.Path
     |          The pairs description.
     |          If list or numpy.ndarrays or pandas.DataFrame, giving 2 dimensional.
     |          The shape should be Nx2, where N is the pairs' count. The first element of the pair is
     |          the index of winner object in the training set. The second element of the pair is
     |          the index of loser object in the training set.
     |          If string or pathlib.Path, giving the path to the file with pairs description.
     |
     |      thread_count : int, optional (default=-1)
     |          Number of threads to work with.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      Returns
     |      -------
     |      metric results : list with metric values.
     |
     |  is_max_optimal(self)
     |      Returns
     |      ----------
     |      bool : True if metric is maximizable, False otherwise
     |
     |  is_min_optimal(self)
     |      Returns
     |      ----------
     |      bool :  True if metric is minimizable, False otherwise
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from BuiltinMetric:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

    class ZeroOneLoss(BuiltinMetric)
     |  ZeroOneLoss(**kwargs)
     |
     |  Builtin metric: 'ZeroOneLoss'
     |  Parameters:
     |      use_weights = True (default value)
     |      hints = '' (default value)
     |
     |  Method resolution order:
     |      ZeroOneLoss
     |      BuiltinMetric
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __repr__ lambda self from _MetricGenerator.__new__.<locals>
     |
     |  __str__ = _to_string(metric_obj)
     |
     |  set_hints(self, **hints) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Static methods defined here:
     |
     |  params_with_defaults lambda (...) from _MetricGenerator.__new__.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  hints
     |      Parameter hints of metric ZeroOneLoss
     |
     |  use_weights
     |      Parameter use_weights of metric ZeroOneLoss
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from BuiltinMetric:
     |
     |  eval(self, label, approx, weight=None, group_id=None, group_weight=None, subgroup_id=None, pairs=None, thread_count=-1)
     |      Evaluate the metric with raw approxes and labels.
     |
     |      Parameters
     |      ----------
     |      label : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object labels.
     |
     |      approx : list or numpy.ndarrays or pandas.DataFrame or pandas.Series
     |          Object approxes.
     |
     |      weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object weights.
     |
     |      group_id : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Object group ids.
     |
     |      group_weight : list or numpy.ndarray or pandas.DataFrame or pandas.Series, optional (default=None)
     |          Group weights.
     |
     |      subgroup_id : list or numpy.ndarray, optional (default=None)
     |          subgroup id for each instance.
     |          If not None, giving 1 dimensional array like data.
     |
     |      pairs : list or numpy.ndarray or pandas.DataFrame or string or pathlib.Path
     |          The pairs description.
     |          If list or numpy.ndarrays or pandas.DataFrame, giving 2 dimensional.
     |          The shape should be Nx2, where N is the pairs' count. The first element of the pair is
     |          the index of winner object in the training set. The second element of the pair is
     |          the index of loser object in the training set.
     |          If string or pathlib.Path, giving the path to the file with pairs description.
     |
     |      thread_count : int, optional (default=-1)
     |          Number of threads to work with.
     |          If -1, then the number of threads is set to the number of CPU cores.
     |
     |      Returns
     |      -------
     |      metric results : list with metric values.
     |
     |  is_max_optimal(self)
     |      Returns
     |      ----------
     |      bool : True if metric is maximizable, False otherwise
     |
     |  is_min_optimal(self)
     |      Returns
     |      ----------
     |      bool :  True if metric is minimizable, False otherwise
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from BuiltinMetric:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

DATA
    __all__ = ['Cox', 'TotalF1', 'AUC', 'AUCMulticlass', 'NDCG', 'RecallAt...

FILE
    c:\users\youse\appdata\local\programs\python\python312\lib\site-packages\catboost\metrics.py

catboost.plot_helpers
Python Library Documentation: module catboost.plot_helpers in catboost

NAME
    catboost.plot_helpers

CLASSES
    builtins.object
        OfflineMetricVisualizer

    class OfflineMetricVisualizer(builtins.object)
     |  OfflineMetricVisualizer(train_dirs)
     |
     |  Methods defined here:
     |
     |  __init__(self, train_dirs)
     |      Initialize self.  See help(type(self)) for accurate signature.
     |
     |  save_to_file(self, title, file_output)
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

FUNCTIONS
    save_plot_file(plot_file, plot_name, figs)

    try_plot_offline(figs)

FILE
    c:\users\youse\appdata\local\programs\python\python312\lib\site-packages\catboost\plot_helpers.py

catboost.sample_gaussian_process
Python Library Documentation: function sample_gaussian_process in module catboost.core

sample_gaussian_process(X, y, eval_set=None, cat_features=None, text_features=None, embedding_features=None, random_seed=None, samples=10, posterior_iterations=900, prior_iterations=100, learning_rate=0.1, depth=6, sigma=0.1, delta=0, random_strength=0.1, random_score_type='Gumbel', eps=0.0001, verbose=False)
    Implementation of Gaussian process sampling (Kernel Gradient Boosting/Algorithm 4) from "Gradient Boosting Performs Gaussian Process Inference" https://arxiv.org/abs/2206.05608
    Produces samples from posterior GP with prior assumption f ~ GP(0, sigma ** 2 K + delta ** 2 I)

    Parameters
    ----------
    X : list or numpy.ndarray or pandas.DataFrame or pandas.Series or polars.DataFrame or catboost.FeaturesData
        If catboost.FeaturesData it must be 2 dimensional Feature matrix
        Must be non-empty (contain > 0 objects)
    y : list or numpy.ndarray or pandas.DataFrame or pandas.Series
        Labels of the training data.
        Must be a single-dimensional array with numerical values.
    eval_set : catboost.Pool or list of catboost.Pool or tuple (X, y) or list [(X, y)], optional (default=None)
        Validation dataset or datasets for metrics calculation and possibly early stopping in posterior training.
    cat_features : list or numpy.ndarray, optional (default=None)
        If not None, giving the list of Categ columns indices.
        Use only if X is not catboost.FeaturesData
    text_features : list or numpy.ndarray, optional (default=None)
        If not none, giving the list of Text columns indices.
        Use only if X is not catboost.FeaturesData
    embedding_features : list or numpy.ndarray, optional (default=None)
        If not none, giving the list of Embedding columns indices.
        Use only if X is not catboost.FeaturesData
    random_seed : int, [default=None]
        Random number seed.
        If None, 0 is used.
        range: [0,+inf)
    samples : int, [default=10]
        Number of Monte-Carlo samples from GP posterior. Controls how many models this function will return.
        range: [1,+inf)
    posterior_iterations : int, [default=900]
        Max count of trees for posterior sampling step.
        range: [1,+inf)
    prior_iterations : int, [default=100]
        Max count of trees for prior sampling step.
        range: [1,+inf]
    learning_rate : float, [default=0.1]
        Step size shrinkage used in update to prevent overfitting.
        range: (0,1]
    depth : int, [default=6]
        Depth of the trees in the models.
        range: [1,16]
    sigma : float, [default=0.1]
        Scale of GP kernel (lower values lead to lower posterior variance)
        range: (0,+inf)
    delta : float, [default=0]
        Scale of homogenious noise of GP kernel (adjust if target is noisy)
        range: [0,+inf)
    random_strength : float, [default=0.1]
        Corresponds to parameter beta in the paper. Higher values lead to faster convergence to GP posterior.
        range: (0,+inf)
    random_score_type : string [default='Gumbel']
        Type of random noise added to scores.
        Possible values:
            - 'Gumbel' - Gumbel-distributed (as in paper)
            - 'NormalWithModelSizeDecrease' - Normally-distributed with deviation decreasing with model iteration count (default in CatBoost)
    eps : float, [default=1e-4]
        Technical parameter that controls the precision of the prior estimation.
        range: (0, 1]
    verbose : bool or int
        Verbosity of posterior model training output
        If verbose is bool, then if set to True, logging_level is set to Verbose,
        if set to False, logging_level is set to Silent.
        If verbose is int, it determines the frequency of writing metrics to output and
        logging_level is set to Verbose.

    Returns
    -------
    models : list of trained CatBoostRegressor models (size = samples parameter value)
catboost.sum_models
Python Library Documentation: function sum_models in module catboost.core

sum_models(models, weights=None, ctr_merge_policy='IntersectingCountersAverage')
catboost.to_classifier
Python Library Documentation: function to_classifier in module catboost.core

to_classifier(model)
catboost.to_ranker
Python Library Documentation: function to_ranker in module catboost.core

to_ranker(model)
catboost.to_regressor
Python Library Documentation: function to_regressor in module catboost.core

to_regressor(model)
catboost.train
Python Library Documentation: function train in module catboost.core

train(pool=None, params=None, dtrain=None, logging_level=None, verbose=None, iterations=None, num_boost_round=None, evals=None, eval_set=None, plot=None, plot_file=None, verbose_eval=None, metric_period=None, early_stopping_rounds=None, save_snapshot=None, snapshot_file=None, snapshot_interval=None, init_model=None, log_cout=None, log_cerr=None)
        Train CatBoost model.

        Parameters
        ----------
        params : dict
            Parameters for CatBoost.
            If  None, all params are set to their defaults.
            If  dict, overriding parameters present in the dict.

        pool : catboost.Pool or tuple (X, y)
            Data to train on.

        iterations : int
            Number of boosting iterations. Can be set in params dict.

        evals : catboost.Pool or list of catboost.Pool or tuple (X, y) or list [(X, y)]
            Synonym for eval_set. Only one of these parameters should be set.

        dtrain : catboost.Pool or tuple (X, y)
            Synonym for pool parameter. Only one of these parameters should be set.

        logging_level : string, optional (default=None)
            Possible values:
                - 'Silent'
                - 'Verbose'
                - 'Info'
                - 'Debug'

        metric_period : int
            Frequency of evaluating metrics.

        verbose : bool or int
            If verbose is bool, then if set to True, logging_level is set to Verbose,
            if set to False, logging_level is set to Silent.
            If verbose is int, it determines the frequency of writing metrics to output and
            logging_level is set to Verbose.

        verbose_eval : bool or int
            Synonym for verbose. Only one of these parameters should be set.

        iterations : int
            Number of boosting iterations. Can be set in params dict.

        num_boost_round : int
            Synonym for iterations. Only one of these parameters should be set.

        eval_set : catboost.Pool or list of catboost.Pool or tuple (X, y) or list [(X, y)]
            Validation dataset or datasets for metrics calculation and possibly early stopping.

        plot : bool, optional (default=False)
            If True, draw train and eval error in Jupyter notebook
    `
        plot_file : file-like or str, optional (default=None)
            If not None, save train and eval error graphs to file

        early_stopping_rounds : int
            Activates Iter overfitting detector with od_wait set to early_stopping_rounds.

        save_snapshot : bool, [default=None]
            Enable progress snapshotting for restoring progress after crashes or interruptions

        snapshot_file : string or os.PathLike, [default=None]
            Learn progress snapshot file path, if None will use default filename

        snapshot_interval: int, [default=600]
            Interval between saving snapshots (seconds)

        init_model : CatBoost class or string or os.PathLike, [default=None]
            Continue training starting from the existing model.
            If this parameter is a string or os.PathLike, load initial model from the path specified by this string.

        log_cout: output stream or callback for logging (default=None)
            If None is specified, sys.stdout is used

        log_cerr: error stream or callback for logging (default=None)
            If None is specified, sys.stderr is used

        Returns
        -------
        model : CatBoost class
catboost.version
Python Library Documentation: module catboost.version in catboost

NAME
    catboost.version

DATA
    VERSION = '1.2.10'

FILE
    c:\users\youse\appdata\local\programs\python\python312\lib\site-packages\catboost\version.py

catboost.widget
Python Library Documentation: package catboost.widget in catboost

NAME
    catboost.widget

PACKAGE CONTENTS
    callbacks
    ipythonwidget
    metrics_plotter

FILE
    c:\users\youse\appdata\local\programs\python\python312\lib\site-packages\catboost\widget\__init__.py