def test_unknown(self):
     t = self.random_table
     t = self.add_meta_fold(t, 3)
     fat = t.domain.metas[0]
     t[0][fat] = float("nan")
     res = CrossValidationFeature(feature=fat)(t, [NaiveBayesLearner()])
     self.assertNotIn(0, res.row_indices)
Ejemplo n.º 2
0
 def test_bad_feature(self):
     feat = DiscreteVariable(name="fold", values="abc")
     domain = Domain([DiscreteVariable("x", values="ab")],
                     DiscreteVariable("y", values="cd"),
                     metas=[feat])
     t = Table.from_numpy(domain, np.zeros((10, 1)), np.ones((10, 1)),
                          np.full((10, 1), np.nan))
     self.assertRaises(ValueError, CrossValidationFeature(feature=feat), t,
                       [NaiveBayesLearner()])
 def test_call(self):
     t = self.random_table
     t = self.add_meta_fold(t, 3)
     res = CrossValidationFeature(feature=t.domain.metas[0])(t, [NaiveBayesLearner()])
     y = t.Y
     np.testing.assert_equal(res.actual, y[res.row_indices].reshape(len(t)))
     np.testing.assert_equal(res.predicted[0],
                             y[res.row_indices].reshape(len(t)))
     np.testing.assert_equal(np.argmax(res.probabilities[0], axis=1),
                             y[res.row_indices].reshape(len(t)))
Ejemplo n.º 4
0
 def test_init(self):
     var = DiscreteVariable(name="fold", values="abc")
     res = CrossValidationFeature(feature=var)
     self.assertIs(res.feature, var)