code: def __init__(
      self,
      train_set,
      holdout_set,
      quiet,
      command,
      max_evals=100,
      outer_loss_function="logistic",
      searcher="tpe",
      is_regression=False,
      additional_cmd="",
  ):
      self.train_set = train_set
      self.holdout_set = holdout_set
      self.quiet = quiet
  
      self.train_model = "./current.model"
      self.holdout_pred = "./holdout.pred"
      self.trials_output = "./trials.json"
      self.hyperopt_progress_plot = "./hyperopt_progress.png"
      self.log = "./log.log"
  
      self.logger = self._configure_logger()
  
      # hyperopt parameter sample, converted into a string with flags
      self.param_suffix = None
      self.train_command = None
      self.validate_command = None
  
      self.y_true_train = []
      self.y_true_holdout = []
  
      self.outer_loss_function = outer_loss_function
      self.space = self._get_space(command)
      self.max_evals = max_evals
      self.searcher = searcher
      self.additional_cmd = additional_cmd
      self.is_regression = is_regression
      self.labels_clf_count = 0
  
      self.trials = Trials()
      self.current_trial = 0
  
imports: from hyperopt import hp, fmin, tpe, rand, Trials, STATUS_OK
  from hyperopt.pyll import scope
  from sklearn.metrics import roc_curve, auc, log_loss, average_precision_score, hinge_loss, mean_squared_error
  import numpy
  from datetime import datetime
  import subprocess, shlex
  from math import exp, log
  import argparse
  import re
  import logging
  import json
  from matplotlib import pyplot
  import itertools
  from collections import Counter
label_desc: Use image node_id 1 to create a new HyperOptimizer object from inherited base classes: object with example: obj = HyperOptimizer(train_set, holdout_set, quiet, command, max_evals, outer_loss_function, searcher, is_regression, additional_cmd)