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,毕竟常用一些。

  • 相关阅读:
    HTTPS之acme.sh申请证书
    GoAccess日志分析工具
    KVM之CPU虚拟化
    自动化运维之PSSH
    Hadoop+HBase 集群搭建
    SSH + Google Authenticator 安全加固
    查看数据的类型(python)
    在word中,替换多个词语。正则表达式中 [] {} 是可以连用的(python)
    方差分析的前提,与检验,以及球形检验
    清屏处理(汇编)
  • 原文地址:https://www.cnblogs.com/sthinker/p/6775675.html
Copyright © 2011-2022 走看看