class_docstr: Mean Decrease Impurity (MDI) parameter importance evaluator.
  
  This evaluator fits fits a random forest regression model that predicts the objective values
  of :class:`~optuna.trial.TrialState.COMPLETE` trials given their parameter configurations.
  Feature importances are then computed using MDI.
  
  .. note::
  
      This evaluator requires the `sklearn <https://scikit-learn.org/stable/>`_ Python package
      and is based on `sklearn.ensemble.RandomForestClassifier.feature_importances_
      <https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.RandomForestClassifier.html#sklearn.ensemble.RandomForestClassifier.feature_importances_>`_.
  
  Args:
      n_trees:
          Number of trees in the random forest.
      max_depth:
          The maximum depth of each tree in the random forest.
      seed:
          Seed for the random forest.
class_docstr_tok: ["Mean","Decrease","Impurity","(","MDI",")","parameter","importance","evaluator",".","This","evaluator","fits","fits","a","random","forest","regression","model","that","predicts","the","objective","values","of",":","class",":","`","~optuna.trial.TrialState.COMPLETE","`","trials","given","their","parameter","configurations",".","Feature","importances","are","then","computed","using","MDI",".","..","note",":",":","This","evaluator","requires","the","`","sklearn","<","https",":","\/\/scikit-learn.org\/stable\/",">","`","_","Python","package","and","is","based","on","`","sklearn.ensemble.RandomForestClassifier.feature_importances_","<","https",":","\/\/scikit-learn.org\/stable\/modules\/generated\/sklearn.ensemble.RandomForestClassifier.html","#","sklearn.ensemble.RandomForestClassifier.feature_importances_",">","`","_",".","Args",":","n_trees",":","Number","of","trees","in","the","random","forest",".","max_depth",":","The","maximum","depth","of","each","tree","in","the","random","forest",".","seed",":","Seed","for","the","random","forest","."]
code: def __init__(
      self,
      *,
      n_trees: int = 64,
      max_depth: int = 64,
      seed: Optional[int] = None,
  ) -> None:
      _imports.check()
  
      self._forest = RandomForestRegressor(
          n_estimators=n_trees,
          max_depth=max_depth,
          min_samples_split=2,
          min_samples_leaf=1,
          random_state=seed,
      )
      self._trans_params = numpy.empty(0)
      self._trans_values = numpy.empty(0)
      self._param_names: List[str] = list()
  
imports: from typing import Callable
  from typing import Dict
  from typing import List
  from typing import Optional
  import numpy
  from optuna._imports import try_import
  from optuna._transform import _SearchSpaceTransform
  from optuna.importance._base import _get_distributions
  from optuna.importance._base import _get_filtered_trials
  from optuna.importance._base import _get_target_values
  from optuna.importance._base import _get_trans_params
  from optuna.importance._base import _param_importances_to_dict
  from optuna.importance._base import _sort_dict_by_importance
  from optuna.importance._base import BaseImportanceEvaluator
  from optuna.study import Study
  from optuna.trial import FrozenTrial
label_desc: Use image node_id 1 to create a new MeanDecreaseImpurityImportanceEvaluator object from inherited base classes: BaseImportanceEvaluator with example: obj = MeanDecreaseImpurityImportanceEvaluator()