文章目录

  • 前言
    • 使用numpy.random.seed()
    • 离散型随机变量
      • numpy如何实现对离散随机变量的抽样
    • 其它随机函数
  • 总结

前言

本文简单介绍NumPy如何产生符合某种特定分布随机变量的样本

使用numpy.random.seed()

  • numpy.random.seed(seed=None) Seed the generator 其使用目的是给随机数产生器提供一个seed,使随机的结果可以重复产生,但是这个方法是全局的即意味会影响整个numpy,目前推荐使用RandomState这个类来产生单个的实例。

离散型随机变量

numpy如何实现对离散随机变量的抽样

  • scipy.stats来产生离散型的随机变量,可以非常方便的获得其统计值例如mean和variance, 还可以求得PMF,PPF, CDF
    代码如下(示例):
# Initialize the random variable
import scipy.stats as st
X = st.bernoulli(0.25)
# array([0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1])
# You can also compute the mean and variance of a random variable:
X.mean(), X.var()
# (0.25, 0.1.75)
  • 可以用scipy.stats 产生的离散变量实例 或 numpy.random产生多个随机变量的实例(俗称抽样)
    代码如下(示例)以正态分布为例可以看到结果是一样的。
# Import norm, matplotlib.pyplot, and seaborn
import scipy.stats as st
import matplotlib.pyplot as plt
import seaborn as sns# use random variable from scipy.stats
X = st.norm(loc=0.5, scale=2.)
sample1 = X.rvs(size=1000, random_state=11)# or use numpy.random or numpy.RandomState
# so same seed could be applied
rng = np.random.RandomState(11)
sample2 = rng.randn(1000)fg, ax = plt.subplots(nrows=1, ncols=2, figsize=(15,6))
x = np.linspace(-6, 6, 100)ax[0].hist(sample1, bins=30, density=True)
ax[0].plot(x, X.pdf(x), lw=4)ax[1].hist(sample2, bins=30, density=True)

  • 方法适用于其他离散分布

其它随机函数

  • numpy.random.choice(a, size=None, replace=True, p=None) Generates a random sample from a given 1-D array. 注意replace=True 是缺省选项,并且在深度学习的样本不足情况下非常有用。
  • numpy.random.shuffle(x) Modify a sequence in-place by shuffling its contents. 所以需要 先对数据集进行洗牌操作
  • numpy.random.permutation(x)Randomly permute a sequence, or return a permuted range. 类似以上的操作。

总结

本文仅仅简单介绍了numpy.random的一些随机变量的抽样操作。

numpy的随机抽样相关推荐

  1. Numpy的随机抽样学习

    Numpy的随机抽样学习 什么是Numpy: NumPy是python数据科学计算的核心库,提供了高性能的多位数组对象及处理数组的工具. 使用以下语句导入Numpy库: import numpy as ...

  2. Numpy:随机抽样

    随机抽样 numpy.random 模块对 Python 内置的 random 进行了补充,增加了一些用于高效生成多种概率分布的样本值的函数,如正态分布.泊松分布等. numpy.random.see ...

  3. numpy下 随机抽样

    随机抽样 离散型随机变量 二项分布 泊松分布 超几何分布 连续型随机变量 均匀分布 正态分布 指数分布 其他随机函数 随机从序列中获取元素 对数据集进行洗牌操作 numpy.random模块可以用来生 ...

  4. [转载] python的numpy.random详细解析

    参考链接: Python中的numpy.float_power 随机抽样 (numpy.random) 简单的随机数据 rand(d0, d1, -, dn)  随机值 >>> np ...

  5. Python~NumPy模块一站式教程,稳稳拿捏(持续更新ing)

    一.Numpy模块 基础 1. 介绍 NumPy的核心是多维数组类numpy.ndarray,矩阵类numpy.matrix是多位数组类的派生类.以多位数组类为数据组织结构,Numpy提供了众多的数学 ...

  6. Python的random内置模块产生的随机数真的随机吗?

    先说结论:不止Python的random内置模块,还包括numpy的随机抽样子模块random,以及其他编程语言的随机数生成器,例如java.Math.Random()函数,所有这些随机数生成器生成的 ...

  7. Numpy入门教程:07. 随机抽样

    背景 什么是 NumPy 呢? NumPy 这个词来源于两个单词 – Numerical和Python.其是一个功能强大的 Python 库,可以帮助程序员轻松地进行数值计算,通常应用于以下场景: 执 ...

  8. 【Task02】Numpy组队学习—随机抽样

    [Task02]Numpy组队学习-随机抽样 文章目录 [Task02]Numpy组队学习-随机抽样 随机抽样 离散型随机变量 泊松分布 超几何分布 连续型随机变量 均匀分布 正态分布 指数分布 其他 ...

  9. python之Numpy随机抽样

    随机抽样 前言 一.随机模块 二.离散型随机变量 二项分布 计算期望和方差 泊松分布 超几何分布 三.连续型随机变量 均匀分布 四.正态分布 五.指数分布 其他随机函数 前言 numpy.random ...

  10. python随机抽样numpy_随机抽样 (`numpy.random`) | NumPy 中文

    # 随机抽样 (numpy.random) Numpy的随机数例程使用 BitGenerator 和 Generator 的组合来生成伪随机数以创建序列,并使用这些序列从不同的统计分布中进行采样: B ...

最新文章

  1. java构造方法的书写和注意事项(入门可看)
  2. centos make 升级_CentOS更改yum源与更新系统
  3. 高性能网站建设的14个原则
  4. 大四上学期的分数和分析感悟
  5. java 状态机_基于 RAFT 一致性算法的 Java 实现 SOFAJRaft
  6. 农行基于TFS工具的敏捷转型实践
  7. SQL Server 2005之PIVOT/UNPIVOT行列转换(转)
  8. LeetCode 76. 最小覆盖子串(滑动窗口)
  9. ERROR Request failed with status code 404 :at createError (node_modules\axios\lib\core\createError.
  10. Python+Django+SAE系列教程6-----本地配置Django
  11. 硬纪元AI峰会前瞻:线下大数据驱动下的新零售,目标是精准营销
  12. 123 Python程序中的线程操作-协程
  13. Linux下Python的安装以及注意事项
  14. Rust: 用于量化研究的尝试探讨
  15. windows驱动开发 DDK/WDK/WDM/WDF区别
  16. 输出数组元素(c语言)
  17. SQL中使用UNION ALL一定比OR效率高吗?
  18. 一个U盘安装多个iso引导
  19. 流程图各个形状代表的含义
  20. 软件项目开发与管理(赢得值分析参考例题)

热门文章

  1. Google Cloud API设计指南
  2. js 获取字符长度(英文1,中文2)
  3. 【三维GIS】Google Map/Google Earth三维模型提取
  4. 2022全球量子通信产业发展报告
  5. Score UVA - 1585
  6. visio导出图片模糊的解决方案
  7. 微信群二维码被动加了100人了还怎么扫码进入?
  8. 企业需要关注的零信任 24 问
  9. 关于pr(Premiere)的记录
  10. oracle检查表失效,PL/SQL联系oracle成功可以sql解决的办法是检查表的名称无法显示...