MCPcopy Index your code
hub / github.com/lazyprogrammer/machine_learning_examples / GaussianNB

Class GaussianNB

unsupervised_class2/gaussian_nb.py:18–42  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

16
17
18class GaussianNB(object):
19 def fit(self, X, Y, smoothing=1e-2):
20 self.gaussians = dict()
21 self.priors = dict()
22 labels = set(Y)
23 for c in labels:
24 current_x = X[Y == c]
25 self.gaussians[c] = {
26 'mean': current_x.mean(axis=0),
27 'var': current_x.var(axis=0) + smoothing,
28 }
29 self.priors[c] = float(len(Y[Y == c])) / len(Y)
30
31 def score(self, X, Y):
32 P = self.predict(X)
33 return np.mean(P == Y)
34
35 def predict(self, X):
36 N, D = X.shape
37 K = len(self.gaussians)
38 P = np.zeros((N, K))
39 for c, g in iteritems(self.gaussians):
40 mean, var = g['mean'], g['var']
41 P[:,c] = mvn.logpdf(X, mean=mean, cov=var) + np.log(self.priors[c])
42 return np.argmax(P, axis=1)
43
44
45# get data

Callers 1

gaussian_nb.pyFile · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected