设置随机数种子:
np.random.seed(seed=None)
指定种子后,每次生成的随机数相同。否则系统根据时间设置种子,每次随机数因时间不同而不同。
离散型
以下函数中,n为样本空间,p为一次实验成功的概率,size为实验次数
二项分布
返回一维数组
np.random.binomial(n, p, size=None)
或导入scipy包
from scipy import stats
stats.binom.rvs(n, p, size=size)
求概率?
求均值与方差,moments参数中 m为期望,v为方差
stats.binom.stats(n, p, loc=0, moments='mv')
泊松分布
返回一维数组
np.random.poisson(lam=1.0, size=None)
或导入scipy包
from scipy import stats
stats.poisson.rvs(lam,size=size)
求概率
stats.poisson.pmf(k, mu)
求均值、方差?
超几何分布
返回一维数组
numpy.random.hypergeometric(ngood, nbad, nsample, size=None)
或导入scipy包
from scipy import stats
stats.hypergeom.rvs(M, n, N, loc=0, size=1, random_state=None)
计算k次实验成功的概率
stats.hypergeom.pmf(k, M, n, N, loc)
均值与方差:
stats.hypergeom.stats(M, n, N, loc=0, moments='mv')
连续型
f(x)为概率密度
均匀分布
np.random.uniform(low=0.0, high=1.0, size=None)
分布包含low,不包含high,即范围为:[low, high)
[0, 1)之间的均匀分布的小数:(d0,d1,…,dn代表数据维度)
np.random.rand(d0, d1, ..., dn)
[low, high)之间的均匀分布的整数:(若high为默认值None,则范围为[0, low))
np.random.randint(low, high=None, size=None, dtype='l')
正态分布
f(x) = 1 / (2 PI)1/2 * exp(-x2 / 2)
标准正态分布:(均值0,标准差1)
np.random.randn(d0, d1, ..., dn)
f(x) = 1 / ((2PI)1/2 sigma) * exp(-(x-mu)2 / (2 mu2)
指定参数:(loc:mu均值,scale:sigma标准差)
np.random.normal(loc=0.0, scale=1.0, size=None)
与sigma * np.random.randn(...) + mu