Esempio n. 1
0
 def test_classify_all(self):
     training_set, sample_0 = self.load_car_data()
     sample_1 = {"color": "yellow", "type": "sports", "origin": "domestic"}
     dataset = DataSet(pd.DataFrame([sample_0, sample_1]), 
                       labels=["no", "yes"])
     classifier = NaiveBayes(training_set)
     results = classifier.classify_all(dataset)
     assert_that(results.get_classifications(), equals_series({0: "no", 1: "no"}))
     self.assertEqual(results.compute_accuracy(), 0.5)
Esempio n. 2
0
 def test_classify_inconsistent_features(self):
     training_set, __ = self.load_car_data()
     sample = {"color": "yellow", "type": "sports", "year": 2012}
     classifier = NaiveBayes(training_set)
     self.assertRaises(InconsistentFeaturesError, classifier.classify, sample)
Esempio n. 3
0
 def test_get_classification_probabilities(self):
     training_set, sample = self.load_car_data()
     classifier = NaiveBayes(training_set)
     probabilities = classifier.get_classification_probabilities(sample)
     self.assertAlmostEqual(probabilities["yes"], 0.035, places=3)
     self.assertAlmostEqual(probabilities["no"], 0.070, places=3)
Esempio n. 4
0
 def test_classify_single_sample(self):
     training_set, sample = self.load_car_data()
     classifier = NaiveBayes(training_set)
     self.assertEqual(classifier.classify(sample), "no")
Esempio n. 5
0
 def test_calc_prob_class(self):
     training_set = DataSet([[1, 2], [3, 4], [5, 6], [7, 8]],
                                 labels=["cat", "dog", "cat", "cat"])
     classifier = NaiveBayes(training_set)
     prob = classifier._calc_prob_class("cat")
     self.assertAlmostEqual(prob, 0.75, places=2)
Esempio n. 6
0
 def test_calc_prob_feature_given_class(self):
     training_set, sample = self.load_car_data()
     classifier = NaiveBayes(training_set)
     prob = classifier._calc_prob_feature_given_class("yes", "color",
                                                      sample["color"])
     self.assertAlmostEqual(prob, 0.57, places=2)
Esempio n. 7
0
 def test_count_examples(self):
     training_set, sample = self.load_car_data()
     classifier = NaiveBayes(training_set)
     count = classifier._count_examples("yes", "color", sample["color"])
     self.assertEquals(count, 3)