Commit 0090a524 authored by Bharath Ramsundar's avatar Bharath Ramsundar
Browse files

Fix broken tests

parent 8860f59e
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -33,6 +33,7 @@ class TestDatasetAPI(TestSplitAPI):
                      user_specified_features=None,
                      split_field=None,
                      shard_size=100):
    featurizers = compound_featurizers + complex_featurizers
    samples = self._gen_samples(
        compound_featurizers, complex_featurizers,
        input_transformer_classes, output_transformer_classes,
+0 −12
Original line number Diff line number Diff line
@@ -87,15 +87,3 @@ class TestBasicDatasetAPI(TestDatasetAPI):
    np.testing.assert_allclose(comp_y_means, y_means)
    np.testing.assert_allclose(comp_X_stds, X_stds)
    np.testing.assert_allclose(comp_y_stds, y_stds)

  def test_balance_positives_and_negatives(self):
    """Test balancing of positive and negative examples."""
    multitask_dataset = self._load_multitask_data()
    weights = multitask_dataset.balance_positives_and_negatives()
    X, y, w, ids = multitask_dataset.to_numpy()
    for ind, task in enumerate(multitask_dataset.get_task_names()):
      task_labels = y[:, ind]
      num_positives = np.count_nonzero(task_labels)
      num_negatives = len(task_labels) - num_positives
      pos_weight, neg_weight = weights[ind]
      assert np.isclose(num_positives * pos_weight, num_negatives * neg_weight)
+14 −4
Original line number Diff line number Diff line
@@ -13,6 +13,9 @@ import os
import unittest
import tempfile
import shutil
from deepchem.splits import RandomSplitter
from deepchem.splits import ScaffoldSplitter
from deepchem.splits import SpecifiedSplitter
from deepchem.featurizers.featurize import DataFeaturizer
from deepchem.featurizers.fingerprints import CircularFingerprint

@@ -49,16 +52,23 @@ class TestFeaturizedSamples(unittest.TestCase):
    samples = featurizer.featurize(input_file, self.feature_dir, self.samples_dir)

    # Splits featurized samples into train/test
    assert splittype in ["random", "specified", "scaffold"]
    if splittype == "random":
      splitter = RandomSplitter()
    elif splittype == "specified":
      splitter = SpecifiedSplitter()
    elif splittype == "scaffold":
      splitter = ScaffoldSplitter()
    if frac_valid > 0:
      train_samples, valid_samples, test_samples = samples.train_valid_test_split(
          splittype, train_dir=self.train_dir, valid_dir=self.valid_dir,
      train_samples, valid_samples, test_samples = splitter.train_valid_test_split(
          samples, train_dir=self.train_dir, valid_dir=self.valid_dir,
          test_dir=self.test_dir, frac_train=frac_train,
          frac_valid=frac_valid, frac_test=frac_test)

      return train_samples, valid_samples, test_samples
    else:
      train_samples, test_samples = samples.train_test_split(
          splittype, train_dir=self.train_dir, test_dir=self.test_dir,
      train_samples, test_samples = splitter.train_test_split(
          samples, train_dir=self.train_dir, test_dir=self.test_dir,
          frac_train=frac_train)
      return train_samples, test_samples