前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Python深度学习之路】产生随机数

【Python深度学习之路】产生随机数

作者头像
天道Vax的时间宝藏
发布2022-04-02 13:10:10
9890
发布2022-04-02 13:10:10
举报

随机数的生成

1.设置种子

计算机是根据被称为“种子(seed)”的数据来生成随机数的。 所谓种子,是指在生成随机数的过程中所使用的初始值,如果种子的值固定不变,生成的随机数序列也是不变的。通过使用相同的随机数序列,在同样的条件下,即使是使用了随机数得到的计算结果也是可重现的。 如果不对种子进行设置,计算机就会使用当前的时间作为种子的初始值,因此每次执行代码都会有输出不同的随机数。 可以通过将种子(整数)传递给 numpy.random.seed() 对种子的数值进行设置。

编程实现:

  1. 设置种子/不设置种子的前后变化比较
代码语言:javascript
复制
import numpy as np

#确认不进行初始设置时产生的随机数是否一致
#分别在X、Y中产生五个随机数
X = np.random.randn(5)
Y = np.random.randn(5)
# 对X、Y的值进行输出
print("X:",X)
print("Y:",Y)
在这里插入图片描述
在这里插入图片描述

可以通过设置种子(整数)传递给np.random.seed()对其数值进行设置。

代码语言:javascript
复制
# 对种子进行设置
np.random.seed(0)
# 将随机数序列带入变量中
x = np.random.randn(5)
# 将传入相同的种子值进行初始化设置
np.random.seed(0)
# 再次创建随机数序列并将其带入其他的变量中
y = np.random.randn(5)
# 对x、y的值进行输出,并确认是否一致
print("x:",x)
print("y:",y)
在这里插入图片描述
在这里插入图片描述

2.生成服从正态分布的随机数

对使用np.random.randn生成的随机数进行绘制后,得到的直方图与被称为正态分布的公式的曲线图形状相近。 如果将整数传递给np.random.randn(),就可以返回服从正态分布的随机数传递的数值的数量。

编程实现:

生成10000个服从正态分布的随机数,并将其带入变量x中

将整数传递给np.random.randn(),就可以返回服从正态分布的随机数传递的数值的数量。

代码语言:javascript
复制
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
# 将种子的值设置为0
np.random.seed(0)
# 生成10000个服从正态分布的随机数,并将他们带入变量x中
x = np.random.randn(10000)
#可视化
plt.hist(x,bins='auto')
plt.show()
/
/

3.生成服从二项分布的随机数

使用numpy.random.binomial()可以返回某次尝试的结果,无论其结果是成功还是失败。例如,抛硬币时得到的结果只可能是正面或者反面。 此外,无论结果是成功还是失败,其概率都是0.5,如果将整数n和大于0小于1的实数p传递给numpy.random.binomial()。程序将对成功率p进行n次实验,并在最后对成功的次数进行返回,如果将“size=整数值”传递给第三个参数,程序将返回所指定数量的n次尝试的成功次数。

程序实现

对在成功概率为0.5的条件下尝试100次得到的成功次数进行10000次的求解,并将结果带入nums中,即计算nums的成功次数及其成功率的平均值。

如果将整数n和大于0小于1的实数p传递给numpy.random.binomial()。程序将对成功率p进行n次实验,并在最后对成功的次数进行返回,如果将“size=整数值”传递给第三个参数,程序将返回所指定数量的n次尝试的成功次数。

代码语言:javascript
复制
import numpy as np
# 将种子值设置为0
np.random.seed(0)
# 对在成功概率为0.5的条件下尝试100次得到的成功次数进行10000次的求解
# 结果存入nums变量
nums = np.random.binomial(100, 0.5, size = 10000)
# 输出成功率的平均值
print(nums.mean()/100)
在这里插入图片描述
在这里插入图片描述

4.列表数据的随机选择

将列表型数据x与整数值n传递给numpy.random.choice(),可以将列表型数据中随机选择n个元素组成新的列表并返回。

编程实现:

在列表x中随机选择5个元素,并将结果带入变量y中

代码语言:javascript
复制
import numpy as np

x = ['Apple','Orange','Pineapple','Kiwifruit','Strawberry']
# 将种子值设置为0
np.random.seed(0)
# 对列表x中随机选择五个元素,并将结果存入y
y = np.random.choice(x,5)
# 输出y
print(y)
在这里插入图片描述
在这里插入图片描述
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 随机数的生成
    • 1.设置种子
      • 编程实现:
    • 2.生成服从正态分布的随机数
      • 编程实现:
    • 3.生成服从二项分布的随机数
      • 程序实现
    • 4.列表数据的随机选择
      • 编程实现:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档