class_docstr: Object returned by the HB_master.run function
  
  This class offers a simple API to access the information from
  a Hyperband run.
class_docstr_tok: ["Object","returned","by","the","HB_master.run","function","This","class","offers","a","simple","API","to","access","the","information","from","a","Hyperband","run","."]
code: def get_fANOVA_data(
      self,
      config_space,
      budgets=None,
      loss_fn=lambda r: r.loss,
      failed_loss=None,
  ):
      import numpy as np
      import ConfigSpace as CS
  
      id2conf = self.get_id2config_mapping()
  
      if budgets is None:
          budgets = self.HB_config["budgets"]
  
      if len(budgets) > 1:
          config_space.add_hyperparameter(
              CS.UniformFloatHyperparameter(
                  "budget", min(budgets), max(budgets), log=True
              )
          )
  
      hp_names = config_space.get_hyperparameter_names()
      hps = config_space.get_hyperparameters()
      needs_transform = list(
          map(
              lambda h: isinstance(h, CS.CategoricalHyperparameter), hps
          )
      )
  
      all_runs = self.get_all_runs(only_largest_budget=False)
  
      all_runs = list(filter(lambda r: r.budget in budgets, all_runs))
  
      X = []
      y = []
  
      for r in all_runs:
          if r.loss is None:
              if failed_loss is None:
                  continue
              else:
                  y.append(failed_loss)
          else:
              y.append(loss_fn(r))
  
          config = id2conf[r.config_id]["config"]
          if len(budgets) > 1:
              config["budget"] = r.budget
  
          config = CS.Configuration(config_space, config)
  
          x = []
          for name, hp, transform in zip(
              hp_names, hps, needs_transform
          ):
              if transform:
                  x.append(hp._inverse_transform(config[name]))
              else:
                  x.append(config[name])
  
          X.append(x)
  
      return (np.array(X), np.array(y), config_space)
  
imports: import copy
  import os
  import json
  from hpbandster.core.base_iteration import Datum
label_desc: Use image node_id 11 for calling the Result obj's underlying member method code with example usage: obj.get_fANOVA_data(config_space, budgets, loss_fn, failed_loss) and returns: np,  np,  config_space