zoukankan      html  css  js  c++  java
  • numpy常用函数之randn

    numpy中有一些常用的用来产生随机数的函数,randn就是其中一个,randn函数位于numpy.random中,函数原型如下:

    numpy.random.randn(d0, d1, ..., dn)

    这个函数的作用就是从标准正态分布中返回一个或多个样本值。什么是标准正态分布,大哥,你别吓我,上过高中吗?标准正态分布俗称高斯分布,正态分布是大自然中最常见的分布,标准正态分布就是期望为0,方差为1的正态分布。

    如果没有参数,则返回一个值,如果有参数,则返回(d0, d1, …, dn)个值,这些值都是从标准正态分布中随机取样得到的。

    d0, d1, …, dn都应该是整数,是浮点数也没关系,系统会自动把浮点数的整数部分截取出来。

    参数

    • d0, d1, …, dn:应该为正整数,表示维度。

    返回值

    • Z:ndarray或者float。

    如果想要从非标准正态分布中产生随机样本,咋办?比如下面这个正态分布:

    N(mu,sigma^2)

    其实很简单,就是简单的加减乘除,如下所示:

    sigma * np.random.randn(...) + mu

    看几个例子吧:

    np.random.randn()

    返回:

    -0.8405297****8702

    再比如:

    2.5 * np.random.randn(2, 4) + 3

    返回:

    array([[ 4.128****53,  1.764****44 ,  2.732****92,  2.90839231],
           [ 0.174****86,  4.92026887,  1.574****66, -0.4305991 ]])

    这个函数与numpy.random.standard_normal函数非常相似,我都不知道为啥要设置两个功能重叠的函数,但是调用方式不一样:

    numpy.random.standard_normal(size=None)

    size参数就是一个整数或者一个整数的元组,表示维度,看看下面的例子:

    np.random.standard_normal(8000)

    或者:

    np.random.standard_normal(size=(3, 4, 2))

    想用哪个自己选吧,不过建议还是使用randn,毕竟常用一些。

  • 相关阅读:
    Promise 对象
    [转] LVM分区在线扩容
    [转] 打开 CMD 时自动执行命令
    [转] FFmpeg常用基本命令
    systemd 之 journalctl
    systemd 之 systemctl
    关于用户权限的加强与理解(上)
    [转] 测试环境下将centos6.8升级到centos7的操作记录
    [搞机] 双网卡做数据均衡负载
    [转] 网络基础知识1:集线器,网桥,交换机
  • 原文地址:https://www.cnblogs.com/sthinker/p/6775675.html
Copyright © 2011-2022 走看看