class_docstr: Base class for decision trees.
  
  Warning: This class should not be used directly.
  Use derived classes instead.
class_docstr_tok: ["Base","class","for","decision","trees",".","Warning",":","This","class","should","not","be","used","directly",".","Use","derived","classes","instead","."]
docstr: Return boolean mask denoting if there are missing values for each feature.
  
  This method also ensures that X is finite.
  
  Parameter
  ---------
  X : array-like of shape (n_samples, n_features), dtype=DOUBLE
      Input data.
  
  estimator_name : str or None, default=None
      Name to use when raising an error. Defaults to the class name.
  
  Returns
  -------
  missing_values_in_feature_mask : ndarray of shape (n_features,), or None
      Missing value mask. If missing values are not supported or there
      are no missing values, return None.
code: def _compute_missing_values_in_feature_mask(
      self, X, estimator_name=None
  ):
      """Return boolean mask denoting if there are missing values for each feature.
  
      This method also ensures that X is finite.
  
      Parameter
      ---------
      X : array-like of shape (n_samples, n_features), dtype=DOUBLE
          Input data.
  
      estimator_name : str or None, default=None
          Name to use when raising an error. Defaults to the class name.
  
      Returns
      -------
      missing_values_in_feature_mask : ndarray of shape (n_features,), or None
          Missing value mask. If missing values are not supported or there
          are no missing values, return None.
      """
      estimator_name = estimator_name or self.__class__.__name__
      common_kwargs = dict(
          estimator_name=estimator_name, input_name="X"
      )
  
      if not self._support_missing_values(X):
          assert_all_finite(X, **common_kwargs)
          return None
  
      with np.errstate(over="ignore"):
          overall_sum = np.sum(X)
  
      if not np.isfinite(overall_sum):
          # Raise a ValueError in case of the presence of an infinite element.
          _assert_all_finite_element_wise(
              X, xp=np, allow_nan=True, **common_kwargs
          )
  
      # If the sum is not nan, then there are no missing values
      if not np.isnan(overall_sum):
          return None
  
      missing_values_in_feature_mask = _any_isnan_axis0(X)
      return missing_values_in_feature_mask
  
imports: import copy
  import numbers
  from abc import ABCMeta, abstractmethod
  from math import ceil
  from numbers import Integral, Real
  import numpy
  from scipy.sparse import issparse
  from ..base import BaseEstimator, ClassifierMixin, MultiOutputMixin, RegressorMixin, _fit_context, clone, is_classifier
  from ..utils import Bunch, check_random_state, compute_sample_weight
  from ..utils._param_validation import Hidden, Interval, RealNotInt, StrOptions
  from ..utils.multiclass import check_classification_targets
  from ..utils.validation import _assert_all_finite_element_wise, _check_sample_weight, assert_all_finite, check_is_fitted
  from .None import _criterion, _splitter, _tree
  from ._criterion import Criterion
  from ._splitter import Splitter
  from ._tree import BestFirstTreeBuilder, DepthFirstTreeBuilder, Tree, _build_pruned_tree_ccp, ccp_pruning_path
  from ._utils import _any_isnan_axis0
label_desc: Use image node_id 5 for calling the BaseDecisionTree obj's underlying member method code with example usage: obj._compute_missing_values_in_feature_mask(X, estimator_name) and returns: missing_values_in_feature_mask, None, None