class_docstr: ContinuousIntervalTree tree node.
code: def predict_proba_cif(self, X, c22, intervals, dims, atts, n_classes):
      from sktime.classification.sklearn._continuous_interval_tree_numba import (
          _drcif_feature,
      )
  
      if self.best_split > -1:
          interval = int(self.best_split / len(atts))
          att = self.best_split % len(atts)
          value = _drcif_feature(
              X, intervals[interval], dims[interval], atts[att], c22
          )
          value = value.round(8)
          value = np.nan_to_num(
              value, False, posinf=np.nan, neginf=np.nan
          )
  
          if value <= self.best_threshold:
              return self.children[0].predict_proba_cif(
                  X,
                  c22,
                  intervals,
                  dims,
                  atts,
                  n_classes,
              )
          elif value > self.best_threshold:
              return self.children[1].predict_proba_cif(
                  X,
                  c22,
                  intervals,
                  dims,
                  atts,
                  n_classes,
              )
          else:
              return self.children[2].predict_proba_cif(
                  X,
                  c22,
                  intervals,
                  dims,
                  atts,
                  n_classes,
              )
      else:
          return self.leaf_distribution
  
imports: import sys
  import numpy
  from sklearn import preprocessing
  from sklearn.base import BaseEstimator
  from sklearn.utils import check_random_state
  from sktime.exceptions import NotFittedError
label_desc: Use image node_id 4 for calling the _TreeNode obj's underlying member method code with example usage: obj.predict_proba_cif(X, c22, intervals, dims, atts, n_classes) and returns: self, self, self, self