code: def split_dataset_random(dataset, first_size, seed=None):
      """Splits a dataset into two subsets randomly.
  
      This function creates two instances of :class:`SubDataset`. These instances
      do not share any examples, and they together cover all examples of the
      original dataset. The split is automatically done randomly.
  
      Args:
          dataset: Dataset to split.
          first_size (int): Size of the first subset.
          seed (int): Seed the generator used for the permutation of indexes.
              If an integer being convertible to 32 bit unsigned integers is
              specified, it is guaranteed that each sample
              in the given dataset always belongs to a specific subset.
              If ``None``, the permutation is changed randomly.
  
      Returns:
          tuple: Two :class:`SubDataset` objects. The first subset contains
          ``first_size`` examples randomly chosen from the dataset without
          replacement, and the second subset contains the rest of the
          dataset.
  
      """
      order = numpy.random.RandomState(seed).permutation(len(dataset))
      return split_dataset(dataset, first_size, order)
  
file_path: chainer/chainer/datasets/sub_dataset.py
imports: import numpy
  import six
  import warnings
  from chainer.dataset import dataset_mixin
label_desc: Use image node_id 2 for calling a global function with example usage: split_dataset_random(dataset, first_size, seed) and returns: split_dataset