class_docstr: Splitters split up Datasets into pieces for training/validation/testing.
  
  In machine learning applications, it's often necessary to split up a dataset
  into training/validation/test sets. Or to k-fold split a dataset (that is,
  divide into k equal subsets) for cross-validation. The `Splitter` class is
  an abstract superclass for all splitters that captures the common API across
  splitter classes.
  
  Note that `Splitter` is an abstract superclass. You won't want to
  instantiate this class directly. Rather you will want to use a concrete
  subclass for your application.
class_docstr_tok: ["Splitters","split","up","Datasets","into","pieces","for","training\/validation\/testing",".","In","machine","learning","applications",",","it","'s","often","necessary","to","split","up","a","dataset","into","training\/validation\/test","sets",".","Or","to","k-fold","split","a","dataset","(","that","is",",","divide","into","k","equal","subsets",")","for","cross-validation",".","The","`","Splitter","`","class","is","an","abstract","superclass","for","all","splitters","that","captures","the","common","API","across","splitter","classes",".","Note","that","`","Splitter","`","is","an","abstract","superclass",".","You","wo","n't","want","to","instantiate","this","class","directly",".","Rather","you","will","want","to","use","a","concrete","subclass","for","your","application","."]
docstr: Convert self to str representation.
  
  Returns
  -------
  str
      The string represents the class.
  
  Examples
  --------
  >>> import deepchem as dc
  >>> str(dc.splits.RandomSplitter())
  'RandomSplitter'
docstr_tok: ["Convert","self","to","str","representation",".","Returns","--","--","--","-","str","The","string","represents","the","class",".","Examples","--","--","--","--",">",">",">","import","deepchem","as","dc",">",">",">","str","(","dc.splits.RandomSplitter","(",")",")","'RandomSplitter","'"]
code: def __str__(self) -> str:
      """Convert self to str representation.
  
      Returns
      -------
      str
          The string represents the class.
  
      Examples
      --------
      >>> import deepchem as dc
      >>> str(dc.splits.RandomSplitter())
      'RandomSplitter'
      """
      args_spec = inspect.getfullargspec(self.__init__)  # type: ignore
      args_names = [arg for arg in args_spec.args if arg != "self"]
      args_num = len(args_names)
      args_default_values = [None for _ in range(args_num)]
      if args_spec.defaults is not None:
          defaults = list(args_spec.defaults)
          args_default_values[-len(defaults) :] = defaults
  
      override_args_info = ""
      for arg_name, default in zip(args_names, args_default_values):
          if arg_name in self.__dict__:
              arg_value = self.__dict__[arg_name]
              # validation
              # skip list
              if isinstance(arg_value, list):
                  continue
              if isinstance(arg_value, str):
                  # skip path string
                  if (
                      "\\/." in arg_value
                      or "/" in arg_value
                      or "." in arg_value
                  ):
                      continue
              # main logic
              if default != arg_value:
                  override_args_info += (
                      "_" + arg_name + "_" + str(arg_value)
                  )
      return self.__class__.__name__ + override_args_info
  
imports: import inspect
  import itertools
  import logging
  import os
  import random
  import tempfile
  from typing import Any, Dict, Iterator, List, Optional, Sequence, Tuple, Union
  import deepchem
  import numpy
  import pandas
  from deepchem.data import Dataset, DiskDataset
  from deepchem.utils import get_print_threshold
label_desc: Use image node_id 5 for calling the Splitter obj's underlying member method code with example usage: obj.__str__() and returns: unknown