code: def get_hyperparameter_search_space(
      feat_type: Optional[FEAT_TYPE_TYPE] = None,
      dataset_properties=None,
  ):
      cs = ConfigurationSpace()
  
      n_components = UniformIntegerHyperparameter(
          "n_components", 10, 2000, default_value=100
      )
      algorithm = CategoricalHyperparameter(
          "algorithm", ["parallel", "deflation"], "parallel"
      )
      whiten = CategoricalHyperparameter(
          "whiten", ["False", "True"], "False"
      )
      fun = CategoricalHyperparameter(
          "fun", ["logcosh", "exp", "cube"], "logcosh"
      )
      cs.add_hyperparameters([n_components, algorithm, whiten, fun])
  
      cs.add_condition(EqualsCondition(n_components, whiten, "True"))
  
      return cs
  
file_path: auto-sklearn/autosklearn/pipeline/components/feature_preprocessing/fast_ica.py
imports: from typing import Optional
  import warnings
  from ConfigSpace.conditions import EqualsCondition
  from ConfigSpace.configuration_space import ConfigurationSpace
  from ConfigSpace.hyperparameters import CategoricalHyperparameter, UniformIntegerHyperparameter
  from autosklearn.askl_typing import FEAT_TYPE_TYPE
  from autosklearn.pipeline.components.base import AutoSklearnPreprocessingAlgorithm
  from autosklearn.pipeline.constants import DENSE, INPUT, UNSIGNED_DATA
  from autosklearn.util.common import check_for_bool, check_none
label_desc: Use image node_id 5 for calling the FastICA obj's underlying member method code with example usage: obj.get_hyperparameter_search_space(feat_type, dataset_properties) and returns: cs