task 7 随机抽样

task 7 随机抽样

numpy.random模块里有一些常用概率分布的抽样函数,比如二项分布、正态分布、泊松分布

设定随机种子

  • numpy.random.seed()如果不设置,则系统根据时间来自己选择这个值

二项分布

  • numpy.random.binomial(n, p, size=None)
    • 抽样函数,返回采样值
    • size表示采样次数
  • scipy.stats.binom.rvs(n, p, size)
    • 同上,返回一个numpy.ndarray
  • scipy.stats.binom.pmf(x, n, p)
    • 概率密度函数,相当于计算x的对应的概率
  • scipy.stats.binom.stats(n, p, loc=0, moments='mv')
    • 计算指定参数分布的期望和方差

泊松分布

  • numpy.random.poisson(lam=1, size=None)

    • 抽样函数,指定参数和数量返回抽样值,lam表示事件发生的速率
  • scipy.stats.poisson.pmf(x, lam)

    • 概率密度函数

超几何分布

N个里面有M个次品,从N个里抽取n个,n个里面有次品个数k的分布,参数为N,M,n
p ( k , M , n , N ) = C M k C N − M n − k C N M p(k,M,n,N)=\frac{C_M^kC_{N-M}^{n-k}}{C_N^M} p(k,M,n,N)=CNMCMkCNMnk

  • numpy.random.hypergeometric(ngood, nbad, nsample, size=None)
  • scipy.stats.hypergeom.pmf(k, M, n, N)
  • 概率密度函数

均匀分布

  • numpy.random.uniform(low, high, size)
  • numpy.random.rand(0, d1, ..., dn)
    • Random values from a uniform distribution over [0, 1) in a given shape.
  • numpy.random.randint(low, high=None, size=None, dtype='l')
    • Return random integers from low (inclusive) to high (exclusive).

正态分布

  • numpy.random.randn(d0, d1, ..., dn)
    • Return a sample (or samples) from the “standard normal” distribution.
  • numpy.random.normal(loc=0.0, scale=1.0, size=None)
    • Draw random samples from a normal (Gaussian) distribution.

指数分布

  • numpy.random.exponential(scale=1, size=None)
    • Draw samples from an exponential distribution.
  • scipy.stats.expon.cdf(x, scale)
    • 累积概率密度函数

随机从序列中获取元素

  • numpy.random.choice(a, size=None, replace=True, p=None)
    • Generates a random sample from a given 1-D array.

对数据集进行洗牌

  • numpy.random.shuffle(x)

    • Modify a sequence in-place by shuffling its contents.
    • x进行重排序,如果x为多维数组,只沿第 0 轴洗牌,直接改变原来的数组x,输出为None。
  • numpy.random.permutation(x)

    • Randomly permute a sequence, or return a permuted range.
    • permutation()函数的作用与shuffle()函数相同,可以打乱第0轴的数据,但是它不会改变原来的数组x

猜你喜欢

转载自blog.csdn.net/weixin_41545602/article/details/110102078