class_docstr: This class represents a hyperparameter.
class_docstr_tok: ["This","class","represents","a","hyperparameter","."]
code: def getFlatParameterNames(self):
      name = self.root
  
      if "anyOf" in self.config or "oneOf" in self.config:
          keys = set()
          v = "anyOf" if "anyOf" in self.config else "oneOf"
          data = self.config[v]
  
          for index, param in enumerate(data):
              subKeys = Hyperparameter(
                  param, self, name + "." + str(index)
              ).getFlatParameterNames()
              for key in subKeys:
                  keys.add(key)
  
          return keys
      elif "enum" in self.config or "constant" in self.config:
          return [name]
      elif self.config["type"] == "object":
          keys = set()
          for key in self.config["properties"].keys():
              config = self.config["properties"][key]
              subKeys = Hyperparameter(
                  config, self, name + "." + key
              ).getFlatParameterNames()
              for key in subKeys:
                  keys.add(key)
  
          return keys
      elif self.config["type"] == "number":
          return [name]
  
imports: from hyperopt import hp
  from contextlib import contextmanager
  import re
  import functools
  import random
  import numpy
  import numpy.random
  import pkg_resources
  import tempfile
  import scipy.stats
  import os
  import math
  import hyperopt
  import datetime
  import json
  import copy
label_desc: Use image node_id 3 for calling the Hyperparameter obj's underlying member method code with example usage: obj.getFlatParameterNames() and returns: keys, list, keys, list