class_docstr: Test some basic splitters.
docstr: Test TaskSplitter train/valid/test split on multitask dataset.
docstr_tok: ["Test","TaskSplitter","train\/valid\/test","split","on","multitask","dataset","."]
code: def test_multitask_train_valid_test_split(self):
      """Test TaskSplitter train/valid/test split on multitask dataset."""
      n_samples = 100
      n_features = 10
      n_tasks = 10
      X = np.random.rand(n_samples, n_features)
      p = 0.05  # proportion actives
      y = np.random.binomial(1, p, size=(n_samples, n_tasks))
      dataset = dc.data.NumpyDataset(X, y)
  
      task_splitter = dc.splits.TaskSplitter()
      train, valid, test = task_splitter.train_valid_test_split(
          dataset, frac_train=0.4, frac_valid=0.3, frac_test=0.3
      )
  
      assert len(train.get_task_names()) == 4
      assert len(valid.get_task_names()) == 3
      assert len(test.get_task_names()) == 3
  
file_path: deepchem/deepchem/splits/tests/test_task_splitter.py
imports: import unittest
  import numpy
  import deepchem
label_desc: Use image node_id 1 for calling the TestTaskSplitters obj's underlying member method code with example usage: obj.test_multitask_train_valid_test_split() without return types