def test_multiple(self): multi_f = MultipleFeaturizer([self.single, self.multi]) data = self.make_test_data() self.assertArrayAlmostEqual([2, 0, 3], multi_f.featurize(1)) self.assertArrayEqual(['A'], multi_f.citations()) implementors = multi_f.implementors() self.assertIn('Us', implementors) self.assertIn('Them', implementors) self.assertEquals(2, len(implementors)) # Ensure BaseFeaturizer operation without overriden featurize_dataframe with warnings.catch_warnings(record=True) as w: multi_f.featurize_dataframe(data, 'x') self.assertEqual(len(w), 0) self.assertArrayAlmostEqual(data['y'], [2, 3, 4]) self.assertArrayAlmostEqual(data['w'], [0, 1, 2]) self.assertArrayAlmostEqual(data['z'], [3, 4, 5]) # Test handling of Featurizers with overloaded featurize_dataframe f = FunctionFeaturizer() multi_f = MultipleFeaturizer([self.single, self.multi, f]) data = self.make_test_data() with warnings.catch_warnings(record=True) as w: multi_f.featurize_dataframe(data, 'x') self.assertEqual(len(w), 1)
def test_multiple(self): # test iterating over both entries and featurizers for iter_entries in [True, False]: multi_f = MultipleFeaturizer([self.single, self.multi], iterate_over_entries=iter_entries) data = self.make_test_data() self.assertArrayAlmostEqual([2, 0, 3], multi_f.featurize(1)) self.assertArrayEqual(['A'], multi_f.citations()) implementors = multi_f.implementors() self.assertIn('Us', implementors) self.assertIn('Them', implementors) self.assertEqual(2, len(implementors)) # Ensure BaseFeaturizer operation without overriden featurize_dataframe with warnings.catch_warnings(record=True) as w: data = multi_f.featurize_dataframe(data, 'x') self.assertEqual(len(w), 0) self.assertArrayAlmostEqual(data['y'], [2, 3, 4]) self.assertArrayAlmostEqual(data['w'], [0, 1, 2]) self.assertArrayAlmostEqual(data['z'], [3, 4, 5]) f = MatrixFeaturizer() multi_f = MultipleFeaturizer([self.single, self.multi, f]) data = self.make_test_data() with warnings.catch_warnings(record=True) as w: data = multi_f.featurize_dataframe(data, 'x') self.assertEqual(len(w), 0) self.assertArrayAlmostEqual(data['representation'][0], [[1.0, 0.0], [0.0, 1.0]])
def test_multiple(self): multi_f = MultipleFeaturizer([self.single, self.multi]) data = self.make_test_data() self.assertArrayAlmostEqual([2, 0, 3], multi_f.featurize(1)) self.assertArrayEqual(['A'], multi_f.citations()) implementors = multi_f.implementors() self.assertIn('Us', implementors) self.assertIn('Them', implementors) self.assertEquals(2, len(implementors)) multi_f.featurize_dataframe(data, 'x') self.assertArrayAlmostEqual(data['y'], [2, 3, 4]) self.assertArrayAlmostEqual(data['w'], [0, 1, 2]) self.assertArrayAlmostEqual(data['z'], [3, 4, 5])
def test_multiple(self): # test iterating over both entries and featurizers for iter_entries in [True, False]: multi_f = MultipleFeaturizer([self.single, self.multi], iterate_over_entries=iter_entries) data = self.make_test_data() self.assertArrayAlmostEqual([2, 0, 3], multi_f.featurize(1)) self.assertArrayEqual(['A'], multi_f.citations()) implementors = multi_f.implementors() self.assertIn('Us', implementors) self.assertIn('Them', implementors) self.assertEqual(2, len(implementors)) # Ensure BaseFeaturizer operation without overriden featurize_dataframe with warnings.catch_warnings(record=True) as w: multi_f.featurize_dataframe(data, 'x') self.assertEqual(len(w), 0) self.assertArrayAlmostEqual(data['y'], [2, 3, 4]) self.assertArrayAlmostEqual(data['w'], [0, 1, 2]) self.assertArrayAlmostEqual(data['z'], [3, 4, 5]) f = MatrixFeaturizer() multi_f = MultipleFeaturizer([self.single, self.multi, f]) data = self.make_test_data() with warnings.catch_warnings(record=True) as w: multi_f.featurize_dataframe(data, 'x') self.assertEqual(len(w), 0) self.assertArrayAlmostEqual(data['representation'][0], [[1.0, 0.0], [0.0, 1.0]])