Exemplo n.º 1
0
	def test_single_training_data(self):
		classifier = NaiveBayesClassifier()
		classifier.train((('A', 'a'),))

		self.failUnless(classifier.label('a') == 'A')
		distribution = classifier.label_distribution('a')
		self.failUnlessEqual(len(distribution), 1)
		self.failUnless('A' in distribution)
		self.failUnless(distribution['A'] == 0.0, distribution)
Exemplo n.º 2
0
    def test_single_training_data(self):
        classifier = NaiveBayesClassifier()
        classifier.train((('A', 'a'), ))

        self.failUnless(classifier.label('a') == 'A')
        distribution = classifier.label_distribution('a')
        self.failUnlessEqual(len(distribution), 1)
        self.failUnless('A' in distribution)
        self.failUnless(distribution['A'] == 0.0, distribution)
Exemplo n.º 3
0
	def test_single_class_mixed_training_data(self):
		classifier = NaiveBayesClassifier()
		classifier.train((('A', 'a'),('A', 'a'),('B', 'a')))

		self.failUnless(classifier.label('a') == 'A')
		distribution = classifier.label_distribution('a')
		self.failUnlessEqual(len(distribution), 2)
		self.failUnless('A' in distribution)

		correct_distribution = Counter()
		correct_distribution['A'] = (2.0 / 3.0)**3
		correct_distribution['B'] = (1.0 / 3.0)**3
		correct_distribution.normalize()
		correct_distribution.log()

		self.failUnlessAlmostEqual(distribution['A'], correct_distribution['A'])
		self.failUnlessAlmostEqual(distribution['B'], correct_distribution['B'])
Exemplo n.º 4
0
    def test_single_class_mixed_training_data(self):
        classifier = NaiveBayesClassifier()
        classifier.train((('A', 'a'), ('A', 'a'), ('B', 'a')))

        self.failUnless(classifier.label('a') == 'A')
        distribution = classifier.label_distribution('a')
        self.failUnlessEqual(len(distribution), 2)
        self.failUnless('A' in distribution)

        correct_distribution = Counter()
        correct_distribution['A'] = (2.0 / 3.0)**3
        correct_distribution['B'] = (1.0 / 3.0)**3
        correct_distribution.normalize()
        correct_distribution.log()

        self.failUnlessAlmostEqual(distribution['A'],
                                   correct_distribution['A'])
        self.failUnlessAlmostEqual(distribution['B'],
                                   correct_distribution['B'])