zoukankan      html  css  js  c++  java
  • numpy中的np.random.mtrand.RandomState

    numpy.random.RandomState()函数用法
    可以通过numpy工具包生成模拟数据集,使用RandomState获得随机数生成器

    from numpy.random import RandomState

    rdm = RandomState(1)
    注意:这里1为随机数种子,只要随机数种子seed相同,产生的随机数系列就相同

    a = rdm.uniform(1,2,(3,4))
    print(a)
    输出结果为:

    [[1.417022 1.72032449 1.00011437 1.30233257]
    [1.14675589 1.09233859 1.18626021 1.34556073]
    [1.39676747 1.53881673 1.41919451 1.6852195 ]]
    产生一个3行4列的数组,其中每个元素都是在[1,2]区间内均匀分布的随机数

    b = rdm.rand(1,2)
    print(b)
    输出为:

    [[0.417022 0.72032449]]
    注意:

    这里的rand()里面的值若为0,就表示会随机产生一个[0,1)之间的随机数,并不是一个一维数组,且0可以包括,1不包含。当rand()里面数为1时,产生一个一维的一个数字数组。rand(2)返回一个一维的2个数字数组.

    numpy里random总结
    1) np.random.rand()
    返回[0,1)之间的数,rand()返回一个数字,rand(1)返回一个一维的一个数字数组,rand(2)返回一个一维的2个数字数组,以此类推。rand(3,4)返回3行4列的二维数组。 
    numpy.random.rand(d0,d1,…,dn)

    rand函数根据给定维度生成[0,1)之间的数据,包含0,不包含1
    dn表格每个维度
    返回值为指定维度的array
    例如:

    import numpy as np

    x1 = np.random.rand(1)
    print(x1) #输出:[0.79853516]
    x2 = np.random.rand(2)
    print(x2) #输出:[0.3372049 0.94177767]
    x3 = np.random.rand(3)
    print(x3) #输出:[0.54632154 0.63376574 0.51523793]
    x4 = np.random.rand(2,3)
    print(x4) #输出:[[0.66432625 0.3004349 0.79992446]
    [0.47604401 0.16257688 0.58597909]]
     2)np.random.randn()
    numpy.random.randn(d0,d1,…,dn)

    用法同np.random.rand()一样,只是服从正态分布。用法同上。

    标准正态分布又称为u分布,是以0为均值、以1为标准差的正态分布,记为N(0,1)。

    randn函数返回一个或一组样本,具有标准正态分布。
    dn表格每个维度
    返回值为指定维度的array
    3)np.random.randint()
    通过low来指定起点,通过high来指定终点,通过size参数来指定数组的维度,通过dtype来确定类型。

    numpy.random.randint(low, high=None, size=None, dtype=’l’)

    返回随机整数,范围区间为[low,high),包含low,不包含high
    参数:low为最小值,high为最大值,size为数组维度大小,dtype为数据类型,默认的数据类型是np.int
    high没有填写时,默认生成随机数的范围是[0,low)
    y1 = np.random.randint(1,size=4)
    print(y1) #返回[0,1)之间的整数,只有0,所有输出为:[0 0 0 0]

    y2 = np.random.randint(-2,3,size=(2,3))
    print(y2)
    #输出为[-2,3)之间的整数,输出为:[0 0 0 0]
    [[-1 -2 1]
    [ 1 -1 2]]
     4)np.random.random(size=None)
    通过size参数来指定维数 
    生成[0,1)之间的浮点数

    z1 = np.random.random()
    print(z1) #输出:0.5496674667621851
    z2 = np.random.random(1)
    print(z2) #输出:[0.03831152]
    z3 = np.random.random(2)
    print(z3) #输出:[0.67638162 0.72296213]
    z4 = np.random.random((2,3))
    print(z4) #输出:[[0.459631 0.85138382 0.24601661]
    [0.80658167 0.10955964 0.13577635]]
     

    原文:https://blog.csdn.net/jieshaoxiansen/article/details/82255191

  • 相关阅读:
    Windows批处理方式实现MySQL定期自动备份多个数据库
    MySQL数据库中库、表名、字段的大小写问题
    使用modbus4j通过串口解析modbus协议(java)
    mybatis —— 动态sql之if条件判断各种使用方式
    Mysql 获取表的comment 字段
    [转载]如何判断数据库,表或字段是否存在
    设计模式目录
    图片上传及访问
    实现第一个API
    ListView 源码解析
  • 原文地址:https://www.cnblogs.com/cheflone/p/13158520.html
Copyright © 2011-2022 走看看