mcstackedclassify.m
来自「一个matlab的工具包,里面包括一些分类器 例如 KNN KMEAN SVM 」· M 代码 · 共 30 行
M
30 行
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 + =
减小字号Ctrl + -
显示快捷键?