📄 mcbagging.m
字号:
function [Y_compute, Y_prob] = MCBagging(classifier, para, X_train, Y_train, X_test, Y_test, num_class)
rand('state', 40);
class_set = GetClassSet(Y_train);
p = str2num(char(ParseParameter(para, {'-Iter';'-SampleRatio'}, {'10';'1'})));
Num_Sample = p(1);
Sample_Ratio = p(2);
num_data = length(Y_train);
Dist = ones(length(Y_train), 1) ./ length(Y_train);
X_Sample = X_train;
Y_Sample = Y_train;
Y_compute_train_matrix = zeros(length(Y_train), num_class);
Y_compute_test_matrix = zeros(length(Y_test), num_class);
for iter = 1:Num_Sample
fprintf('Sample %d............\n', iter);
%%%%%%% Sample data and retrain the model
Y_Sample = [];
while (length(unique(Y_Sample)) < num_class),
num_samples = ceil(length(Y_train) * Sample_Ratio);
Sample_Idx = SampleDistribution(Dist, num_samples);
X_Sample = X_train(Sample_Idx, :);
Y_Sample = Y_train(Sample_Idx);
end;
%%%%%%% Compute the predictions
[Y_compute_test junk] = Classify(classifier, X_Sample, Y_Sample, X_test, Y_test, num_class);
for i = 1:num_class,
ind = find(Y_compute_test == class_set(i));
Y_compute_test_matrix(ind, i) = Y_compute_test_matrix(ind, i) + 1/Num_Sample;
end;
[Y_prob Index] = max(Y_compute_test_matrix, [], 2);
Y_compute = class_set(Index);
CalculatePerformance(Y_compute, Y_test, class_set, 0);
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -