我有一個列表y
和一個numpy矩陣X
。它們對應即。 y[i]
與X[i]
有關。 y
由1或0組成。我希望隨機選擇a
來自X
的數據實例,其中對應的y
值等於1,其中a
是常數。從矩陣中隨機選擇正實例
0
A
回答
0
這應該做的工作
import numpy as np
array = [1,2,3,4]
number = np.random.choice(array, replace = False)
print(number)
idx = np.where(array==number)[0]
print(idx)
0
我假設你要挑整排,其中Ÿ是你的樣品中1。您可以繪製的一個行的隨機抽樣,其中相應Ÿ值是1這樣的:
import numpy as np
from itertools import compress
from random import sample
a = 2
y = [0, 1, 1, 0, 1, 0, 1, 0, 1, 1]
X = np.random.rand(10, 3)
picked = sample(list(compress(X, y)), a)
itertools.compress用於創建僅與行,其中相應列表y爲1.然後使用樣本函數從該列表中繪製大小爲a的隨機樣本。
0
你能做到這樣的:
import numpy as np
X=np.array([[1,2,3],[4,5,6],[7,8,9],[10,11,12],[13,14,15]])
y=np.array([1,0,1,1,0])
a=2
mat=X[y==1]
rows = np.random.choice(len(mat), size=a,replace=False)
mat=mat[rows,:]
print(mat)
[[ 7 8 9]
[10 11 12]]
在上面的代碼中,選擇mat=X[y==1]
所有行,其中的y
對應的值是1,然後np.random.choice(len(mat), size=a,replace=False)
隨機選擇a
不同的行。
相關問題
- 1. 隨機選擇矩陣列
- 2. 隨機選擇矩陣索引一次
- 3. 從R中的矩陣中提取最大值(隨機選擇)
- 4. 指定從2d矩陣中隨機選擇和移除行
- 5. 從邏輯矩陣中選擇隨機'1'元素
- 6. 從numpy陣列中隨機選擇
- 7. 從子陣列中隨機選擇
- 8. 從陣列蟒隨機選擇項
- 9. Eigen3矩陣隨機
- 10. Postgres從行中選擇3個隨機模型實例?
- 11. 隨機產生正交3×3矩陣
- 12. 如何從MATLAB中的幾個矩陣中選擇隨機樣本?
- 13. 從WHILE中隨機選擇
- 14. 從JSON中隨機選擇
- 15. 從多維numpy陣列中選擇隨機陣列替換
- 16. 如何從R中的矩陣重複地隨機選擇一行樣本?
- 17. 從二進制numpy矩陣的每一行中選擇隨機的一個?
- 18. 如何從八度矩陣的列中隨機選擇n個數字
- 19. 自動或隨機散點圖矩陣選擇d3.js
- 20. 隨機選擇一個二進制矩陣 - Matlab
- 21. 回覆:隨機矩陣選擇值,增加對循環(以R)
- 22. 從隨機矩陣生成樣本
- 23. 從隨機到不隨機選擇列
- 24. Python:矩陣上的隨機選擇,沒有選擇同一行上的數字
- 25. 生成隨機2x100矩陣
- 26. C - 矩陣,隨機數
- 27. 矩陣的半隨機化
- 28. 隨機進入矩陣
- 29. 隨機排列矩陣
- 30. 隨機二進制矩陣
如果您在問題中使用了相同的變量名稱,這將更容易看出這是否正確。例如,你可以用'y = [0,1,1,0,1,0]','X = np.array([10,11,12,13,14,15]'和'a = 4'。 –