0
A
回答
1
我假設你的數據是隨機排序的?所以,現在你想m*3
樣本與每個類的m
樣品(其中)
data = [ones(n,1); ones(n,1)*2; ones(n,1)*3];
data = data(randperm(numel(data)));
:所以這樣的事情(我只用3類,1
,2
和3
爲簡單起見)。最自然的方式將大約爲每個類的精確m
樣本,只是挑m*3
樣品均勻隨機不太嚴格:
idx = randperm(numel(data));
sample = data(numel(data))
請注意,如果您有統計工具箱可以用randsample
代替randperm
爲了這。
但是,如果你必須有每個樣本完全m
那麼這樣的事情應該這樣做。請注意我的目標是讓指數,而不是值我以爲是你越後是什麼:當你想回數據只是做
classes = unique(data);
k = numel(classes);
idx = false(m*3,1);
for class = 1:k
%// find the element numbers for each element of that class
idxForClass = find(data == classes(class));
%// Shuffle them randomly
idxForClassShuffled = idxForClass(randperm(numel(idxForClass))); %// or numel(n)
%// Pick the first m from the shuffled list
idx(idxForClassShuffelled(1:m)) = true;
end
現在
data(idx)
或更可能像data(idx,:)
,因爲你的data
可能不是一個向量。在這種情況下,您需要將我的代碼中的numel
更改爲或類似的東西
相關問題
- 1. MFCC採樣頻率
- 2. 採樣不同頻率的熊貓數據幀
- 3. 在Matlab中更改數據以關聯採樣頻率
- 4. 音頻採樣率時機
- 5. Nexmo音頻採樣率
- 6. 未知採樣頻率
- 7. Matlab採樣點頻率
- 8. 採樣頻率正弦波
- 9. Android Smartwatch採樣頻率
- 10. 用於音頻數據採樣率轉換的庫?
- 11. 如何精確採樣頻率爲60Hz的數據?
- 12. 確定視頻幀率和音頻採樣率與mediacodec
- 13. 音頻採樣率意味着什麼
- 14. 低通濾波器和採樣頻率
- 15. 音頻隊列轉換採樣率iOS
- 16. FFmpeg更改音頻採樣率
- 17. iPhone音頻錄製的採樣率
- 18. linux中的音頻流採樣率
- 19. iPhone音頻隊列採樣率問題
- 20. WIN32音頻採樣率轉換
- 21. 重新採樣熊貓的頻率列
- 22. AVAssetReader採樣率
- 23. 將音頻採樣字節數組更改爲頻率
- 24. 以不同採樣率繪製兩個函數
- 25. MATLAB - 混合不同採樣頻率的wav文件
- 26. 結合不同採樣率的熊貓數據幀
- 27. 幀率vs採樣率
- 28. 音頻採樣頻率依賴於頻道嗎?
- 29. iOS:44k音頻文件應以22k採樣率播放
- 30. 以可變採樣率對週期性數據進行平均
對不起,但是您真的想告訴我們如何在Matlab中對矢量進行二次採樣嗎?就像一個簡單的循環? – gilgamash
他們是否隨機混合?你確定只是隨機抽取6000個樣本而不是每個班級挑選一定數量的樣本更有意義嗎? – Dan
@丹,我認爲一致隨機更有意義。無論如何,這是一篇論文中的建議設置。我只是想重現結果。 – Dylan