class_docstr: Random forest that takes instance features into account.
  
  Parameters
  ----------
  n_trees : int, defaults to `N_TREES`
      The number of trees in the random forest.
  n_points_per_tree : int, defaults to -1
      Number of points per tree. If the value is smaller than 0, the number of samples will be used.
  ratio_features : float, defaults to 5.0 / 6.0
      The ratio of features that are considered for splitting.
  min_samples_split : int, defaults to 3
      The minimum number of data points to perform a split.
  min_samples_leaf : int, defaults to 3
      The minimum number of data points in a leaf.
  max_depth : int, defaults to 2**20
      The maximum depth of a single tree.
  eps_purity : float, defaults to 1e-8
      The minimum difference between two target values to be considered.
  max_nodes : int, defaults to 2**20
      The maximum total number of nodes in a tree.
  bootstrapping : bool, defaults to True
      Enables bootstrapping.
  log_y: bool, defaults to False
      The y values (passed to this random forest) are expected to be log(y) transformed.
      This will be considered during predicting.
  instance_features : dict[str, list[int | float]] | None, defaults to None
      Features (list of int or floats) of the instances (str). The features are incorporated into the X data,
      on which the model is trained on.
  pca_components : float, defaults to 7
      Number of components to keep when using PCA to reduce dimensionality of instance features.
  seed : int
class_docstr_tok: ["Random","forest","that","takes","instance","features","into","account",".","Parameters","--","--","--","--","--","n_trees",":","int",",","defaults","to","`","N_TREES","`","The","number","of","trees","in","the","random","forest",".","n_points_per_tree",":","int",",","defaults","to","-1","Number","of","points","per","tree",".","If","the","value","is","smaller","than","0",",","the","number","of","samples","will","be","used",".","ratio_features",":","float",",","defaults","to","5.0","\/","6.0","The","ratio","of","features","that","are","considered","for","splitting",".","min_samples_split",":","int",",","defaults","to","3","The","minimum","number","of","data","points","to","perform","a","split",".","min_samples_leaf",":","int",",","defaults","to","3","The","minimum","number","of","data","points","in","a","leaf",".","max_depth",":","int",",","defaults","to","2","*","*","20","The","maximum","depth","of","a","single","tree",".","eps_purity",":","float",",","defaults","to","1e-8","The","minimum","difference","between","two","target","values","to","be","considered",".","max_nodes",":","int",",","defaults","to","2","*","*","20","The","maximum","total","number","of","nodes","in","a","tree",".","bootstrapping",":","bool",",","defaults","to","True","Enables","bootstrapping",".","log_y",":","bool",",","defaults","to","False","The","y","values","(","passed","to","this","random","forest",")","are","expected","to","be","log","(","y",")","transformed",".","This","will","be","considered","during","predicting",".","instance_features",":","dict","[","str",",","list","[","int","|","float","]","]","|","None",",","defaults","to","None","Features","(","list","of","int","or","floats",")","of","the","instances","(","str",")",".","The","features","are","incorporated","into","the","X","data",",","on","which","the","model","is","trained","on",".","pca_components",":","float",",","defaults","to","7","Number","of","components","to","keep","when","using","PCA","to","reduce","dimensionality","of","instance","features",".","seed",":","int"]
docstr: Fills a pyrfr default data container s.t. the forest knows categoricals and bounds for continous data.
  
  Parameters
  ----------
  X : np.ndarray [#samples, #hyperparameter + #features]
      Input data points.
  Y : np.ndarray [#samples, #objectives]
      The corresponding target values.
  
  Returns
  -------
  data : DataContainer
      The filled data container that pyrfr can interpret.
docstr_tok: ["Fills","a","pyrfr","default","data","container","s.t",".","the","forest","knows","categoricals","and","bounds","for","continous","data",".","Parameters","--","--","--","--","--","X",":","np.ndarray","[","#","samples",",","#","hyperparameter","+","#","features","]","Input","data","points",".","Y",":","np.ndarray","[","#","samples",",","#","objectives","]","The","corresponding","target","values",".","Returns","--","--","--","-","data",":","DataContainer","The","filled","data","container","that","pyrfr","can","interpret","."]
code: def _init_data_container(
      self, X: np.ndarray, y: np.ndarray
  ) -> DataContainer:
      """Fills a pyrfr default data container s.t. the forest knows categoricals and bounds for continous data.
  
      Parameters
      ----------
      X : np.ndarray [#samples, #hyperparameter + #features]
          Input data points.
      Y : np.ndarray [#samples, #objectives]
          The corresponding target values.
  
      Returns
      -------
      data : DataContainer
          The filled data container that pyrfr can interpret.
      """
      # Retrieve the types and the bounds from the ConfigSpace
      data = regression.default_data_container(X.shape[1])
  
      for i, (mn, mx) in enumerate(self._bounds):
          if np.isnan(mx):
              data.set_type_of_feature(i, mn)
          else:
              data.set_bounds_of_feature(i, mn, mx)
  
      for row_X, row_y in zip(X, y):
          data.add_data_point(row_X, row_y)
  
      return data
  
file_path: SMAC3/smac/model/random_forest/random_forest.py
imports: from __future__ import annotations
  from typing import Any
  import numpy
  from ConfigSpace import ConfigurationSpace
  from pyrfr import regression
  from pyrfr.regression import binary_rss_forest
  from pyrfr.regression import default_data_container
  from smac.constants import N_TREES, VERY_SMALL_NUMBER
  from smac.model.random_forest import AbstractRandomForest
label_desc: Use image node_id 4 for calling the RandomForest obj's underlying member method code with example usage: obj._init_data_container(X, y) and returns: data