示例#1
0
 def test_majority_class_is_set_on_test_instances(self):
     path = datasetsDir(self) + 'test_phones' + SEP + 'phoney'
     zeror = z.ZeroR(training(path), attributes(path), klass(path))
     zeror.train()
     zeror.test(test(path))
     i = 0
     for i in range(4):
         self.assertEqual('b', zeror.test_instances[i].classified_klass)
         self.assertEqual(None, zeror.test_instances[i].klass_value)
示例#2
0
 def test_zeroR_verifies_validity_of_training_data(self):
     try:
         path = datasetsDir(
             self) + 'test_faulty' + SEP + 'invalid_attributes'
         classifier = z.ZeroR(training(path), attributes(path), klass(path))
         classifier.train()
         self.fail('should throw invalid data error')
     except inv.InvalidDataError:
         pass
示例#3
0
    def test_verify_returns_correct_confusion_matrix(self):
        path = datasetsDir(self) + 'minigolf' + SEP + 'weather'
        klasses = klass(path)
        zeror = z.ZeroR(training(path), attributes(path), klasses)
        zeror.train()
        confusion_matrix = zeror.verify(gold(path))

        self.assertEqual(0.75, confusion_matrix.accuracy())
        self.assertEqual(0.25, confusion_matrix.error())
        self.assertEqual(1, confusion_matrix.tpr())
        self.assertEqual(0, confusion_matrix.tnr())
        self.assertEqual(1, confusion_matrix.fpr())
        self.assertEqual(0.75, confusion_matrix.precision())
        self.assertEqual(1, confusion_matrix.recall())
        self.assertAlmostEqual(0.85714286, confusion_matrix.fscore(), 8)
示例#4
0
 def test_can_classify_data_having_continuous_attributes(self):
     path = datasetsDir(self) + 'numerical' + SEP + 'weather'
     zeror = z.ZeroR(training(path), attributes(path), klass(path))
     zeror.train()
     zeror.verify(gold(path))
示例#5
0
 def test_majority_class(self):
     path = datasetsDir(self) + 'test_phones' + SEP + 'phoney'
     classifier = z.ZeroR(training(path), attributes(path), klass(path))
     self.assertEqual('b', classifier.majority_class())
示例#6
0
 def test_zeroR_instance_is_created_with_training_data(self):
     path = datasetsDir(self) + 'test_phones' + SEP + 'phoney'
     classifier = z.ZeroR(training(path), attributes(path), klass(path))
     self.assertEqual(
         training(datasetsDir(self) + 'test_phones' + SEP + 'phoney'),
         classifier.training, 'should have created training instances')