这篇教程Python随机采样及概率分布(二)写得很实用,希望能帮到您。 前言: 之前的《Python中的随机采样和概率分布》我们介绍了Python中最简单的随机采样函数。接下来我们更进一步,来看看如何从一个概率分布中采样,我们以几个机器学习中最常用的概率分布为例。
1. 二项(binomial)/伯努利(Bernoulli)分布
1.1 概率质量函数(pmf)
二项分布P(X=x; n, p)可以表示进行独立重复试验n次,每次有两成功和失败可能结果(分别对应概率p和1−p),共成功x次的概率。
1.2 函数原型random.binomial(n, p, size=None) 参数: n : int or array_like of ints 对应分布函数中的参数 n,>=0,浮点数会被截断为整形。
p : float or array_like of floats 对应分布函数参数p, >=0并且<=1。
size : int or tuple of ints, optional 如果给定形状为(m,n,k),那么m×n×k个随机样本会从中抽取。默认为None,即返回一个一个标量随机样本。
返回: out : ndarray or scalar 从带参数的概率分布中采的随机样本,每个样本表示独立重复实验n次中成功的次数。
1.3 使用样例设进行独立重复实验10次,每次成功概率为0.5,采样样本表示总共的成功次数(相当于扔10次硬币,正面朝上的次数)。总共采20个样本。 |