code: def __init__(
      self,
      n_trees: int,
      max_depth: int,
      min_samples_split: Union[int, float],
      min_samples_leaf: Union[int, float],
      seed: Optional[int],
  ) -> None:
      _imports.check()
  
      self._forest = RandomForestRegressor(
          n_estimators=n_trees,
          max_depth=max_depth,
          min_samples_split=min_samples_split,
          min_samples_leaf=min_samples_leaf,
          random_state=seed,
      )
      self._trees: Optional[List[_FanovaTree]] = None
      self._variances: Optional[Dict[int, numpy.ndarray]] = None
      self._column_to_encoded_columns: Optional[
          List[numpy.ndarray]
      ] = None
  
file_path: optuna/optuna/importance/_fanova/_fanova.py
imports: from typing import Dict
  from typing import List
  from typing import Optional
  from typing import Tuple
  from typing import Union
  import numpy
  from optuna._imports import try_import
  from optuna.importance._fanova._tree import _FanovaTree
label_desc: Use image node_id 1 to create a new _Fanova object  with example: obj = _Fanova(n_trees, max_depth, min_samples_split, min_samples_leaf, seed)