def test_return_indeces_for_reber_classification(self): words, _ = make_reber_classification(100, return_indeces=True) min_index = np.min([np.min(word) for word in words]) max_index = np.max([np.max(word) for word in words]) self.assertEqual(min_index, 0) self.assertEqual(max_index, len(avaliable_letters) - 1)
def test_reber_classification_data(self): invalid_data_ratio = 0.5 n_words = 100 words, labels = make_reber_classification(n_words, invalid_size=invalid_data_ratio) self.assertEqual(n_words, len(labels)) self.assertEqual(math.ceil(n_words * invalid_data_ratio), sum(labels)) for word, label in zip(words, labels): self.assertEqual(bool(label), is_valid_by_reber(word))
def test_reber_classification_data(self): invalid_data_ratio = 0.5 n_words = 100 words, labels = make_reber_classification( n_words, invalid_size=invalid_data_ratio) self.assertEqual(n_words, len(labels)) self.assertEqual(math.ceil(n_words * invalid_data_ratio), sum(labels)) for word, label in zip(words, labels): self.assertEqual(bool(label), is_valid_by_reber(word))
def test_reber_classification_exceptions(self): with self.assertRaisesRegexp(ValueError, "at least 2 samples"): make_reber_classification(n_samples=1) with self.assertRaises(ValueError): make_reber_classification(n_samples=10, invalid_size=-1) with self.assertRaises(ValueError): make_reber_classification(n_samples=10, invalid_size=2)