code: def prepare_higgs(dataset_folder, nrows):
      url = "https://archive.ics.uci.edu/ml/machine-learning-databases/00280/HIGGS.csv.gz"
      local_url = os.path.join(dataset_folder, os.path.basename(url))
      pickle_url = os.path.join(
          dataset_folder,
          "higgs"
          + ("" if nrows is None else "-" + str(nrows))
          + "-pickle.dat",
      )
  
      if os.path.exists(pickle_url):
          return pickle.load(open(pickle_url, "rb"))
      print("Preparing dataset ...")
  
      if not os.path.isfile(local_url):
          urlretrieve(url, local_url)
      higgs = pd.read_csv(local_url, nrows=nrows, error_bad_lines=False)
      X = higgs.iloc[:, 1:]
      y = higgs.iloc[:, 0]
  
      X_train, X_test, y_train, y_test = train_test_split(
          X,
          y,
          random_state=77,
          test_size=0.2,
      )
      data = Data(
          X_train.astype("|f4").to_numpy(),
          X_test.astype("|f4").to_numpy(),
          y_train,
          y_test,
          LearningTask.CLASSIFICATION,
      )
      pickle.dump(data, open(pickle_url, "wb"), protocol=4)
      return data
  
imports: import os
  from enum import Enum
  import pandas
  import pickle
  import numpy
  from sklearn.model_selection import train_test_split
  from sklearn.datasets import load_svmlight_file
  from urllib.request import urlretrieve
label_desc: Use image node_id 4 for calling a global function with example usage: prepare_higgs(dataset_folder, nrows) and returns: data, pickle