code: def load_iris(return_X_y=False):
      """Load and return the iris dataset (classification).
  
      The iris dataset is a classic and very easy multi-class classification
      dataset.
  
      =================   ==============
      Classes                          3
      Samples per class               50
      Samples total                  150
      Dimensionality                   4
      Features            real, positive
      =================   ==============
  
      Read more in the :ref:`User Guide <datasets>`.
  
      Parameters
      ----------
      return_X_y : boolean, default=False.
          If True, returns ``(data, target)`` instead of a Bunch object.
          See below for more information about the `data` and `target` object.
  
          .. versionadded:: 0.18
  
      Returns
      -------
      data : Bunch
          Dictionary-like object, the interesting attributes are:
          'data', the data to learn, 'target', the classification labels,
          'target_names', the meaning of the labels, 'feature_names', the
          meaning of the features, and 'DESCR', the
          full description of the dataset.
  
      (data, target) : tuple if ``return_X_y`` is True
  
          .. versionadded:: 0.18
  
      Examples
      --------
      Let's say you are interested in the samples 10, 25, and 50, and want to
      know their class name.
  
      >>> from sklearn.datasets import load_iris
      >>> data = load_iris()
      >>> data.target[[10, 25, 50]]
      array([0, 0, 1])
      >>> list(data.target_names)
      ['setosa', 'versicolor', 'virginica']
      """
      module_path = datasets_dir()
      with open(join(module_path, "data", "iris.csv")) as csv_file:
          data_file = csv.reader(csv_file)
          temp = next(data_file)
          n_samples = int(temp[0])
          n_features = int(temp[1])
          target_names = np.array(temp[2:])
          data = np.empty((n_samples, n_features))
          target = np.empty((n_samples,), dtype=np.int)
  
          for i, ir in enumerate(data_file):
              data[i] = np.asarray(ir[:-1], dtype=np.float64)
              target[i] = np.asarray(ir[-1], dtype=np.int)
  
      with open(join(module_path, "descr", "iris.rst")) as rst_file:
          fdescr = rst_file.read()
  
      if return_X_y:
          return data, target
  
      return Bunch(
          data=data,
          target=target,
          target_names=target_names,
          DESCR=fdescr,
          feature_names=[
              "sepal length (cm)",
              "sepal width (cm)",
              "petal length (cm)",
              "petal width (cm)",
          ],
      )
  
imports: import os
  import csv
  import sys
  import shutil
  from os import environ
  from os.path import dirname
  from os.path import join
  from os.path import exists
  from os.path import expanduser
  from os.path import isdir
  from os.path import splitext
  from os import listdir
  from os import makedirs
  import numpy
  from ..utils import check_random_state
label_desc: Use image node_id 5 for calling a global function with example usage: load_iris(return_X_y) and returns: Bunch, data,  target