code: def __init__(
      self,
      model: SklearnModel,
      percentile: float = 0.95,
      method="local",
      n_permutations=10,
      n_trees=None,
  ):
      if method == "local":
          self.method = local_thresholds
      elif method == "global":
          self.method = global_thresholds
      else:
          raise NotImplementedError(
              "Currently only local and global methods are supported, found {}".format(
                  self.method
              )
          )
      self.model = deepcopy(model)
      if n_trees is not None:
          self.model.n_trees = n_trees
      self.percentile = percentile
      self.n_permutations = n_permutations
  
file_path: imodels/imodels/experimental/bartpy/features/featureselection.py
imports: from copy import deepcopy
  import numpy
  from matplotlib import pyplot
  from sklearn.base import BaseEstimator
  from ..diagnostics.features import null_feature_split_proportions_distribution, local_thresholds, global_thresholds, is_kept, feature_split_proportions, plot_feature_proportions_against_thresholds, plot_null_feature_importance_distributions, plot_feature_split_proportions
  from ..sklearnmodel import SklearnModel
label_desc: Use image node_id 1 to create a new SelectNullDistributionThreshold object from inherited base classes: BaseEstimator, SelectorMixin with example: obj = SelectNullDistributionThreshold(model, percentile, method, n_permutations, n_trees)