2014-01-19 29 views
0

如何从matlab中的数据集中随机选择一些数据?如何在matlab中随机选择公平数据

当我们使用randperm函数来选择数据时,它们是随机的和公平的?

+1

是的,我认为你没事。例如:'m = 6; Data = magic(m) shuffle = randperm(m);数据=数据(随机播放,:);'''''''''''''''''''' – Darkmoor

回答

0

任何使用均匀分布的东西都是“公平的”。因为输出应该是在特定范围内随机分布的。例如,rand在matlab中的函数。

1

正如您已经建议的那样,如果您不想重复,则可以使用randperm完成从n开始的一致随机选择的行的选择k

实施例:

dataSet = rand(1000,4); 
idx = randperm(size(dataSet,1),10) 
dataSet(idx,:) 
1

如果有统计工具箱,可以使用randsample

sample = randsample(data,k); 

在矢量data花费随机均匀采样k值,无需更换,从这些值中。参见上面的链接了解其他选项。

等效代码randperm

ind = randperm(numel(data)); 
sample = data(ind(1:k)); 

是,这些方法的执行提供了随机样本,是的,他们是公平。我认为“公平”是指“统一”:data的每个条目都以相同的概率选取。