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]
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"]))
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]
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']))
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']))
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']))
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