numpy random
np.random.seed()用法:
np.random.seed(5) print(np.random.permutation(np.array([i for i in range(9)]))) np.random.seed(5) print(np.random.permutation(np.array([i for i in range(9)]))) [2 4 8 7 1 0 5 6 3] [2 4 8 7 1 0 5 6 3] np.random.seed(5) print(np.random.permutation(np.array([i for i in range(9)]))) np.random.seed(5) print(np.random.permutation(np.array([i for i in range(10,19)]))) [2 4 8 7 1 0 5 6 3] [12 14 18 17 11 10 15 16 13]
np.random.choice()的用法:
import numpy as np # 参数意思分别 是从a 中以概率P,随机选择3个, p没有指定的时候相当于是一致的分布 a1 = np.random.choice(a=5, size=3, replace=False, p=None) print(a1) # 非一致的分布,会以多少的概率提出来 a2 = np.random.choice(a=5, size=3, replace=False, p=[0.2, 0.1, 0.3, 0.4, 0.0]) print(a2) # replacement 代表的意思是抽样之后还放不放回去,如果是False的话,那么出来的三个数都不一样,如果是 # True的话, 有可能会出现重复的,因为前面的抽的放回去了。
np.random.permutation()的用法:
随机排列一个序列,返回一个排列的序列
>>> np.random.permutation(10) array([1, 7, 4, 3, 0, 9, 2, 5, 8, 6]) >>> np.random.permutation([1, 4, 9, 12, 15]) array([15, 1, 9, 4, 12]) >>> arr = np.arange(9).reshape((3, 3)) >>> np.random.permutation(arr) array([[6, 7, 8], [0, 1, 2], [3, 4, 5]])
np.random.uniform(low=0.0, high=1.0, size=None):
从一个均匀分布[low,high)中随机采样,注意定义域是左闭右开,即包含low,不包含high.
np.random.normal(loc=0.0, scale=1.0, size=None):
正态分布
np.random.rand()
随即生成[0,1)之间的数。
np.random.randn()
- randn函数返回一个或一组样本,具有标准正态分布。