综述
机器学习部分需要用到非重复的采样,记录一下
代码
function [s,indexs] = sampling(R, n)
% 选择抽样,R为记录集合,n为抽取的样本数
% 编写函数时用的测试数据
N = length(R);
t = 0; % 处理过的记录总数
m = 0; % 已选得的记录数
while 1
U = rand;
if (N-t)*U < n-m
m = m + 1;
s(m) = R(t+1);
indexs(m) = (t+1);
% 若已抽取到足够的记录,则算法终止
if m >= n, break, end
end
t = t + 1;
end
下面是不产生index的
function s = sampling(R, n)
% 选择抽样,R为记录集合,n为抽取的样本数
% 编写函数时用的测试数据
N = length(R);
t = 0; % 处理过的记录总数
m = 0; % 已选得的记录数
while 1
U = rand;
if (N-t)*U < n-m
m = m + 1;
s(m) = R(t+1);
% 若已抽取到足够的记录,则算法终止
if m >= n, break, end
end
t = t + 1;
end