用數據集替換隨機樣本的最佳方法是什麼?我使用316 * 34作爲我的數據集。我想分段數據到三個桶,但與替換。我是否應該使用randperm,因爲我需要確保索引完好無損,該索引可以方便地識別標籤數據。我是matlab新手,我看到有幾個隨機樣本方法,但他們看起來並不像我正在尋找什麼,奇怪的是認爲類似的東西在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)
假設隨機數連續兩輪絕不會放棄兩個零值。
不確定是否打算輸入「with replacement」而不是「without replacement」我在尋找「with replacement」 –
@ Null-Hypothesis:糟糕,我輸錯了。這當然是取代更換。 – Jonas