class_docstr: Each node in a CFTree is called a CFNode.
  
  The CFNode can have a maximum of branching_factor
  number of CFSubclusters.
  
  Parameters
  ----------
  threshold : float
      Threshold needed for a new subcluster to enter a CFSubcluster.
  
  branching_factor : int
      Maximum number of CF subclusters in each node.
  
  is_leaf : bool
      We need to know if the CFNode is a leaf or not, in order to
      retrieve the final subclusters.
  
  n_features : int
      The number of features.
  
  Attributes
  ----------
  subclusters_ : array-like
      list of subclusters for a particular CFNode.
  
  prev_leaf_ : _CFNode
      prev_leaf. Useful only if is_leaf is True.
  
  next_leaf_ : _CFNode
      next_leaf. Useful only if is_leaf is True.
      the final subclusters.
  
  init_centroids_ : ndarray, shape (branching_factor + 1, n_features)
      manipulate ``init_centroids_`` throughout rather than centroids_ since
      the centroids are just a view of the ``init_centroids_`` .
  
  init_sq_norm_ : ndarray, shape (branching_factor + 1,)
      manipulate init_sq_norm_ throughout. similar to ``init_centroids_``.
  
  centroids_ : ndarray
      view of ``init_centroids_``.
  
  squared_norm_ : ndarray
      view of ``init_sq_norm_``.
class_docstr_tok: ["Each","node","in","a","CFTree","is","called","a","CFNode",".","The","CFNode","can","have","a","maximum","of","branching_factor","number","of","CFSubclusters",".","Parameters","--","--","--","--","--","threshold",":","float","Threshold","needed","for","a","new","subcluster","to","enter","a","CFSubcluster",".","branching_factor",":","int","Maximum","number","of","CF","subclusters","in","each","node",".","is_leaf",":","bool","We","need","to","know","if","the","CFNode","is","a","leaf","or","not",",","in","order","to","retrieve","the","final","subclusters",".","n_features",":","int","The","number","of","features",".","Attributes","--","--","--","--","--","subclusters_",":","array-like","list","of","subclusters","for","a","particular","CFNode",".","prev_leaf_",":","_CFNode","prev_leaf",".","Useful","only","if","is_leaf","is","True",".","next_leaf_",":","_CFNode","next_leaf",".","Useful","only","if","is_leaf","is","True",".","the","final","subclusters",".","init_centroids_",":","ndarray",",","shape","(","branching_factor","+","1",",","n_features",")","manipulate","``","init_centroids_","``","throughout","rather","than","centroids_","since","the","centroids","are","just","a","view","of","the","``","init_centroids_","``",".","init_sq_norm_",":","ndarray",",","shape","(","branching_factor","+","1",",",")","manipulate","init_sq_norm_","throughout",".","similar","to","``","init_centroids_","``",".","centroids_",":","ndarray","view","of","``","init_centroids_","``",".","squared_norm_",":","ndarray","view","of","``","init_sq_norm_","``","."]
code: def __init__(self, threshold, branching_factor, is_leaf, n_features):
      self.threshold = threshold
      self.branching_factor = branching_factor
      self.is_leaf = is_leaf
      self.n_features = n_features
  
      # The list of subclusters, centroids and squared norms
      # to manipulate throughout.
      self.subclusters_ = []
      self.init_centroids_ = np.zeros(
          (branching_factor + 1, n_features)
      )
      self.init_sq_norm_ = np.zeros((branching_factor + 1))
      self.squared_norm_ = []
      self.prev_leaf_ = None
      self.next_leaf_ = None
  
imports: from __future__ import division
  import warnings
  import numpy
  from scipy import sparse
  from math import sqrt
  from ..metrics.pairwise import euclidean_distances
  from ..base import TransformerMixin, ClusterMixin, BaseEstimator
  from ..externals.six.moves import xrange
  from ..utils import check_array
  from ..utils.extmath import row_norms, safe_sparse_dot
  from ..utils.validation import check_is_fitted
  from ..exceptions import NotFittedError
  from .hierarchical import AgglomerativeClustering
label_desc: Use image node_id 1 to create a new _CFNode object from inherited base classes: object with example: obj = _CFNode(threshold, branching_factor, is_leaf, n_features)