class_docstr: Dataset iterator for fitting estimator models, like vocabs, kNN, vectorizers.
  Data is passed as a list of strings(documents).
  Generate batches (for large datasets).
  
  Args:
      data: list of documents
      doc_ids: provided document ids
      seed: random seed for data shuffling
      shuffle: whether to shuffle data during batching
  
  Attributes:
      shuffle: whether to shuffle data during batching
      random: instance of :class:`Random` initialized with a seed
      data: list of documents
      doc_ids: provided by a user ids or generated automatically ids
code: def __init__(
      self,
      data: List[str],
      doc_ids: List[Any] = None,
      seed: int = None,
      shuffle: bool = True,
      *args,
      **kwargs,
  ) -> None:
      self.shuffle = shuffle
      self.random = Random(seed)
      self.data = data
      self.doc_ids = doc_ids or self.get_doc_ids()
  
file_path: DeepPavlov/deeppavlov/core/data/data_fitting_iterator.py
imports: from logging import getLogger
  from random import Random
  from typing import List, Generator, Tuple, Any, Optional
  from deeppavlov.core.common.registry import register
label_desc: Use image node_id 1 to create a new DataFittingIterator object  with example: obj = DataFittingIterator(data, doc_ids, seed, shuffle)