1 %>@ingroup conversion maths
3 %>@brief Calculates per-
class probabilities by counting the number of occurences for each class
5 %> @param classes Zero-based
class vector. It may be a column or row vector, doesn't matter.
6 %> @param no_different =(
auto) Number of classes. This can be correctly inferred only
if the maximum possible
class is present within @c classes.
8 %> @return <code>[probs]</code> or <code>[probs, numbers_of_occurences]</code>
9 function varargout =
get_probs(classes, no_different)
11 if ~exist(
'no_different',
'var')
12 no_different = max(classes)+1; %> number of classes
15 % Transposes if needed
16 [nr, nc] = size(classes);
21 sorted = sort(classes);
22 poss = find([1, diff(sorted), 1]);
23 no_occurences = diff(poss);
24 occur = zeros(1, no_different);
26 occur(sorted(poss(1:end-1))+1) = no_occurences;
29 probs = occur/(numel(classes)+realmin);
33 varargout = {probs, occur};
function get_probs(in classes, in no_different)