docstr: extracts the needed types from the configspace for faster retrival later
  
  type = 0 - numerical (continuous or integer) parameter
  type >=1 - categorical parameter
  
  TODO: figure out a way to properly handle ordinal parameters
docstr_tok: ["extracts","the","needed","types","from","the","configspace","for","faster","retrival","later","type","=","0","-","numerical","(","continuous","or","integer",")","parameter","type",">","=1","-","categorical","parameter","TODO",":","figure","out","a","way","to","properly","handle","ordinal","parameters"]
code: def _get_types(self):
      """extracts the needed types from the configspace for faster retrival later
  
      type = 0 - numerical (continuous or integer) parameter
      type >=1 - categorical parameter
  
      TODO: figure out a way to properly handle ordinal parameters
  
      """
      types = []
      num_values = []
      for hp in self.configspace.get_hyperparameters():
          # print(hp)
          if isinstance(hp, CS.CategoricalHyperparameter):
              types.append("U")
              num_values.append(len(hp.choices))
          elif isinstance(hp, CS.UniformIntegerHyperparameter):
              types.append("I")
              num_values.append((hp.upper - hp.lower + 1))
          elif isinstance(hp, CS.UniformFloatHyperparameter):
              types.append("C")
              num_values.append(np.inf)
          elif isinstance(hp, CS.OrdinalHyperparameter):
              types.append("O")
              num_values.append(len(hp.sequence))
          else:
              raise ValueError(
                  "Unsupported Parametertype %s" % type(hp)
              )
      return (types, num_values)
  
file_path: auptimizer/src/aup/Proposer/hpbandster/optimizers/kde/mvkde.py
imports: import numpy
  import scipy.optimize
  import ConfigSpace
  from hpbandster.optimizers.kde.kernels import Gaussian, AitchisonAitken, WangRyzinOrdinal, WangRyzinInteger
label_desc: Use image node_id 10 for calling the MultivariateKDE obj's underlying member method code with example usage: obj._get_types() and returns: types,  num_values