code: def load_dataset(dataset_path, data_home=None, n_features=None):
      """Load dataset from given path
      Parameters
      ----------
      dataset_path : `str`
          Dataset relative path
      data_home : `str`, optional, default=None
          Specify a download and cache folder for the datasets. If None
          and not configured with TICK_DATASETS environement variable
          all tick datasets are stored in '~/tick_datasets' subfolders.
      n_features : `int`, optional, default=None
          The number of features to use. If None, it will be inferred. This
          argument is useful to load several files that are subsets of a
          bigger sliced dataset: each subset might not have examples of
          every feature, hence the inferred shape might vary from one
          slice to another.
      Returns
      -------
      output : `np.ndarray` or `dict` or `tuple`
          Dataset. Its format will depend on queried dataset.
      """
      data_home = get_data_home(data_home)
      cache_path = os.path.join(data_home, dataset_path)
  
      if cache_path.endswith(".npz"):
          dataset = np.load(cache_path, allow_pickle=True)
          # If we have only one numpy array we return it directly otherwise
          # we return the row dictionary
          if len(dataset) == 1:
              key_0 = list(dataset.keys())[0]
              dataset = dataset[key_0]
          else:
              dataset = dataset.items()
      else:
          dataset = load_svmlight_file(
              cache_path, n_features=n_features
          )
  
      return dataset
  
file_path: tick/tick/dataset/download_helper.py
imports: import logging
  from urllib.request import urlopen
  import os
  import shutil
  import numpy
  from sklearn.datasets import load_svmlight_file
  import math
  import warnings
label_desc: Use image node_id 4 for calling a global function with example usage: load_dataset(dataset_path, data_home, n_features) and returns: dataset