.mu and .su
1 次查看(过去 30 天)
显示 更早的评论
What do lines 41-42 mean?
% ICS5110 - Applied Machine Learning
% University of Malta
% Lecturer: Dr. George Azzopardi
% Date: 27 October, 2015
function accuracy = NaiveBayesIris(L2norm)
load('irisData.mat');
load('irisLabels.mat');
% Create a random permutation
if exist('randpermlist.mat')
load('randpermlist.mat');
else
randpermlist = randperm(numel(irisLabels));
save randpermlist randpermlist;
end
if L2norm
irisData = normr(irisData);
end
% Split data set into 50% training and 50% testing
ntraining = floor(0.5*numel(irisLabels));
trainingData = irisData(randpermlist(1:ntraining),:);
trainingLabels = irisLabels(randpermlist(1:ntraining));
testingData = irisData(randpermlist(ntraining+1:end),:);
testingLabels = irisLabels(randpermlist(ntraining+1:end));
% Prior class probabilities
uniqueClasses = unique(trainingLabels);
[classidx,classlbl] = grp2idx(trainingLabels);
h = hist(classidx,numel(uniqueClasses));
prior = h./sum(h);
% Likelihood
likelihood.mu = zeros(numel(uniqueClasses),size(trainingData,2)); _/% explanation required_
likelihood.su = zeros(numel(uniqueClasses),size(trthainingData,2)); /% explanation required
for i = 1:numel(uniqueClasses)
idx = find(classidx == i);
likelihood.mu(i,:) = mean(trainingData(idx,:));
likelihood.su(i,:) = std(trainingData(idx,:));
end
% Classification
for i = 1:size(testingData,1)
for j = 1:numel(uniqueClasses)
% Guassian Function Kernel
squaredDifference = (testingData(i,:) - likelihood.mu(j,:)).^2;
normFactor = 1./(sqrt(2*pi)*likelihood.su(j,:));
likelihood.prob = normFactor .* exp(-squaredDifference/(2.*(likelihood.su(j,:).^2)));
%posterior(j) = prod(likelihood.prob) * prior(j);
posterior(j) = sum(log(likelihood.prob)) + log(prior(j));
end
[mx,mxind] = max(posterior);
predictedLabel(i) = classlbl(mxind);
end
accuracy = sum(strcmp(predictedLabel',testingLabels))/numel(testingLabels);
0 个评论
采纳的回答
Walter Roberson
2015-11-23
2 个评论
Walter Roberson
2015-11-23
The mu are means of each class and the su are standard deviations of each class.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Classification 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!