繁体   English   中英

如何以给定的概率从矩阵中得到 select 点?

[英]How to select points from matrix with given probability?

我有一个numpy.ndarray points代表一组坐标点:

[[0 0]
 [0 1]
 [0 2]
 [1 0]
 [1 1]
 [1 2]
 [2 0]
 [2 1]
 [2 2]]

我想得到这个点的一个子集some_points ,其中每个点都是以概率prob独立获取的。 我怎样才能只使用numpy来做到这一点?

PS 例如,如果prob=0.5 some_points将包含大约一半的原始点。

例如,您可以创建一个包含来自均匀分布的 n 个样本的向量,其中 n 是点数,并将它们与您想要的概率进行比较。 对于所有小于你取对应点的概率的样本。 在代码中

import numpy as np
prob = 0.5
some_points = points[np.random.rand(points.shape[0]) < prob, :]
n = points.size
some_points = points[np.random.rand(n * n) < p]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM