Numpy中 random.rand() 和random.normal() 的用法

本文介绍了Numpy库中random.rand()和random.normal()的使用方法。random.rand()生成0到1之间的随机数,可指定输出维度;random.normal()则用于生成符合正态分布的数据,包括均值、标准差和输出形状的设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

random.rand的用法
#直接举例
random.rand(‘参数’)的功能主要是产生0-1之间的随机数,括号内的参数可以指定输出结果的维度

import numpy as np
pre_embedding = np.random.rand(3)   #产生三个0-1之间的随机数
pre_embedding_1 = np.random.rand(3,3)  #生成一个二维数组
pre_embedding_2 = np.random.rand(3,3,3) #生成一个三维数组
print(pre_embedding)
print('***************************************')
print(pre_embedding_1)
print('***************************************')
print(pre_embedding_2)

输出结果:

[0.79361659 0.54862139 0.53871834]
***************************************
[[0.39056948 0.2079128  0.49439483]
 [0.80964947 0.38093295 0.29418133]
 [0.42483178 0.9474542  0.30737835]]
***************************************
[[[0.05451471 0.30638544 0.90205104]
  [0.83569155 0.86030104 0.43600045]
  [0.80787798 0.34127962 0.67618464]]

 [[0.42327551 0.25691566 0.99237186]
  [0.90936001 0.97076353 0.05800197]
  [0.34290858 0.81758333 0.89198008]]

 [[0.27974274 0.82173925 0.75286244]
  [0.87690549 0.58582206 0.44959526]
  [0.97130889 0.87764664 0.52238763]]]

random.normal 用法

Numpy中numpy.random.normal(loc, scale, size) 用于随机生成一组指定维度/shape的正态分布的数据。

参数含义:

loc:float
概率分布的均值,对应着整个分布的中心;
scale:float
概率分布的标准差,对应于分布的宽度,scale值越大表示正态分布曲线越宽,越矮,scale值越小表示正态分布曲线越窄,越高
size:int or tuple of ints
输出的shape,默认为None,只输出一个值

举例

import numpy as np
x_data = np.linspace(-1,1,3)[:,np.newaxis]	#--->维度
print(x_data)
noise = np.random.normal(0,0.05,x_data.shape)	
print(noise)
y_data = np.square(x_data) - 0.5 + noise	
print(y_data)

输出

[[-1.]
 [ 0.]
 [ 1.]]
[[-0.03699895]
 [-0.02344254]
 [ 0.01614915]]
[[ 0.46300105]
 [-0.52344254]
 [ 0.51614915]]

如结果所示,x_data的shape为3×1,即为noise的shape

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值