Skip to content

Commit 25f84dd

Browse files
committed
finished naive bayes gauss training
1 parent 9e59c07 commit 25f84dd

File tree

1 file changed

+10
-10
lines changed

1 file changed

+10
-10
lines changed

chapter08/nbGauss.m

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
function model = nbGauss(X, t)
2-
% Naive bayes classifier with indepenet Gauss
2+
% Naive bayes classifier with indepenet Gaussian, each dimension of data is
3+
% assumed from a 1d Gaussian distribution with independent mean and variance.
34
% Input:
45
% X: d x n data matrix
56
% t: 1 x n label (1~k)
@@ -9,13 +10,12 @@
910
n = size(X,2);
1011
k = max(t);
1112
E = sparse(t,1:n,1,k,n,n);
12-
nk = sum(E,2);
13-
a = nk/n;
14-
z = spdiags(1./nk,0,k,k);
15-
mu = X*E'*z;
16-
mm = bsxfun(@times,X*E',1./nk');
17-
sigma = sqdist(mu,X)*z;
13+
nk = full(sum(E,2));
14+
w = nk/n;
15+
R = E'*spdiags(1./nk,0,k,k);
16+
mu = X*R;
17+
var = X.^2*R-mu.^2;
1818

19-
model.mu = mu;
20-
model.sigma = sigma;
21-
model.a = a;
19+
model.mu = mu; % d x k means
20+
model.var = var; % d x k variances
21+
model.w = w;

0 commit comments

Comments
 (0)