从数据集中替换随机样本的最佳方法是什么?我使用 316 * 34 作为我的数据集。我想将数据分成三个桶,但要替换。我是否应该使用 randperm,因为我需要确保索引完好无损,因为该索引可以方便地识别标签数据。我是 matlab 新手,我看到有几个随机样本方法,但它们看起来不像我正在寻找的那样,奇怪的是认为 matlab 中不存在类似的东西,但我做了以下操作:
我的问题是当我这样做时,row_idx = round(rand(1)*316)
有时我会得到零,这会导致两个问题
- 我应该怎么做才能避免zeor?
用替换进行随机样本的最佳方法是什么。
shuffle_X = X(randperm(size(X,1)),:); lengthOf_shuffle_X = length(shuffle_X) number_of_rows_per_bucket = round(lengthOf_shuffle_X / 3) bucket_cell = cell(3,1) bag_matrix = [] for k = 1:length(bucket_cell) for i = 1:number_of_rows_per_bucket row_idx = round(rand(1)*316) bag_matrix(i,:) = shuffle_X(row_idx,:) end bucket_cell{k} = bag_matrix end
我可以做到以下几点:
if row_idx == 0
row_idx = round(rand(1)*316)
假设随机数不会在连续两轮中给出两个零值。