code: def load_heroes(return_X_y=False, as_frame=False):
      """A dataset from the video game [Heroes of the storm](https://heroesofthestorm.blizzard.com/en-us/).
  
      The goal of the dataset is to predict the attack type. Note that the pandas dataset returns more information.
      This is because we wanted to keep the X simple in the return_X_y case.
  
      Parameters
      ----------
      return_X_y : bool, default=False
          If True, returns `(data, target)` instead of a dict object.
      as_frame : bool, default=False
          If True, returns `data` as a pandas DataFrame  instead of X, y matrices.
  
      Examples
      --------
      ```py
      from sklego.datasets import load_heroes
      X, y = load_heroes(return_X_y=True)
  
      X.shape
      # (84, 2)
      y.shape
      # (84,)
  
      load_heroes(as_frame=True).columns
      # Index(['name', 'attack_type', 'role', 'health', 'attack', 'attack_spd'], dtype='object')
      ```
      """
      filepath = resource_filename(
          "sklego", os.path.join("data", "heroes.zip")
      )
      df = pd.read_csv(filepath)
      if as_frame:
          return df
      X = df[["health", "attack"]].values
      y = df["attack_type"].values
      if return_X_y:
          return X, y
      return {"data": X, "target": y}
  
file_path: scikit-lego/sklego/datasets.py
imports: import os
  import numpy
  import pandas
  from pkg_resources import resource_filename
  from sklearn.datasets import fetch_openml
label_desc: Use image node_id 5 for calling a global function with example usage: load_heroes(return_X_y, as_frame) and returns: dict, df, X,  y