code: def run_experiment(
      working_directory,
      time_limit,
      per_run_time_limit,
      task_id,
      seed,
      use_metalearning,
  ):
      # set this to local dataset cache
      # openml.config.cache_directory = os.path.join(working_directory, "../cache")
  
      seed_dir = os.path.join(working_directory, str(seed))
      try:
          os.makedirs(seed_dir)
      except Exception:
          print("Directory {0} aleardy created.".format(seed_dir))
  
      tmp_dir = os.path.join(seed_dir, str(task_id))
  
      # With metalearning
      if use_metalearning is True:
          # path to the original metadata directory.
          metadata_directory = os.path.abspath(
              os.path.dirname(__file__)
          )
          metadata_directory = os.path.join(
              metadata_directory,
              "../../../autosklearn/metalearning/files/",
          )
  
          # Create new metadata directory not containing task_id.
          new_metadata_directory = os.path.abspath(
              os.path.join(working_directory, "metadata_%i" % task_id)
          )
  
          try:
              os.makedirs(new_metadata_directory)
          except OSError:
              pass  # pass because new metadata is created for this task.
  
          # remove the given task id from metadata directory.
          remove_dataset(
              metadata_directory, new_metadata_directory, task_id
          )
  
          automl_arguments = {
              "time_left_for_this_task": time_limit,
              "per_run_time_limit": per_run_time_limit,
              "initial_configurations_via_metalearning": 25,
              "ensemble_size": 0,
              "seed": seed,
              "memory_limit": 3072,
              "resampling_strategy": "holdout",
              "resampling_strategy_arguments": {"train_size": 0.67},
              "tmp_folder": tmp_dir,
              "delete_tmp_folder_after_terminate": False,
              "disable_evaluator_output": False,
              "metadata_directory": new_metadata_directory,
          }
  
      # Without metalearning
      else:
          automl_arguments = {
              "time_left_for_this_task": time_limit,
              "per_run_time_limit": per_run_time_limit,
              "initial_configurations_via_metalearning": 0,
              "ensemble_size": 0,
              "seed": seed,
              "memory_limit": 3072,
              "resampling_strategy": "holdout",
              "resampling_strategy_arguments": {"train_size": 0.67},
              "tmp_folder": tmp_dir,
              "delete_tmp_folder_after_terminate": False,
              "disable_evaluator_output": False,
          }
  
      automl = AutoSklearnClassifier(**automl_arguments)
  
      X_train, y_train, X_test, y_test, cat = load_task(task_id)
  
      automl.fit(
          X_train,
          y_train,
          dataset_name=str(task_id),
          X_test=X_test,
          y_test=y_test,
          metric=balanced_accuracy,
      )
  
file_path: auto-sklearn/scripts/2015_nips_paper/run/run_auto_sklearn.py
imports: import os
  import argparse
  import numpy
  import openml
  from autosklearn.classification import AutoSklearnClassifier
  from autosklearn.metrics import balanced_accuracy
  from remove_dataset_from_metadata import remove_dataset
  import score_ensemble
label_desc: Use image node_id 2 for calling a global function with example usage: run_experiment(working_directory, time_limit, per_run_time_limit, task_id, seed, use_metalearning) without return types