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 |