jweinst1
1/13/2016 - 9:29 AM

naivbayes.py

naivbayes.py

#bayes classifer, feeds in dictionary objects.
from decimal import *
getcontext().prec = 5

class NBC (object):
	
	def __init__(self, *keys):
		self.keys = keys
		self.data = {elem:[] for elem in self.keys}
	def probofkey(self, key, outcome):
		return Decimal(len([elem for elem in self.data[key] if elem == outcome]))/Decimal(len(self.data[key]))
	def condprob(self, keyd, outcomed, keyk, outcomek):
		count = 0
		for i in range(len(self.data[keyd])):
			if self.data[keyd][i] == outcomed and self.data[keyk][i] == outcomek:
				count += 1
		return Decimal(count)/Decimal(len(self.data[keyd]))