a b/Ensemble Learning/AdaBoost/predAdaBoost.m
1
function [Label, Err] = predAdaBoost(abClassifier, X, Y)
2
N = size(X, 1);
3
4
if nargin < 3
5
    Y = [];
6
end
7
8
M = abClassifier.nWC;
9
LabM = zeros(N, M);
10
for i = 1:M
11
    LabM(:,i) = abClassifier.Weight(i)*predStump(X, abClassifier.WeakClas{i});
12
end
13
14
% 
15
Label = zeros(N, 1);
16
LabM = sum(LabM, 2);
17
idx = logical(LabM > 0);
18
Label(idx) = 1;
19
Label(~idx) = -1;
20
21
% 
22
if ~isempty(Y)
23
    Err = logical(Label ~= Y);
24
    Err = sum(Err)/N;
25
end
26
end