code: def fetch_bank(
      *,
      data_home=None,
      cache=True,
      binary_age=True,
      percent10=False,
      usecols=None,
      dropcols=["duration"],
      numeric_only=False,
      dropna=False,
  ):
      """Load the Bank Marketing Dataset.
  
      The protected attribute is 'age' (binarized by default as suggested by [#lequy22]:
      age >= 25 and age <60 is considered privileged and age< 25 or age >= 60 unprivileged;
      see the binary_age flag to keep this continuous). The outcome variable is 'deposit':
      'yes' or 'no'.
  
          References:
              .. [#lequy22] Le Quy, Tai, et al. "A survey on datasets for fairness‐aware machine
              learning." Wiley Interdisciplinary Reviews: Data Mining and Knowledge
              Discovery 12.3 (2022): e1452.
  
      Note:
          By default, the data is downloaded from OpenML. See the `bank-marketing
          <https://www.openml.org/d/1461>`_ page for details.
  
      Args:
          data_home (string, optional): Specify another download and cache folder
              for the datasets. By default all AIF360 datasets are stored in
              'aif360/sklearn/data/raw' subfolders.
          cache (bool): Whether to cache downloaded datasets.
          percent10 (bool, optional): Download the reduced version (10% of data).
          usecols (list-like, optional): Column name(s) to keep. All others are
              dropped.
          dropcols (list-like, optional): Column name(s) to drop.
          numeric_only (bool): Drop all non-numeric feature columns.
          dropna (bool): Drop rows with NAs. Note: this is False by default for
              this dataset.
  
      Returns:
          namedtuple: Tuple containing X and y for the Bank dataset accessible by
          index or name.
  
      See also:
          :func:`sklearn.datasets.fetch_openml`
  
      Examples:
          >>> bank = fetch_bank()
          >>> bank.X.shape
          (45211, 15)
  
          >>> bank_nona = fetch_bank(dropna=True)
          >>> bank_nona.X.shape
          (7842, 15)
  
          >>> bank_num = fetch_bank(numeric_only=True)
          >>> bank_num.X.shape
          (45211, 6)
      """
      # TODO: this seems to be an old version
      df = fetch_openml(
          data_id=1558 if percent10 else 1461,
          data_home=data_home or DATA_HOME_DEFAULT,
          cache=cache,
          as_frame=True,
      ).frame
      df.columns = [
          "age",
          "job",
          "marital",
          "education",
          "default",
          "balance",
          "housing",
          "loan",
          "contact",
          "day",
          "month",
          "duration",
          "campaign",
          "pdays",
          "previous",
          "poutcome",
          "deposit",
      ]
      # remap target
      df.deposit = df.deposit.map({"1": "no", "2": "yes"}).astype(
          "category"
      )
      df.deposit = df.deposit.cat.set_categories(
          ["no", "yes"], ordered=True
      )
  
      # replace 'unknown' marker with NaN
      for col in df.select_dtypes("category"):
          if "unknown" in df[col].cat.categories:
              df[col] = df[col].cat.remove_categories("unknown")
      df.education = df.education.astype(
          "category"
      ).cat.reorder_categories(
          ["primary", "secondary", "tertiary"], ordered=True
      )
  
      # binarize protected attribute (but not corresponding feature)
      age = (
          pd.cut(
              df.age,
              [0, 24, 60, 100],
              ordered=False,
              labels=[0, 1, 0]
              if numeric_only
              else ["<25 or >=60", "25-60", "<25 or >=60"],
          )
          if binary_age
          else "age"
      )
      age = age.cat.reorder_categories(
          [0, 1] if numeric_only else ["<25 or >=60", "25-60"]
      )
  
      return standardize_dataset(
          df,
          prot_attr=[age],
          target="deposit",
          usecols=usecols,
          dropcols=dropcols,
          numeric_only=numeric_only,
          dropna=dropna,
      )
  
imports: import os
  import pandas
  from sklearn.datasets import fetch_openml
  from aif360.sklearn.datasets.utils import standardize_dataset
label_desc: Use image node_id 3 for calling a global function with example usage: fetch_bank() and returns: standardize_dataset