📄 generatecodematrix.m
字号:
% GenerateCodeMatrix: generate the coding matrix for multi-class classficiation
%
% Parameters:
% type: type of coding matricies, 0: one-against-all, 1: pairwise, 2:
% ECOC-15, 3: ECOC-63, 4: Random
% num_class: number of classes
% class_set: set of class labels such as [1,-1], the first one is the
% positive label
function coding_matrix = GenerateCodeMatrix(type, num_class, class_set)
switch (type)
case 0
% one-against-all matrix
coding_matrix = 2 * diag(ones(1, num_class)) - ones(num_class, num_class);
case 1
coding_matrix = zeros(num_class, (num_class * (num_class - 1) / 2));
index = 1;
for i = 1:num_class-1
for j = i+1:num_class
coding_matrix(i, index) = 1;
coding_matrix(j, index) = -1;
index = index + 1;
end;
end;
case 2
[Pg, Pm, CS, H, T] = BCHPOLY(15, 5);
coding_matrix = H(1:num_class, :);
coding_matrix = 2 * coding_matrix - 1; % convert the element 0 to -1
case 3
[Pg, Pm, CS, H, T] = BCHPOLY(63, 31);
coding_matrix = H(1:num_class, 1:15);
coding_matrix = 2 * coding_matrix - 1; % convert the element 0 to -1
case 4
coding_matrix = [ ...
1 1 1 1 -1 1 -1 -1 1 -1 -1 -1 1 -1 -1 1 -1 -1 -1 -1; ...
1 -1 -1 -1 -1 1 1 -1 1 1 -1 -1 1 1 -1 1 -1 1 1 -1; ...
1 -1 1 1 -1 1 1 -1 1 1 -1 1 1 1 1 -1 1 -1 -1 1; ...
-1 1 1 1 -1 -1 -1 1 1 -1 1 1 -1 1 -1 1 -1 -1 -1 1; ...
1 -1 1 1 -1 -1 1 -1 1 -1 1 1 1 1 -1 -1 -1 1 -1 -1; ...
-1 -1 1 -1 1 -1 -1 1 -1 -1 1 1 1 -1 1 1 1 -1 -1 -1; ...
-1 -1 -1 -1 -1 -1 1 -1 -1 1 -1 -1 1 1 1 -1 1 1 -1 -1; ...
1 1 -1 -1 -1 1 -1 1 1 1 -1 -1 1 1 -1 1 -1 1 1 -1; ...
1 -1 1 -1 1 -1 1 1 1 -1 -1 -1 1 -1 1 -1 1 1 -1 -1; ...
1 1 -1 -1 -1 1 1 -1 1 1 1 -1 1 -1 -1 1 -1 -1 1 -1; ...
-1 1 1 -1 1 -1 1 -1 -1 1 1 1 -1 1 1 1 1 1 -1 -1; ...
1 1 -1 -1 -1 1 -1 1 1 1 1 -1 -1 -1 1 -1 -1 -1 -1 1; ...
1 1 -1 -1 1 -1 1 -1 -1 1 1 1 1 1 -1 -1 -1 -1 1 -1; ...
-1 1 1 1 1 1 1 -1 1 -1 1 1 -1 -1 1 1 -1 1 -1 -1; ...
-1 1 -1 -1 1 -1 -1 -1 1 -1 -1 1 1 -1 1 1 1 -1 1 1; ...
1 1 -1 1 1 1 -1 -1 1 1 1 -1 1 1 -1 -1 -1 1 -1 1; ...
1 1 1 1 -1 -1 -1 1 1 -1 1 -1 1 1 1 1 1 -1 1 -1; ...
-1 1 -1 1 -1 1 1 1 1 -1 -1 1 -1 -1 -1 -1 -1 -1 -1 -1; ...
1 1 -1 -1 -1 -1 1 -1 -1 1 -1 -1 -1 1 1 1 -1 1 -1 1; ...
-1 1 -1 -1 1 1 -1 -1 -1 1 -1 1 -1 1 1 1 1 1 1 1; ...
-1 -1 -1 -1 1 -1 -1 -1 -1 -1 -1 -1 -1 1 -1 1 1 1 -1 1; ...
1 1 -1 1 1 -1 1 -1 1 -1 -1 -1 1 1 1 1 1 1 1 1; ...
-1 -1 1 -1 -1 -1 -1 1 -1 1 -1 1 -1 1 1 -1 1 -1 -1 1; ...
1 1 -1 -1 -1 1 1 1 1 1 1 1 1 1 -1 1 -1 -1 -1 -1; ...
-1 1 -1 1 -1 1 1 -1 1 -1 -1 -1 1 -1 1 1 -1 -1 1 1; ...
-1 1 1 1 -1 -1 1 -1 1 -1 1 1 1 1 -1 -1 -1 1 -1 -1; ...
-1 -1 1 1 1 -1 1 1 1 1 1 1 -1 1 1 -1 1 -1 1 -1; ...
1 -1 1 -1 1 -1 1 1 -1 1 1 -1 -1 -1 -1 1 1 1 1 -1; ...
-1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 -1 -1 1 1 1 -1 1 1; ...
-1 1 -1 -1 -1 -1 -1 1 1 1 1 -1 -1 1 1 1 1 1 -1 1; ...
1 1 1 -1 -1 1 1 -1 1 1 1 -1 1 -1 1 1 -1 1 1 -1];
coding_matrix = coding_matrix(:, 1:num_class);
coding_matrix = coding_matrix';
end;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -