numpy入门2:随机抽样

随机抽样
摘要由CSDN通过智能技术生成

numpy.seed()

numpy.random.seed(seed=None) 

用于指定随机数生成时所用算法开始的整数值,如果使用相同的seed()值,则每次生成的随机数都相同

如果不设置这个值,则系统根据时间来自己选择这个值,此时每次生成的随机数因时间差异而不同

在对数据进行预处理时,经常加入新的操作或改变处理策略,此时如果伴随着随机操作,最好还是指定唯一的随机种子.

避免由于随机的差异对结果产生影响。

影响范围

随机数种子对后面的结果一直有影响。

后面是指在同一个cell里面。如果不在同一个cell里面,np.random.seed()对其他随机函数没有束缚力。

【例如】

  • 每一次的执行结果一样(在同一个cell内)
import numpy as np
np.random.seed(0)
np.random.randint(4)
  • 每一次的执行结果不一样(分开两个cell)
import numpy as np
np.random.seed(0)
np.random.randint(4)

离散型随机变量

二项分布

  1. 定义:二项分布可以用于只有一次实验只有两种结果,各结果对应的概率相等的多次实验的概率问题。
  2. 二项分布概率函数的数学表示
    在这里插入图片描述
  3. 代码
numpy.random.binomial(n, p, size=None)
  • size:采样次数(做实验的次数)
  • n:做了n重伯努利试验(有多少个个体来做实验)
  • p:成功的概率

【例如】
野外正在进行9(n=9)口石油勘探井的发掘工作,每一口井能够开发出油的概率是0.1(p=0.1)。请问,最终所有的勘探井都勘探失败的概率?

numpy.random.binomial(n, p, size=None)
import numpy as np
import matplotlib.pyplot as plt
from scipy import stats
np.random.seed(20200605)
n = 9
p = 0.1
size = 50000
#x是实验5000次结果的一个元组
x = np.random.binomial(n, p, size)
print(np.sum(x == 0)/size)
print(np.sum(x == 1)/size)
print(np.sum(x == 2)/size)
print(np.sum(x == 3)/size)
print(np.sum(x == 4)/size)
print(np.sum(x == 5)/size)
print(np.sum(x == 6)/size)
print(np.sum(x == 7)/size)
print(np.sum(x == 8)/size)
print(np.sum(x == 9)/size)
#0.3897
#0.38502
#0.17206
#0.04484
#0.00744
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值