[Python系列-8]:Python之人工智能 - 基本工具 -2- 随机数生成库

Posted 文火冰糖的硅基工坊

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[Python系列-8]:Python之人工智能 - 基本工具 -2- 随机数生成库相关的知识,希望对你有一定的参考价值。

作者主页(文火冰糖的硅基工坊):https://blog.csdn.net/HiWangWenBing

本文网址:https://mp.csdn.net/mp_blog/creation/editor/119254076


目录

1. 什么需要随机数生成库?

2. 单个随机数生成器:random库

2.1 random函数库概述

2.2 库

2.3 主页

2.3 使用方法

3. 随机数序列生成器:np.random

3.1 概述

3.2 库

3.3 主页

3.4 五种使用方法


1. 什么需要随机数生成库?

在深度学习模型中,神经网络的参数的初始化值,通常会被设定随机值,而不是全0值。

2. 单个随机数生成器:random库

2.1 random函数库概述

random() 方法返回随机生成的一个实数,它在[0,1)范围内。

2.2 库

import random

2.3 主页

https://www.runoob.com/python3/python3-func-number-random.html

2.3 使用方法

#!/usr/bin/python3
import random

# 第一个随机数
print ("random() : ", random.random())

# 第二个随机数
print ("random() : ", random.random())

以上实例运行后输出结果为:

random() :  0.09690599908884856
random() :  0.8732120512570916
print( random.randint(1,10) )        # 产生 1 到 10 的一个整数型随机数  
print( random.random() )             # 产生 0 到 1 之间的随机浮点数
print( random.uniform(1.1,5.4) )     # 产生  1.1 到 5.4 之间的随机浮点数,区间可以不是整数
print( random.choice('tomorrow') )   # 从序列中随机选取一个元素
print( random.randrange(1,100,2) )   # 生成从1到100的间隔为2的随机整数

3. 随机数序列生成器:np.random

3.1 概述

np.random用于生成一个包含无数个数据的随机数序列

由于np.random生成的不是一个数,而是随机数序列,不同的随机序列可以满足特定的概率分布

3.2 库

import numpy as np

3.3 主页

3.4 五种使用方法

(1) numpy.random.randint(low, high=None, size=None, dtype='I')

生成size个符合均匀分布整数序列,取值区间为[low, high),若没有输入参数high则取值区间为[0, low)

random.randint(8)
5

random.randint(8, size=1)
array([1])

random.randint(8, size=(2,2,3))
array([[[4, 7, 0],
        [1, 4, 1]],

       [[2, 2, 5],
        [7, 6, 4]]])
      
random.randint(8, size=(2,2,3), dtype='int64')
array([[[5, 5, 6],
        [2, 7, 2]],

       [[2, 7, 6],
        [4, 7, 7]]], dtype=int64)

(1) numpy.random.uniform(low=0.0, high=1.0, size=None)

生成size个符合均匀分布浮点数序列,取值范围为[low, high),默认取值范围为[0, 1.0)

random.uniform()
0.3999807403689315

random.uniform(size=1)
array([0.55950578])

random.uniform(5, 6)
5.293682668235986

random.uniform(5, 6, size=(2,3))
array([[5.82416021, 5.68916836, 5.89708586],
       [5.63843125, 5.22963754, 5.4319899 ]])

(3)numpy.random.random(size=None)

生成size个符合均匀分布小数序列,范围在[0.0, 1.0)之间的小数

random.random(5)
array([0.94128141, 0.98725499, 0.48435957, 0.90948135, 0.40570882])

random.random()
0.49761416226728084

相同用法:

numpy.random.random_sample

numpy.random.ranf

numpy.random.sample (抽取不重复)

(4)numpy.random.rand(d0, d1, ..., dn)

生成一个符合均匀分布(d0, d1, ..., dn)维小数序列,数组的元素取自[0, 1),若没有参数输入,则生成0维数据。

random.rand()
0.4378166124207712

random.rand(1)
array([0.69845956])

random.rand(3,2)
array([[0.15725424, 0.45786148],
       [0.63133098, 0.81789056],
       [0.40032941, 0.19108526]])

random.rand(3,2,1)
array([[[0.00404447],
        [0.3837963 ]],

       [[0.32518355],
        [0.82482599]],

       [[0.79603205],
        [0.19087375]]])

(5)numpy.random.random_integers(low, high=None, size=None)

生成size个整数,取值区间为[low, high], 若没有输入参数high则取值区间为[1, low],注意这里左右都是闭区间

random.random_integers(5)
1

random.random_integers(5, size=1)
array([2])

random.random_integers(4, 5, size=(2,2))
array([[5, 4],
       [4, 4]])

作者主页(文火冰糖的硅基工坊):https://blog.csdn.net/HiWangWenBing

本文网址:https://mp.csdn.net/mp_blog/creation/editor/119254076

以上是关于[Python系列-8]:Python之人工智能 - 基本工具 -2- 随机数生成库的主要内容,如果未能解决你的问题,请参考以下文章

[Python系列-7]:Python之人工智能 - 基本工具 -1- Time库

人工智能必备之Python3.8.1-安装

[Python系列-9]:Python之人工智能 - 基本工具 -3- 函数可视化工具matplotlib

[Python系列-6]:Python之人工智能 - 基本语法-3-程序循环控制语句:for...in,while

[Python系列-22]:Python之人工智能 - 基本工具 - 6- 绘制二元函数的三维曲面图

[Python系列-10]:Python之人工智能 - 基本工具 -4- 数组与矩阵数学工具Numpy