class_docstr: Base clustering metric container class, for easier definition of containers. Ensures consistent format
  before being turned into a dataframe row.
  
  Parameters
  ----------
  id : str
      ID used as index.
  name : str
      Full name.
  score_func : type
      The callable used for the score function, eg. sklearn.metrics.accuracy_score.
  scorer : str or callable, default = None
      The scorer passed to models. Can be a string representing a built-in sklearn scorer,
      a sklearn Scorer object, or None, in which case a Scorer object will be created from
      score_func and args.
  target : str, default = 'pred'
      The target of the score function.
      - 'pred' for the prediction table
      - 'pred_proba' for pred_proba
      - 'threshold' for decision_function or predict_proba
  args : dict, default = {} (empty dict)
      The arguments to always pass to constructor when initializing score_func of class_def class.
  display_name : str, default = None
      Display name (shorter than name). Used in display dataframe header. If None or empty, will use name.
  greater_is_better: bool, default = True
      Whether score_func is a score function (default), meaning high is good,
      or a loss function, meaning low is good. In the latter case, the
      scorer object will sign-flip the outcome of the score_func.
  needs_ground_truth: bool, default = False
      Whether the metric needs ground truth to be calculated.
  is_custom : bool, default = False
      Is the metric custom. Should be False for all metrics defined in PyCaret.
  
  Attributes
  ----------
  id : str
      ID used as index.
  name : str
      Full name.
  score_func : type
      The callable used for the score function, eg. metrics.accuracy_score.
  scorer : str or callable
      The scorer passed to models. Can be a string representing a built-in sklearn scorer,
      a sklearn Scorer object, or None, in which case a Scorer object will be created from
      score_func and args.
  target : str, default = 'pred'
      The target of the score function. Only 'pred' is supported for clustering.
  args : dict
      The arguments to always pass to constructor when initializing score_func of class_def class.
  display_name : str
      Display name (shorter than name). Used in display dataframe header.
  greater_is_better: bool
      Whether score_func is a score function (default), meaning high is good,
      or a loss function, meaning low is good. In the latter case, the
      scorer object will sign-flip the outcome of the score_func.
  needs_ground_truth: bool
      Whether the metric needs ground truth to be calculated.
  is_custom : bool
      Is the metric custom. Should be False for all metrics defined in PyCaret.
docstr: Returns a dictionary of the model properties, to
  be turned into a pandas DataFrame row.
  
  Parameters
  ----------
  internal : bool, default = True
      If True, will return all properties. If False, will only
      return properties intended for the user to see.
  
  Returns
  -------
  dict of str : Any
docstr_tok: ["Returns","a","dictionary","of","the","model","properties",",","to","be","turned","into","a","pandas","DataFrame","row",".","Parameters","--","--","--","--","--","internal",":","bool",",","default","=","True","If","True",",","will","return","all","properties",".","If","False",",","will","only","return","properties","intended","for","the","user","to","see",".","Returns","--","--","--","-","dict","of","str",":","Any"]
code: def get_dict(self, internal: bool = True) -> Dict[str, Any]:
      """
      Returns a dictionary of the model properties, to
      be turned into a pandas DataFrame row.
  
      Parameters
      ----------
      internal : bool, default = True
          If True, will return all properties. If False, will only
          return properties intended for the user to see.
  
      Returns
      -------
      dict of str : Any
  
      """
      d = {
          "ID": self.id,
          "Name": self.name,
          "Display Name": self.display_name,
          "Score Function": self.score_func,
          "Scorer": self.scorer,
          "Target": self.target,
          "Args": self.args,
          "Greater is Better": self.greater_is_better,
          "Needs Ground Truth": self.needs_ground_truth,
          "Custom": self.is_custom,
      }
  
      return d
  
imports: from typing import Any, Dict, Optional, Union
  from sklearn import metrics
  from sklearn.metrics._scorer import _BaseScorer
  import pycaret.containers.base_container
  import pycaret.internal.metrics
  from pycaret.containers.metrics.base_metric import MetricContainer
label_desc: Use image node_id 2 for calling the ClusterMetricContainer obj's underlying member method code with example usage: obj.get_dict(internal) and returns: d