[db7908]: / Ensemble Learning / AdaBoost / predAdaBoost.m

Download this file

27 lines (22 with data), 427 Bytes

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