📄 mcstackedclassify.m
字号:
function [Y_compute, Y_prob] = MCStackedClassify(classifier, para, X_train, Y_train, X_test, Y_test, num_class)
class_set = GetClassSet(Y_train);
p = str2num(char(ParseParameter(para, {'-ScaleNum'}, {'9'})));
scale_num = p(1);
fprintf('Subblock stacked classification, block number: %d\n', scale_num);
[X_train, Y_train] = AdjustMatrix(X_train, Y_train, scale_num);
[X_test, Y_test_new] = AdjustMatrix(X_test, Y_test, scale_num);
Y_compute = Classify(classifier, X_train, Y_train, X_test, Y_test_new, num_class);
Y_stat = zeros(size(Y_test, 1), num_class);
for j=1:size(Y_test, 1)
for k=1:scale_num
Y_stat(j, Y_compute((j-1)*scale_num+k)) = Y_stat(j, Y_compute((j-1)*scale_num+k)) + 1;
end;
end;
[junk, Y_compute] = max(Y_stat, [], 2);
Y_prob = Y_compute;
function [X_mod, Y_mod] = AdjustMatrix(X, Y, scale_num)
[num_data, num_feature] = size(X);
X_mod = reshape(X', num_feature / scale_num, num_data * scale_num)';
for i = 1:num_data * scale_num
index = double(int16((i - 1) / scale_num));
Y_mod(i) = Y(index + 1);
end;
Y_mod = Y_mod';
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -