'''
lecture27_naive_bayes_1d.py
Example one feature Naive Bayes with dog breed data
Oliver W. Layton
CS251: Data Analysis and Visualization
'''
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns

weight_samples = np.arange(1, 100, 1)

# Pugs parameters
prior = 0.5
mu_0 = 20
var_0 = 2/3
scale_0 = 0.49

# Labs parameters
mu_1 = 80
var_1 = 66.67
scale_1 = 0.049

pug_likeihood = scale_0 * np.exp(-np.square(weight_samples - mu_0) / (2*var_0))
pug_post = pug_likeihood * prior
pug_post = pug_post / np.sum(pug_post)

lab_likeihood = scale_1 * np.exp(-np.square(weight_samples - mu_1) / (2*var_1))
lab_post = lab_likeihood * prior
lab_post = lab_post / np.sum(lab_post)

plt.plot(pug_post, label='Pugs')
plt.plot(lab_post, label='Labs')
plt.xlabel('Weight (lbs)')
plt.ylabel('Probability of classifying')
plt.legend()
plt.show()

