Package nltk_lite :: Package contrib :: Package classifier_tests :: Module zerortests
[hide private]
[frames] | no frames]

Source Code for Module nltk_lite.contrib.classifier_tests.zerortests

 1  # Natural Language Toolkit 
 2  # 
 3  # Author: Sumukh Ghodke <sumukh dot ghodke at gmail dot com> 
 4  # 
 5  # URL: <http://nltk.sf.net> 
 6  # This software is distributed under GPL, for license information see LICENSE.TXT 
 7   
 8  from nltk_lite.contrib.classifier import zeror as z, instances as ins, format 
 9  from nltk_lite.contrib.classifier.exceptions import invaliddataerror as inv 
10  from nltk_lite.contrib.classifier_tests import * 
11   
12 -class ZeroRTestCase(unittest.TestCase):
14 path = datasetsDir(self) + 'test_phones' + SEP + 'phoney' 15 classifier = z.ZeroR(format.C45_FORMAT.get_training_instances(path), format.C45_FORMAT.get_attributes(path), format.C45_FORMAT.get_klass(path)) 16 self.assertEqual(format.C45_FORMAT.get_training_instances(datasetsDir(self) + 'test_phones' + SEP + 'phoney'), classifier.training, 'should have created training instances')
17
19 try: 20 path = datasetsDir(self) + 'test_faulty' + SEP + 'invalid_attributes' 21 classifier = z.ZeroR(format.C45_FORMAT.get_training_instances(path), format.C45_FORMAT.get_attributes(path), format.C45_FORMAT.get_klass(path)) 22 self.fail('should throw invalid data error') 23 except inv.InvalidDataError: 24 pass
25
26 - def test_majority_class(self):
30
32 path = datasetsDir(self) + 'test_phones' + SEP + 'phoney' 33 zeror = z.ZeroR(format.C45_FORMAT.get_training_instances(path), format.C45_FORMAT.get_attributes(path), format.C45_FORMAT.get_klass(path)) 34 35 zeror.test(format.C45_FORMAT.get_test_instances(path), False) 36 i = 0 37 for i in range(4): 38 self.assertEqual('b', zeror.test_instances[i].classified_klass) 39 self.assertEqual(None, zeror.test_instances[i].klass_value)
40
42 path = datasetsDir(self) + 'minigolf' + SEP + 'weather' 43 zeror = z.ZeroR(format.C45_FORMAT.get_training_instances(path), format.C45_FORMAT.get_attributes(path), format.C45_FORMAT.get_klass(path)) 44 confusion_matrix = zeror.verify(format.C45_FORMAT.get_gold_instances(path)) 45 self.assertEqual(0.75, confusion_matrix.accuracy()) 46 self.assertEqual(0.25, confusion_matrix.error()) 47 self.assertEqual(1, confusion_matrix.tpr()) 48 self.assertEqual(0, confusion_matrix.tnr()) 49 self.assertEqual(1, confusion_matrix.fpr()) 50 self.assertEqual(0.75, confusion_matrix.precision()) 51 self.assertEqual(1, confusion_matrix.recall()) 52 self.assertAlmostEqual(0.85714286, confusion_matrix.fscore(), 8)
53
58