예제 #1
0
 def setUp(self):
     # Using example from https://en.wikipedia.org/wiki/Naive_Bayes_classifier
     # height (feet), weight (lbs), foot size (inches)
     self.xs = [
         [6, 180, 12],
         [5.92, 190, 11],
         [5.58, 170, 12],
         [5.92, 165, 10],
         [5, 100, 6],
         [5.5, 150, 8],
         [5.42, 130, 7],
         [5.75, 150, 9],
     ]
     self.ys = [
         'male',
         'male',
         'male',
         'male',
         'female',
         'female',
         'female',
         'female',
     ]
     self.model = NaiveBayes.train(self.xs, self.ys)
     self.test = [6, 130, 8]
예제 #2
0
    def test_car_data(self):
        """Simple example using car data."""
        # Car data from example 'Naive Bayes Classifier example'
        # by Eric Meisner November 22, 2003
        # http://www.inf.u-szeged.hu/~ormandi/teaching/mi2/02-naiveBayes-example.pdf
        xcar = [
            ["Red", "Sports", "Domestic"],
            ["Red", "Sports", "Domestic"],
            ["Red", "Sports", "Domestic"],
            ["Yellow", "Sports", "Domestic"],
            ["Yellow", "Sports", "Imported"],
            ["Yellow", "SUV", "Imported"],
            ["Yellow", "SUV", "Imported"],
            ["Yellow", "SUV", "Domestic"],
            ["Red", "SUV", "Imported"],
            ["Red", "Sports", "Imported"],
            ]

        ycar = [
            "Yes",
            "No",
            "Yes",
            "No",
            "Yes",
            "No",
            "Yes",
            "No",
            "No",
            "Yes",
            ]

        carmodel = NaiveBayes.train(xcar, ycar)
        self.assertEqual("Yes", NaiveBayes.classify(carmodel, ["Red", "Sports", "Domestic"]))
        self.assertEqual("No", NaiveBayes.classify(carmodel, ["Red", "SUV", "Domestic"]))
예제 #3
0
 def setUp(self):
     # Using example from https://en.wikipedia.org/wiki/Naive_Bayes_classifier
     # height (feet), weight (lbs), foot size (inches)
     self.xs = [
         [6, 180, 12],
         [5.92, 190, 11],
         [5.58, 170, 12],
         [5.92, 165, 10],
         [5, 100, 6],
         [5.5, 150, 8],
         [5.42, 130, 7],
         [5.75, 150, 9],
     ]
     self.ys = [
         'male',
         'male',
         'male',
         'male',
         'female',
         'female',
         'female',
         'female',
     ]
     self.model = NaiveBayes.train(self.xs, self.ys)
     self.test = [6, 130, 8]
예제 #4
0
    def test_car_data(self):
        """Simple example using car data."""
        # Car data from example 'Naive Bayes Classifier example'
        # by Eric Meisner November 22, 2003
        # http://www.inf.u-szeged.hu/~ormandi/teaching/mi2/02-naiveBayes-example.pdf
        xcar = [
            ['Red', 'Sports', 'Domestic'],
            ['Red', 'Sports', 'Domestic'],
            ['Red', 'Sports', 'Domestic'],
            ['Yellow', 'Sports', 'Domestic'],
            ['Yellow', 'Sports', 'Imported'],
            ['Yellow', 'SUV', 'Imported'],
            ['Yellow', 'SUV', 'Imported'],
            ['Yellow', 'SUV', 'Domestic'],
            ['Red', 'SUV', 'Imported'],
            ['Red', 'Sports', 'Imported'],
            ]

        ycar = [
            'Yes',
            'No',
            'Yes',
            'No',
            'Yes',
            'No',
            'Yes',
            'No',
            'No',
            'Yes',
            ]

        carmodel = NaiveBayes.train(xcar, ycar)
        self.assertEqual("Yes", NaiveBayes.classify(carmodel, ['Red', 'Sports', 'Domestic']))
        self.assertEqual("No", NaiveBayes.classify(carmodel, ['Red', 'SUV', 'Domestic']))
예제 #5
0
 def test_train_function_with_priors(self):
     model = NaiveBayes.train(self.xs,
                              self.ys,
                              priors={
                                  'male': 0.1,
                                  'female': 0.9
                              })
     result = NaiveBayes.calculate(model, self.test, scale=True)
     expected = -692.0
     self.assertEqual(expected, round(result['male']))
예제 #6
0
 def test_train_function_with_priors(self):
     model = NaiveBayes.train(self.xs, self.ys, priors={'male': 0.1, 'female': 0.9})
     result = NaiveBayes.calculate(model, self.test, scale=True)
     expected = -692.0
     self.assertEqual(expected, round(result['male']))
예제 #7
0
	def bayes(self):
		xs = [[-53.0, -200.78], [117.0, -267.14], [57.0, -163.47], [16.0, -190.3], [11.0, -220.94], [85.0, -193.94], [16.0, -182.71], [15.0, -180.41], [-26.0, -181.73], [58.0, -259.87], [126.0, -414.53], [191.0, -249.57], [113.0, -265.28], [145.0, -312.99], [154.0, -213.83], [147.0, -380.85], [93.0, -291.13]]
		ys =[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0]
		model = NaiveBayes.train(xs,ys)
		return model