class_docstr: Splitter needs providing some parameters to create folds and some "reader",
  that can read source.
class_docstr_tok: ["Splitter","needs","providing","some","parameters","to","create","folds","and","some","``","reader","''",",","that","can","read","source","."]
docstr: Find all groups in dataset and which group each line belongs.
docstr_tok: ["Find","all","groups","in","dataset","and","which","group","each","line","belongs","."]
code: def _read_groups_ids(self):
      """Find all groups in dataset and which group each line belongs."""
      line_groups_ids = []
      groups_ids = set()
  
      lines = self._line_reader.lines_generator()
      # Need to return group id of line and line as string.
      for group_id, _ in lines:
          line_groups_ids.append(group_id)
          groups_ids.add(group_id)
      return line_groups_ids, groups_ids
  
file_path: catboost/catboost/python-package/catboost/eval/_splitter.py
imports: import random
  from ._fold_storage import FoldStorage
  from ._fold_storage import _FoldFile
label_desc: Use image node_id 2 for calling the _Splitter obj's underlying member method code with example usage: obj._read_groups_ids() and returns: line_groups_ids,  groups_ids