code: def get_hyperparameter_search_space(
      feat_type: Optional[FEAT_TYPE_TYPE] = None,
      dataset_properties=None,
  ):
      cs = ConfigurationSpace()
  
      # The maximum number of features used in the forest is calculated as m^max_features, where
      # m is the total number of features, and max_features is the hyperparameter specified below.
      # The default is 0.5, which yields sqrt(m) features as max_features in the estimator. This
      # corresponds with Geurts' heuristic.
      max_features = UniformFloatHyperparameter(
          "max_features", 0.0, 1.0, default_value=0.5
      )
      n_estimators = UniformIntegerHyperparameter(
          "n_estimators", 10, 1000, default_value=100
      )
  
      cs.add_hyperparameters([max_features, n_estimators])
      return cs
  
file_path: auto-sklearn/examples/80_extending/example_restrict_number_of_hyperparameters.py
imports: from typing import Optional
  from ConfigSpace.configuration_space import ConfigurationSpace
  from ConfigSpace.hyperparameters import UniformIntegerHyperparameter, UniformFloatHyperparameter
  from sklearn.datasets import load_breast_cancer
  from sklearn.model_selection import train_test_split
  from autosklearn.askl_typing import FEAT_TYPE_TYPE
  import autosklearn.classification
  import autosklearn.pipeline.components.classification
  from autosklearn.pipeline.components.classification import AutoSklearnClassificationAlgorithm
  from autosklearn.pipeline.constants import DENSE, UNSIGNED_DATA, PREDICTIONS, SPARSE
label_desc: Use image node_id 6 for calling the CustomRandomForest obj's underlying member method code with example usage: obj.get_hyperparameter_search_space(feat_type, dataset_properties) and returns: cs