class_docstr: Test some basic splitters.
docstr: Test RandomStratifiedSplitter split on multitask dataset.
code: def test_multitask_stratified_column_indices(self):
      """
      Test RandomStratifiedSplitter split on multitask dataset.
      """
      n_samples = 100
      n_tasks = 10
      p = 0.05  # proportion actives
      X = np.ones(n_samples)
      y = np.random.binomial(1, p, size=(n_samples, n_tasks))
      w = np.ones((n_samples, n_tasks))
      dataset = dc.data.NumpyDataset(X, y, w)
  
      stratified_splitter = dc.splits.RandomStratifiedSplitter()
      train, valid, test = stratified_splitter.split(
          dataset, 0.5, 0, 0.5
      )
  
      for task in range(n_tasks):
          task_actives = np.count_nonzero(y[:, task])
          # The split index should partition the positives for each task roughly in half.
          target = task_actives / 2
          assert (
              target - 2
              <= np.count_nonzero(y[train, task])
              <= target + 2
          )
  
imports: import os
  import unittest
  import numpy
  import deepchem
  from deepchem.data import NumpyDataset
  from deepchem.splits import IndexSplitter
label_desc: Use image node_id 15 for calling the TestSplitter obj's underlying member method code with example usage: obj.test_multitask_stratified_column_indices() without return types