class_docstr: Clusterer Ensemble combines multiple base clustering estimators by
  alignment. See :cite:`zhou2006clusterer` for details.
  
  Parameters
  ----------
  base_estimators : list or numpy array of shape (n_estimators,)
      A list of base estimators. Estimators must have a `labels_`
      attribute once fitted. Sklearn clustering estimators are recommended.
  
  n_clusters : int, optional (default=8)
      The number of clusters.
  
  weights : numpy array of shape (n_estimators,)
      Estimator weights. May be used after the alignment.
  
  reference_idx : int in range [0, n_estimators-1], optional (default=0)
      The ith base estimator used as the reference for label alignment.
  
  pre_fitted : bool, optional (default=False)
      Whether the base estimators are trained. If True, `fit`
      process may be skipped.
  
  Attributes
  ----------
  labels_ : int
      The predicted label of the fitted data.
class_docstr_tok: ["Clusterer","Ensemble","combines","multiple","base","clustering","estimators","by","alignment",".","See",":","cite",":","`","zhou2006clusterer","`","for","details",".","Parameters","--","--","--","--","--","base_estimators",":","list","or","numpy","array","of","shape","(","n_estimators",",",")","A","list","of","base","estimators",".","Estimators","must","have","a","`","labels_","`","attribute","once","fitted",".","Sklearn","clustering","estimators","are","recommended",".","n_clusters",":","int",",","optional","(","default=8",")","The","number","of","clusters",".","weights",":","numpy","array","of","shape","(","n_estimators",",",")","Estimator","weights",".","May","be","used","after","the","alignment",".","reference_idx",":","int","in","range","[","0",",","n_estimators-1","]",",","optional","(","default=0",")","The","ith","base","estimator","used","as","the","reference","for","label","alignment",".","pre_fitted",":","bool",",","optional","(","default=False",")","Whether","the","base","estimators","are","trained",".","If","True",",","`","fit","`","process","may","be","skipped",".","Attributes","--","--","--","--","--","labels_",":","int","The","predicted","label","of","the","fitted","data","."]
code: def __init__(
      self,
      base_estimators,
      n_clusters,
      weights=None,
      reference_idx=0,
      pre_fitted=False,
  ):
      super(ClustererEnsemble, self).__init__(
          base_estimators=base_estimators, pre_fitted=pre_fitted
      )
  
      check_parameter(n_clusters, low=2, param_name="n_clusters")
      self.n_clusters = n_clusters
  
      check_parameter(
          reference_idx,
          low=0,
          high=self.n_base_estimators_ - 1,
          include_left=True,
          include_right=True,
      )
      self.reference_idx = reference_idx
  
      # set estimator weights
      self._set_weights(weights)
  
file_path: combo/combo/models/cluster_comb.py
imports: import numpy
  from sklearn.utils import check_array
  from sklearn.utils.validation import check_is_fitted
  from numpy.testing import assert_equal
  from pyod.utils.utility import check_parameter
  from .base import BaseAggregator
  from .score_comb import majority_vote
label_desc: Use image node_id 1 to create a new ClustererEnsemble object from inherited base classes: BaseAggregator with example: obj = ClustererEnsemble(base_estimators, n_clusters, weights, reference_idx, pre_fitted)