class_docstr: A derived class from :class:`Dataset` for which folds (for
  cross-validation) are not predefined. (Or for when there are no folds at
  all).
code: def __init__(self, ratings_file=None, reader=None, df=None):
      Dataset.__init__(self, reader)
      self.has_been_split = (
          False  # flag indicating if split() was called.
      )
  
      if ratings_file is not None:
          self.ratings_file = ratings_file
          self.raw_ratings = self.read_ratings(self.ratings_file)
      elif df is not None:
          self.df = df
          self.raw_ratings = [
              (uid, iid, float(r), None)
              for (uid, iid, r) in self.df.itertuples(index=False)
          ]
      else:
          raise ValueError("Must specify ratings file or dataframe.")
  
imports: import itertools
  import os
  import sys
  from collections import defaultdict
  from .builtin_datasets import BUILTIN_DATASETS, download_builtin_dataset
  from .reader import Reader
  from .trainset import Trainset
label_desc: Use image node_id 1 to create a new DatasetAutoFolds object from inherited base classes: Dataset with example: obj = DatasetAutoFolds(ratings_file, reader, df)