docstr: Adds a custom metric to be used in the experiment.
  
  
  Example
  -------
  >>> from pycaret.datasets import get_data
  >>> boston = get_data('boston')
  >>> from pycaret.regression import *
  >>> exp_name = setup(data = boston,  target = 'medv')
  >>> from sklearn.metrics import explained_variance_score
  >>> add_metric('evs', 'EVS', explained_variance_score)
  
  
  id: str
      Unique id for the metric.
  
  
  name: str
      Display name of the metric.
  
  
  score_func: type
      Score function (or loss function) with signature ``score_func(y, y_pred, **kwargs)``.
  
  
  greater_is_better: bool, default = True
      Whether ``score_func`` is higher the better or not.
  
  
  **kwargs:
      Arguments to be passed to score function.
  
  
  Returns:
      pandas.Series
docstr_tok: ["Adds","a","custom","metric","to","be","used","in","the","experiment",".","Example","--","--","--","-",">",">",">","from","pycaret.datasets","import","get_data",">",">",">","boston","=","get_data","(","'boston","'",")",">",">",">","from","pycaret.regression","import","*",">",">",">","exp_name","=","setup","(","data","=","boston",",","target","=","'medv","'",")",">",">",">","from","sklearn.metrics","import","explained_variance_score",">",">",">","add_metric","(","'evs","'",",","'EVS","'",",","explained_variance_score",")","id",":","str","Unique","id","for","the","metric",".","name",":","str","Display","name","of","the","metric",".","score_func",":","type","Score","function","(","or","loss","function",")","with","signature","``","score_func","(","y",",","y_pred",",","*","*","kwargs",")","``",".","greater_is_better",":","bool",",","default","=","True","Whether","``","score_func","``","is","higher","the","better","or","not",".","*","*","kwargs",":","Arguments","to","be","passed","to","score","function",".","Returns",":","pandas.Series"]
code: def add_metric(
      self,
      id: str,
      name: str,
      score_func: type,
      greater_is_better: bool = True,
      **kwargs,
  ) -> pd.Series:
      """
      Adds a custom metric to be used in the experiment.
  
  
      Example
      -------
      >>> from pycaret.datasets import get_data
      >>> boston = get_data('boston')
      >>> from pycaret.regression import *
      >>> exp_name = setup(data = boston,  target = 'medv')
      >>> from sklearn.metrics import explained_variance_score
      >>> add_metric('evs', 'EVS', explained_variance_score)
  
  
      id: str
          Unique id for the metric.
  
  
      name: str
          Display name of the metric.
  
  
      score_func: type
          Score function (or loss function) with signature ``score_func(y, y_pred, **kwargs)``.
  
  
      greater_is_better: bool, default = True
          Whether ``score_func`` is higher the better or not.
  
  
      **kwargs:
          Arguments to be passed to score function.
  
  
      Returns:
          pandas.Series
  
      """
  
      return super().add_metric(
          id=id,
          name=name,
          score_func=score_func,
          target="pred",
          greater_is_better=greater_is_better,
          **kwargs,
      )
  
imports: import logging
  import re
  import time
  from typing import Any, Callable, Dict, List, Optional, Tuple, Union
  import numpy
  import pandas
  from joblib.memory import Memory
  from pycaret.containers.metrics.regression import get_all_metric_containers
  from pycaret.containers.models.regression import ALL_ALLOWED_ENGINES, get_all_model_containers, get_container_default_engines
  from pycaret.internal.display import CommonDisplay
  from pycaret.internal.logging import get_logger
  from pycaret.internal.parallel.parallel_backend import ParallelBackend
  from pycaret.internal.pipeline import Pipeline
  from pycaret.internal.preprocess.preprocessor import Preprocessor
  from pycaret.internal.pycaret_experiment.non_ts_supervised_experiment import _NonTSSupervisedExperiment
  from pycaret.loggers.base_logger import BaseLogger
  from pycaret.utils.constants import DATAFRAME_LIKE, SEQUENCE_LIKE, TARGET_LIKE
  from pycaret.utils.generic import MLUsecase, highlight_setup
label_desc: Use image node_id 23 for calling the RegressionExperiment obj's underlying member method code with example usage: obj.add_metric(id, name, score_func, greater_is_better) and returns: super