1. np.random.seed()的介绍
在Python中,np.random.seed()函数是用来设置随机数生成器的种子。随机数生成器是根据一定的算法生成的伪随机数序列。通过设置种子,可以固定生成的随机数序列,保证每次生成的随机数是相同的。
2. np.random.seed()的语法
np.random.seed(seed)
seed为种子值,是一个整数。
3. np.random.seed()的作用
np.random.seed()函数的作用是为了保证随机数的可重现性。在某些场景下,需要生成可重复的随机数序列,比如在科学实验中需要对结果进行复现,或者在机器学习中需要设置随机初始化的权重参数。
4. np.random.seed()的示例
下面通过几个示例来详细介绍np.random.seed()函数的使用。
4.1 示例1:生成固定的随机数序列
设置种子值为1,生成10个范围在[0, 1)之间的随机数。
import numpy as np
np.random.seed(1)
random_array = np.random.random(10)
print(random_array)
输出结果:
[ 0.417022 0.720324 0.000114 0.302333 0.146756 0.092339 0.18626 0.345561 0.396767 0.538817]
由于设置了种子值为1,因此每次运行程序,输出结果都会是相同的。如果不设置种子值,则每次运行程序时,输出结果会不一样。
4.2 示例2:生成正态分布的随机数
设置种子值为2,生成服从正态分布的随机数。
np.random.seed(2)
normal_array = np.random.normal(0, 1, 10)
print(normal_array)
输出结果:
[-0.416758 -0.056267 -2.136196 1.640271 -1.793436 -0.841747 0.502881 -1.245288 -1.057952 -0.909008]
由于设置了种子值为2,因此每次运行程序,输出结果都会是相同的。如果不设置种子值,则每次运行程序时,输出结果会不一样。
5. 注意事项
np.random.seed()函数只是设置了随机数生成器的种子,并不是真正的随机数。因此,生成的随机数并不是真正的随机数,而是伪随机数。
另外,要注意np.random.seed()应该尽量在程序的开头调用,这样可以确保所有使用随机数的部分都受到种子值的影响。
6. 总结
np.random.seed()函数是用来设置随机数生成器的种子,保证每次生成的随机数是相同的,从而实现随机数的可重现性。在科学实验和机器学习中,这个函数非常有用。