code: def __init__(self) -> None:
      super().__init__()
      self._ml_usecase = MLUsecase.CLUSTERING
      self.exp_name_log = "cluster-default-name"
      self._available_plots = {
          "pipeline": "Pipeline Plot",
          "cluster": "t-SNE (3d) Dimension Plot",
          "tsne": "Cluster t-SNE (3d)",
          "elbow": "Elbow Plot",
          "silhouette": "Silhouette Plot",
          "distance": "Distance Plot",
          "distribution": "Distribution Plot",
      }
  
imports: from typing import Any, List, Optional, Tuple, Union
  import numpy
  import pandas
  import pycaret.internal.patches.sklearn
  import pycaret.internal.patches.yellowbrick
  import pycaret.internal.persistence
  import pycaret.internal.preprocess
  from pycaret.containers.metrics.clustering import get_all_metric_containers
  from pycaret.containers.models.clustering import get_all_model_containers
  from pycaret.internal.logging import get_logger
  from pycaret.internal.pycaret_experiment.unsupervised_experiment import _UnsupervisedExperiment
  from pycaret.utils.generic import MLUsecase
label_desc: Use image node_id 1 to create a new ClusteringExperiment object from inherited base classes: _UnsupervisedExperiment with example: obj = ClusteringExperiment()