IRootLab
An Open-Source MATLAB toolbox for vibrational biospectroscopy
grag_classes_vote.m
Go to the documentation of this file.
1 %> @file
2 %> @ingroup groupgroup
3 
4 %> @brief Group Aggregator - Classes - Vote
5 %>
6 %> @c X property will have the ratio between votes for the assigned class and number of elements in group
8  methods
9  function o = grag_classes_vote(o)
10  o.classtitle = 'Vote';
11  end;
12  end;
13 
14  methods(Access=protected)
15  function o = process_group(o, idxs)
16  classes = o.indata.classes(idxs);
17  maxclass = max(classes);
18  if maxclass < 0
19  o.outdata.X(o.no_out, 1) = 0;
20  o.outdata.classes(o.no_out) = -1;
21  else
22  poll = zeros(1, maxclass+1);
23  if isempty(poll)
24  o.outdata.X(o.no_out, 1) = 0;
25  o.outdata.classes(o.no_out) = -1;
26  else
27  for i = 1:numel(classes)
28  if classes(i) > -1
29  poll(classes(i)+1) = poll(classes(i)+1)+1;
30  end;
31  end;
32  [val, idx] = max(poll);
33  support = val/numel(classes);
34  o.outdata.X(o.no_out, 1) = support;
35  if support >= o.decisionthreshold
36  o.outdata.classes(o.no_out) = idx-1;
37  else
38  o.outdata.classes(o.no_out) = -1;
39  end;
40  end;
41  end;
42  end;
43 
44  function o = dim_outdata(o, ng)
45  o.outdata.classes(ng, 1) = 0;
46  o.outdata.X(ng, 1) = 0;
47  end;
48  end;
49 end
50 
51 
52 
53 
54 
55 
56 
57 
58 
59 
60 
61 
62 
63 
64 
65 
66 
67 
Group Aggregator - Classes - Vote.
Group Aggregator - classes.
Definition: grag_classes.m:5