code: def load_feedback(fmt="UIR", variant="100K", reader=None):
      """Load the user-item ratings of one of the MovieLens datasets
  
      Parameters
      ----------
      fmt: str, default: 'UIR'
          Data format to be returned, one of ['UIR', 'UIRT'].
  
      variant: str, optional, default: '100K'
          Specifies which MovieLens dataset to load, one of ['100K', '1M', '10M', '20M'].
  
      reader: `obj:cornac.data.Reader`, optional, default: None
          Reader object used to read the data.
  
      Returns
      -------
      data: array-like
          Data in the form of a list of tuples depending on the given data format.
      """
  
      fmt = validate_format(fmt, VALID_DATA_FORMATS)
  
      ml = ML_DATASETS.get(variant.upper(), None)
      if ml is None:
          raise ValueError(
              "variant must be one of {}.".format(ML_DATASETS.keys())
          )
  
      fpath = cache(url=ml.url, unzip=ml.unzip, relative_path=ml.path)
      reader = Reader() if reader is None else reader
      return reader.read(fpath, fmt, sep=ml.sep, skip_lines=ml.skip)
  
file_path: cornac/cornac/datasets/movielens.py
imports: from typing import List
  from collections import namedtuple
  from ..utils import validate_format
  from ..utils import cache
  from ..data import Reader
  from ..data.reader import read_text
label_desc: Use image node_id 1 for calling a global function with example usage: load_feedback(fmt, variant, reader) and returns: reader