mirror of
https://github.com/Estom/notes.git
synced 2026-02-03 18:44:19 +08:00
机器学习
This commit is contained in:
703
Python/numpy/20随机数.md
Normal file
703
Python/numpy/20随机数.md
Normal file
@@ -0,0 +1,703 @@
|
||||
# 使用numpy产生随机数
|
||||
numpy中的random模块包含了很多方法可以用来产生随机数,这篇文章将对random中的一些常用方法做一个总结。
|
||||
|
||||
## 1、numpy.random.rand(d0, d1, ..., dn)
|
||||
* 作用:产生一个给定形状的数组(其实应该是ndarray对象或者是一个单值),数组中的值服从[0, 1)之间的均匀分布。
|
||||
* 参数:d0, d, ..., dn : int,可选。如果没有参数则返回一个float型的随机数,该随机数服从[0, 1)之间的均匀分布。
|
||||
* 返回值:ndarray对象或者一个float型的值
|
||||
例子:
|
||||
```py
|
||||
# [0, 1)之间均匀分布的随机数,3行2列
|
||||
a = np.random.rand(3, 2)
|
||||
print(a)
|
||||
# 不提供形状
|
||||
b = np.random.rand()
|
||||
print(b)
|
||||
输出:
|
||||
|
||||
[[0.26054323 0.28184468]
|
||||
[0.7783674 0.71733674]
|
||||
[0.90302256 0.49303252]]
|
||||
0.6022098740124009
|
||||
```
|
||||
## 2、numpy.random.uniform(low=0.0, high=1.0, size=None)
|
||||
* 作用:返回一个在区间[low, high)中均匀分布的数组,size指定形状。
|
||||
* 参数:
|
||||
* low, high:float型或者float型的类数组对象。指定抽样区间为[low, high),low的默认值为0.0,hign的默认值为1.0
|
||||
* size:int型或int型元组。指定形状,如果不提供size,则返回一个服从该分布的随机数。
|
||||
例子:
|
||||
```py
|
||||
# 在[1, 10)之间均匀抽样,数组形状为3行2列
|
||||
a = np.random.uniform(1, 10, (3, 2))
|
||||
print(a)
|
||||
# 不提供size
|
||||
b = np.random.uniform(1, 10)
|
||||
print(b)
|
||||
输出:
|
||||
|
||||
[[5.16545387 6.3769087 ]
|
||||
[9.98964899 7.88833885]
|
||||
[1.37173855 4.19855075]]
|
||||
3.899250175275188
|
||||
```
|
||||
## 3、numpy.random.randn(d0, d1, ..., dn)
|
||||
* 作用:返回一个指定形状的数组,数组中的值服从标准正态分布(均值为0,方差为1)。
|
||||
* 参数:d0, d, ..., dn : int,可选。如果没有参数,则返回一个服从标准正态分布的float型随机数。
|
||||
* 返回值:ndarray对象或者float
|
||||
例子:
|
||||
```py
|
||||
# 3行2列
|
||||
a = np.random.randn(3, 2)
|
||||
print(a)
|
||||
# 不提供形状
|
||||
b = np.random.randn()
|
||||
print(b)
|
||||
输出:
|
||||
|
||||
[[-1.46605527 0.35434705]
|
||||
[ 0.43408199 0.02689309]
|
||||
[ 0.48041554 1.62665755]]
|
||||
-0.6291254375915813
|
||||
```
|
||||
|
||||
## 4、numpy.random.normal(loc=0.0, scale=1.0, size=None)
|
||||
* 作用:返回一个由size指定形状的数组,数组中的值服从 μ=loc,σ=scale 的正态分布。
|
||||
* 参数:
|
||||
* loc : float型或者float型的类数组对象,指定均值 μ
|
||||
* scale : float型或者float型的类数组对象,指定标准差 σ
|
||||
* size : int型或者int型的元组,指定了数组的形状。如果不提供size,且loc和scale为标量(不是类数组对象),则返回一个服从该分布的随机数。
|
||||
* 输出:ndarray对象或者一个标量
|
||||
例子:
|
||||
```py
|
||||
# 标准正态分布,3行2列
|
||||
a = np.random.normal(0, 1, (3, 2))
|
||||
print(a)
|
||||
# 均值为1,标准差为3
|
||||
b = np.random.normal(1, 3)
|
||||
print(b)
|
||||
输出:
|
||||
|
||||
[[ 0.34912031 -0.08757564]
|
||||
[-0.99753101 0.37441719]
|
||||
[ 2.68072286 -1.03663963]]
|
||||
5.770831320998463
|
||||
```
|
||||
## 5、numpy.random.randint(low, high=None, size=None, dtype='l')
|
||||
* 作用:返回一个在区间[low, high)中离散均匀抽样的数组,size指定形状,dtype指定数据类型。
|
||||
* 参数:
|
||||
* low, high:int型,指定抽样区间[low, high)
|
||||
* size:int型或int型的元组,指定形状
|
||||
* dypte:可选参数,指定数据类型,比如int,int64等,默认是np.int
|
||||
* 返回值:如果指定了size,则返回一个int型的ndarray对象,否则返回一个服从该分布的int型随机数。
|
||||
例子:
|
||||
```py
|
||||
# 在[1, 10)之间离散均匀抽样,数组形状为3行2列
|
||||
a = np.random.randint(1, 10, (3, 2))
|
||||
print(a)
|
||||
# 不提供size
|
||||
b = np.random.randint(1, 10)
|
||||
print(b)
|
||||
# 指定dtype
|
||||
c = np.random.randint(1, 10, dtype=np.int64)
|
||||
print(c)
|
||||
type(c)
|
||||
输出:
|
||||
|
||||
[[3 1]
|
||||
[3 3]
|
||||
[5 8]]
|
||||
6
|
||||
2
|
||||
numpy.int64
|
||||
```
|
||||
|
||||
## 6、numpy.random.random(size=None)
|
||||
* 作用:返回从[0, 1)之间均匀抽样的数组,size指定形状。
|
||||
* 参数:
|
||||
* size:int型或int型的元组,如果不提供则返回一个服从该分布的随机数
|
||||
* 返回值:float型或者float型的ndarray对象
|
||||
* 例子:
|
||||
```py
|
||||
# [0, 1)之间的均匀抽样,3行2列
|
||||
a = np.random.random((3, 2))
|
||||
print(a)
|
||||
# 不指定size
|
||||
b = np.random.random()
|
||||
print(b)
|
||||
输出:
|
||||
|
||||
[[0.80136714 0.63129059]
|
||||
[0.04556679 0.04433006]
|
||||
[0.09643599 0.53312761]]
|
||||
0.32828505898057136
|
||||
```
|
||||
|
||||
# numpy API
|
||||
|
||||
## 简单的随机数据
|
||||
|
||||
<div id="cnblogs_post_body" class="blogpost-body">
|
||||
<h1>随机抽样 (<tt class="xref py py-mod docutils literal"><span class="pre">numpy.random</span></tt>)</h1>
|
||||
<div id="simple-random-data" class="section">
|
||||
<h2><a name="t1"></a>简单的随机数据</h2>
|
||||
<table class="longtable docutils" border="1"><colgroup><col width="40%"><col width="60%"></colgroup>
|
||||
<tbody valign="top">
|
||||
<tr class="row-odd">
|
||||
<td>
|
||||
<p><a class="reference internal" title="numpy.random.rand" href="http://docs.scipy.org/doc/numpy/reference/generated/numpy.random.rand.html#numpy.random.rand" target="_blank"><tt class="xref py py-obj docutils literal"><span class="pre">rand</span></tt></a>(d0, d1, ..., dn)</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>随机值</p>
|
||||
<div class="cnblogs_code">
|
||||
<pre>>>> np.random.rand(3,2)
|
||||
array([[ 0.14022471, 0.96360618], #random
|
||||
[ 0.37601032, 0.25528411], #random
|
||||
[ 0.49313049, 0.94909878]]) #random</pre>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td>
|
||||
<p><a class="reference internal" title="numpy.random.randn" href="http://docs.scipy.org/doc/numpy/reference/generated/numpy.random.randn.html#numpy.random.randn" target="_blank"><tt class="xref py py-obj docutils literal"><span class="pre">randn</span></tt></a>(d0, d1, ..., dn)</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>返回一个样本,具有标准正态分布。</p>
|
||||
<p class="rubric">Notes</p>
|
||||
<p>For random samples from <img class="math" src="http://docs.scipy.org/doc/numpy/_images/math/93af1f49bf6bbf05f549f49609becdb5f7039538.png" alt="技术分享">, use:</p>
|
||||
<div class="cnblogs_code">
|
||||
<pre>sigma * np.random.randn(...) + mu</pre>
|
||||
</div>
|
||||
<p class="rubric">Examples</p>
|
||||
<div class="cnblogs_code">
|
||||
<pre>>>> np.random.randn()
|
||||
2.1923875335537315 #random</pre>
|
||||
</div>
|
||||
<p>Two-by-four array of samples from N(3, 6.25):</p>
|
||||
<div class="cnblogs_code">
|
||||
<pre>>>> 2.5 * np.random.randn(2, 4) + 3
|
||||
array([[-4.49401501, 4.00950034, -1.81814867, 7.29718677], #random
|
||||
[ 0.39924804, 4.68456316, 4.99394529, 4.84057254]]) #random</pre>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<td>
|
||||
<p><a class="reference internal" title="numpy.random.randint" href="http://docs.scipy.org/doc/numpy/reference/generated/numpy.random.randint.html#numpy.random.randint" target="_blank"><tt class="xref py py-obj docutils literal"><span class="pre">randint</span></tt></a>(low[, high, size])</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>返回随机的整数,位于半开区间 [low, high)。</p>
|
||||
<div class="cnblogs_code">
|
||||
<pre>>>> np.random.randint(2, size=10)
|
||||
array([1, 0, 0, 0, 1, 1, 0, 0, 1, 0])
|
||||
>>> np.random.randint(1, size=10)
|
||||
array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0])</pre>
|
||||
</div>
|
||||
<p>Generate a 2 x 4 array of ints between 0 and 4, inclusive:</p>
|
||||
<div class="cnblogs_code">
|
||||
<pre>>>> np.random.randint(5, size=(2, 4))
|
||||
array([[4, 0, 2, 1],
|
||||
[3, 2, 2, 0]])</pre>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td>
|
||||
<p><a class="reference internal" title="numpy.random.random_integers" href="http://docs.scipy.org/doc/numpy/reference/generated/numpy.random.random_integers.html#numpy.random.random_integers" target="_blank"><tt class="xref py py-obj docutils literal"><span class="pre">random_integers</span></tt></a>(low[, high, size])</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>返回随机的整数,位于闭区间 [low, high]。</p>
|
||||
<p class="rubric">Notes</p>
|
||||
<p>To sample from N evenly spaced floating-point numbers between a and b, use:</p>
|
||||
<div class="cnblogs_code">
|
||||
<pre>a + (b - a) * (np.random.random_integers(N) - 1) / (N - 1.)</pre>
|
||||
</div>
|
||||
<p>Examples</p>
|
||||
<div class="cnblogs_code"><div class="cnblogs_code_toolbar"><span class="cnblogs_code_copy"><a href="javascript:void(0);" onclick="copyCnblogsCode(this)" title="复制代码"><img src="//common.cnblogs.com/images/copycode.gif" alt="复制代码"></a></span></div>
|
||||
<pre>>>> np.random.random_integers(5)
|
||||
4
|
||||
>>> type(np.random.random_integers(5))
|
||||
<type ‘int‘>
|
||||
>>> np.random.random_integers(5, size=(3.,2.))
|
||||
array([[5, 4],
|
||||
[3, 3],
|
||||
[4, 5]])</pre>
|
||||
<div class="cnblogs_code_toolbar"><span class="cnblogs_code_copy"><a href="javascript:void(0);" onclick="copyCnblogsCode(this)" title="复制代码"><img src="//common.cnblogs.com/images/copycode.gif" alt="复制代码"></a></span></div></div>
|
||||
<p>Choose five random numbers from the set of five evenly-spaced numbers between 0 and 2.5, inclusive (<em>i.e.</em>, from the set <img class="math" src="http://docs.scipy.org/doc/numpy/_images/math/260812782a8a4f35a929d637a38520175045eaa2.png" alt="技术分享">):</p>
|
||||
<div class="cnblogs_code">
|
||||
<pre>>>> 2.5 * (np.random.random_integers(5, size=(5,)) - 1) / 4.
|
||||
array([ 0.625, 1.25 , 0.625, 0.625, 2.5 ])</pre>
|
||||
</div>
|
||||
<p>Roll two six sided dice 1000 times and sum the results:</p>
|
||||
<div class="cnblogs_code">
|
||||
<pre>>>> d1 = np.random.random_integers(1, 6, 1000)
|
||||
>>> d2 = np.random.random_integers(1, 6, 1000)
|
||||
>>> dsums = d1 + d2</pre>
|
||||
</div>
|
||||
<p>Display results as a histogram:</p>
|
||||
<div class="cnblogs_code">
|
||||
<pre>>>> import matplotlib.pyplot as plt
|
||||
>>> count, bins, ignored = plt.hist(dsums, 11, normed=True)
|
||||
>>> plt.show()</pre>
|
||||
</div>
|
||||
<p> </p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<td>
|
||||
<p><a class="reference internal" title="numpy.random.random_sample" href="http://docs.scipy.org/doc/numpy/reference/generated/numpy.random.random_sample.html#numpy.random.random_sample" target="_blank"><tt class="xref py py-obj docutils literal"><span class="pre">random_sample</span></tt></a>([size])</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>返回随机的浮点数,在半开区间 [0.0, 1.0)。</p>
|
||||
<p>To sample <img class="math" src="http://docs.scipy.org/doc/numpy/_images/math/e9a05a99f961e8f094b3869fcddd366857d7b0d9.png" alt="技术分享"> multiply the output of <a class="reference internal" title="numpy.random.random_sample" href="http://docs.scipy.org/doc/numpy/reference/generated/numpy.random.random_sample.html#numpy.random.random_sample" target="_blank"><tt class="xref py py-obj docutils literal"><span class="pre">random_sample</span></tt></a> by <em class="xref py py-obj">(b-a)</em> and add <em class="xref py py-obj">a</em>:</p>
|
||||
<div class="cnblogs_code">
|
||||
<pre>(b - a) * random_sample() + a</pre>
|
||||
</div>
|
||||
<p>Examples</p>
|
||||
<div class="cnblogs_code">
|
||||
<pre>>>> np.random.random_sample()
|
||||
0.47108547995356098
|
||||
>>> type(np.random.random_sample())
|
||||
<type ‘float‘>
|
||||
>>> np.random.random_sample((5,))
|
||||
array([ 0.30220482, 0.86820401, 0.1654503 , 0.11659149, 0.54323428])</pre>
|
||||
</div>
|
||||
<p>Three-by-two array of random numbers from [-5, 0):</p>
|
||||
<div class="cnblogs_code">
|
||||
<pre>>>> 5 * np.random.random_sample((3, 2)) - 5
|
||||
array([[-3.99149989, -0.52338984],
|
||||
[-2.99091858, -0.79479508],
|
||||
[-1.23204345, -1.75224494]])</pre>
|
||||
</div>
|
||||
<p> </p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td>
|
||||
<p><a class="reference internal" title="numpy.random.random" href="http://docs.scipy.org/doc/numpy/reference/generated/numpy.random.random.html#numpy.random.random" target="_blank"><tt class="xref py py-obj docutils literal"><span class="pre">random</span></tt></a>([size])</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>返回随机的浮点数,在半开区间 [0.0, 1.0)。</p>
|
||||
<p>(官网例子与random_sample完全一样)</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<td>
|
||||
<p><a class="reference internal" title="numpy.random.ranf" href="http://docs.scipy.org/doc/numpy/reference/generated/numpy.random.ranf.html#numpy.random.ranf" target="_blank"><tt class="xref py py-obj docutils literal"><span class="pre">ranf</span></tt></a>([size])</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>返回随机的浮点数,在半开区间 [0.0, 1.0)。</p>
|
||||
<p>(官网例子与random_sample完全一样)</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td>
|
||||
<p><a class="reference internal" title="numpy.random.sample" href="http://docs.scipy.org/doc/numpy/reference/generated/numpy.random.sample.html#numpy.random.sample" target="_blank"><tt class="xref py py-obj docutils literal"><span class="pre">sample</span></tt></a>([size])</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>返回随机的浮点数,在半开区间 [0.0, 1.0)。</p>
|
||||
<p>(官网例子与random_sample完全一样)</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<td>
|
||||
<p><a class="reference internal" title="numpy.random.choice" href="http://docs.scipy.org/doc/numpy/reference/generated/numpy.random.choice.html#numpy.random.choice" target="_blank"><tt class="xref py py-obj docutils literal"><span class="pre">choice</span></tt></a>(a[, size, replace, p])</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>生成一个随机样本,从一个给定的一维数组</p>
|
||||
<p class="rubric">Examples</p>
|
||||
<p>Generate a uniform random sample from np.arange(5) of size 3:</p>
|
||||
<div class="cnblogs_code">
|
||||
<pre>>>> np.random.choice(5, 3)
|
||||
array([0, 3, 4])
|
||||
>>> #This is equivalent to np.random.randint(0,5,3)</pre>
|
||||
</div>
|
||||
<p>Generate a non-uniform random sample from np.arange(5) of size 3:</p>
|
||||
<div class="cnblogs_code">
|
||||
<pre>>>> np.random.choice(5, 3, p=[0.1, 0, 0.3, 0.6, 0])
|
||||
array([3, 3, 0])</pre>
|
||||
</div>
|
||||
<p>Generate a uniform random sample from np.arange(5) of size 3 without replacement:</p>
|
||||
<div class="cnblogs_code">
|
||||
<pre>>>> np.random.choice(5, 3, replace=False)
|
||||
array([3,1,0])
|
||||
>>> #This is equivalent to np.random.permutation(np.arange(5))[:3]</pre>
|
||||
</div>
|
||||
<p>Generate a non-uniform random sample from np.arange(5) of size 3 without replacement:</p>
|
||||
<div class="cnblogs_code">
|
||||
<pre>>>> np.random.choice(5, 3, replace=False, p=[0.1, 0, 0.3, 0.6, 0])
|
||||
array([2, 3, 0])</pre>
|
||||
</div>
|
||||
<p>Any of the above can be repeated with an arbitrary array-like instead of just integers. For instance:</p>
|
||||
<div class="cnblogs_code">
|
||||
<pre>>>> aa_milne_arr = [‘pooh‘, ‘rabbit‘, ‘piglet‘, ‘Christopher‘]
|
||||
>>> np.random.choice(aa_milne_arr, 5, p=[0.5, 0.1, 0.1, 0.3])
|
||||
array([‘pooh‘, ‘pooh‘, ‘pooh‘, ‘Christopher‘, ‘piglet‘],
|
||||
dtype=‘|S11‘)</pre>
|
||||
</div>
|
||||
<p> </p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td>
|
||||
<p><a class="reference internal" title="numpy.random.bytes" href="http://docs.scipy.org/doc/numpy/reference/generated/numpy.random.bytes.html#numpy.random.bytes" target="_blank"><tt class="xref py py-obj docutils literal"><span class="pre">bytes</span></tt></a>(length)</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>返回随机字节。</p>
|
||||
<div class="cnblogs_code">
|
||||
<pre>>>> np.random.bytes(10)
|
||||
‘ eh\x85\x022SZ\xbf\xa4‘ #random</pre>
|
||||
</div>
|
||||
<p> </p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div id="permutations" class="section">
|
||||
<h2><a name="t2"></a>排列</h2>
|
||||
<table class="longtable docutils" border="1"><colgroup><col width="40%"><col width="60%"></colgroup>
|
||||
<tbody valign="top">
|
||||
<tr class="row-odd">
|
||||
<td>
|
||||
<p><a class="reference internal" title="numpy.random.shuffle" href="http://docs.scipy.org/doc/numpy/reference/generated/numpy.random.shuffle.html#numpy.random.shuffle" target="_blank"><tt class="xref py py-obj docutils literal"><span class="pre">shuffle</span></tt></a>(x)</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>现场修改序列,改变自身内容。(类似洗牌,打乱顺序)</p>
|
||||
<div class="cnblogs_code">
|
||||
<pre>>>> arr = np.arange(10)
|
||||
>>> np.random.shuffle(arr)
|
||||
>>> arr
|
||||
[1 7 5 2 9 4 3 6 0 8]</pre>
|
||||
</div>
|
||||
<p> </p>
|
||||
<p>This function only shuffles the array along the first index of a multi-dimensional array:</p>
|
||||
<div class="cnblogs_code">
|
||||
<pre>>>> arr = np.arange(9).reshape((3, 3))
|
||||
>>> np.random.shuffle(arr)
|
||||
>>> arr
|
||||
array([[3, 4, 5],
|
||||
[6, 7, 8],
|
||||
[0, 1, 2]])</pre>
|
||||
</div>
|
||||
<p> </p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td>
|
||||
<p><a class="reference internal" title="numpy.random.permutation" href="http://docs.scipy.org/doc/numpy/reference/generated/numpy.random.permutation.html#numpy.random.permutation" target="_blank"><tt class="xref py py-obj docutils literal"><span class="pre">permutation</span></tt></a>(x)</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>返回一个随机排列</p>
|
||||
<div class="cnblogs_code">
|
||||
<pre>>>> np.random.permutation(10)
|
||||
array([1, 7, 4, 3, 0, 9, 2, 5, 8, 6])</pre>
|
||||
</div>
|
||||
<div class="cnblogs_code">
|
||||
<pre>>>> np.random.permutation([1, 4, 9, 12, 15])
|
||||
array([15, 1, 9, 4, 12])</pre>
|
||||
</div>
|
||||
<div class="cnblogs_code">
|
||||
<pre>>>> arr = np.arange(9).reshape((3, 3))
|
||||
>>> np.random.permutation(arr)
|
||||
array([[6, 7, 8],
|
||||
[0, 1, 2],
|
||||
[3, 4, 5]])</pre>
|
||||
</div>
|
||||
<p> </p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div id="distributions" class="section">
|
||||
<h2><a name="t3"></a><span class="web-item">分布</span></h2>
|
||||
<table class="longtable docutils" border="1"><colgroup><col width="40%"><col width="60%"></colgroup>
|
||||
<tbody valign="top">
|
||||
<tr class="row-odd">
|
||||
<td>
|
||||
<p><a class="reference internal" title="numpy.random.beta" href="http://docs.scipy.org/doc/numpy/reference/generated/numpy.random.beta.html#numpy.random.beta" target="_blank"><tt class="xref py py-obj docutils literal"><span class="pre">beta</span></tt></a>(a, b[, size])</p>
|
||||
</td>
|
||||
<td>贝塔分布样本,在 <tt class="docutils literal"><span class="pre">[0, <span class="pre">1]</span></span></tt>内。</td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td>
|
||||
<p><a class="reference internal" title="numpy.random.binomial" href="http://docs.scipy.org/doc/numpy/reference/generated/numpy.random.binomial.html#numpy.random.binomial" target="_blank"><tt class="xref py py-obj docutils literal"><span class="pre">binomial</span></tt></a>(n, p[, size])</p>
|
||||
</td>
|
||||
<td>二项分布的样本。</td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<td>
|
||||
<p><a class="reference internal" title="numpy.random.chisquare" href="http://docs.scipy.org/doc/numpy/reference/generated/numpy.random.chisquare.html#numpy.random.chisquare" target="_blank"><tt class="xref py py-obj docutils literal"><span class="pre">chisquare</span></tt></a>(df[, size])</p>
|
||||
</td>
|
||||
<td>卡方分布样本。</td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td>
|
||||
<p><a class="reference internal" title="numpy.random.dirichlet" href="http://docs.scipy.org/doc/numpy/reference/generated/numpy.random.dirichlet.html#numpy.random.dirichlet" target="_blank"><tt class="xref py py-obj docutils literal"><span class="pre">dirichlet</span></tt></a>(alpha[, size])</p>
|
||||
</td>
|
||||
<td>狄利克雷分布样本。</td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<td>
|
||||
<p><a class="reference internal" title="numpy.random.exponential" href="http://docs.scipy.org/doc/numpy/reference/generated/numpy.random.exponential.html#numpy.random.exponential" target="_blank"><tt class="xref py py-obj docutils literal"><span class="pre">exponential</span></tt></a>([scale, size])</p>
|
||||
</td>
|
||||
<td>指数分布</td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td>
|
||||
<p><a class="reference internal" title="numpy.random.f" href="http://docs.scipy.org/doc/numpy/reference/generated/numpy.random.f.html#numpy.random.f" target="_blank"><tt class="xref py py-obj docutils literal"><span class="pre">f</span></tt></a>(dfnum, dfden[, size])</p>
|
||||
</td>
|
||||
<td>F分布样本。</td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<td>
|
||||
<p><a class="reference internal" title="numpy.random.gamma" href="http://docs.scipy.org/doc/numpy/reference/generated/numpy.random.gamma.html#numpy.random.gamma" target="_blank"><tt class="xref py py-obj docutils literal"><span class="pre">gamma</span></tt></a>(shape[, scale, size])</p>
|
||||
</td>
|
||||
<td>伽马分布</td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td>
|
||||
<p><a class="reference internal" title="numpy.random.geometric" href="http://docs.scipy.org/doc/numpy/reference/generated/numpy.random.geometric.html#numpy.random.geometric" target="_blank"><tt class="xref py py-obj docutils literal"><span class="pre">geometric</span></tt></a>(p[, size])</p>
|
||||
</td>
|
||||
<td>几何分布</td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<td>
|
||||
<p><a class="reference internal" title="numpy.random.gumbel" href="http://docs.scipy.org/doc/numpy/reference/generated/numpy.random.gumbel.html#numpy.random.gumbel" target="_blank"><tt class="xref py py-obj docutils literal"><span class="pre">gumbel</span></tt></a>([loc, scale, size])</p>
|
||||
</td>
|
||||
<td>耿贝尔分布。</td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td>
|
||||
<p><a class="reference internal" title="numpy.random.hypergeometric" href="http://docs.scipy.org/doc/numpy/reference/generated/numpy.random.hypergeometric.html#numpy.random.hypergeometric" target="_blank"><tt class="xref py py-obj docutils literal"><span class="pre">hypergeometric</span></tt></a>(ngood, nbad, nsample[, size])</p>
|
||||
</td>
|
||||
<td>超几何分布样本。</td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<td>
|
||||
<p><a class="reference internal" title="numpy.random.laplace" href="http://docs.scipy.org/doc/numpy/reference/generated/numpy.random.laplace.html#numpy.random.laplace" target="_blank"><tt class="xref py py-obj docutils literal"><span class="pre">laplace</span></tt></a>([loc, scale, size])</p>
|
||||
</td>
|
||||
<td>拉普拉斯或双指数分布样本</td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td>
|
||||
<p><a class="reference internal" title="numpy.random.logistic" href="http://docs.scipy.org/doc/numpy/reference/generated/numpy.random.logistic.html#numpy.random.logistic" target="_blank"><tt class="xref py py-obj docutils literal"><span class="pre">logistic</span></tt></a>([loc, scale, size])</p>
|
||||
</td>
|
||||
<td>Logistic分布样本</td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<td>
|
||||
<p><a class="reference internal" title="numpy.random.lognormal" href="http://docs.scipy.org/doc/numpy/reference/generated/numpy.random.lognormal.html#numpy.random.lognormal" target="_blank"><tt class="xref py py-obj docutils literal"><span class="pre">lognormal</span></tt></a>([mean, sigma, size])</p>
|
||||
</td>
|
||||
<td>对数正态分布</td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td>
|
||||
<p><a class="reference internal" title="numpy.random.logseries" href="http://docs.scipy.org/doc/numpy/reference/generated/numpy.random.logseries.html#numpy.random.logseries" target="_blank"><tt class="xref py py-obj docutils literal"><span class="pre">logseries</span></tt></a>(p[, size])</p>
|
||||
</td>
|
||||
<td>对数级数分布。</td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<td>
|
||||
<p><a class="reference internal" title="numpy.random.multinomial" href="http://docs.scipy.org/doc/numpy/reference/generated/numpy.random.multinomial.html#numpy.random.multinomial" target="_blank"><tt class="xref py py-obj docutils literal"><span class="pre">multinomial</span></tt></a>(n, pvals[, size])</p>
|
||||
</td>
|
||||
<td>多项分布</td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td>
|
||||
<p><a class="reference internal" title="numpy.random.multivariate_normal" href="http://docs.scipy.org/doc/numpy/reference/generated/numpy.random.multivariate_normal.html#numpy.random.multivariate_normal" target="_blank"><tt class="xref py py-obj docutils literal"><span class="pre">multivariate_normal</span></tt></a>(mean, cov[, size])</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>多元正态分布。</p>
|
||||
<div class="cnblogs_code">
|
||||
<pre>>>> mean = [0,0]
|
||||
>>> cov = [[1,0],[0,100]] # diagonal covariance, points lie on x or y-axis</pre>
|
||||
</div>
|
||||
<div class="cnblogs_code">
|
||||
<pre>>>> import matplotlib.pyplot as plt
|
||||
>>> x, y = np.random.multivariate_normal(mean, cov, 5000).T
|
||||
>>> plt.plot(x, y, ‘x‘); plt.axis(‘equal‘); plt.show()</pre>
|
||||
</div>
|
||||
<p> </p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<td>
|
||||
<p><a class="reference internal" title="numpy.random.negative_binomial" href="http://docs.scipy.org/doc/numpy/reference/generated/numpy.random.negative_binomial.html#numpy.random.negative_binomial" target="_blank"><tt class="xref py py-obj docutils literal"><span class="pre">negative_binomial</span></tt></a>(n, p[, size])</p>
|
||||
</td>
|
||||
<td>负二项分布</td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td>
|
||||
<p><a class="reference internal" title="numpy.random.noncentral_chisquare" href="http://docs.scipy.org/doc/numpy/reference/generated/numpy.random.noncentral_chisquare.html#numpy.random.noncentral_chisquare" target="_blank"><tt class="xref py py-obj docutils literal"><span class="pre">noncentral_chisquare</span></tt></a>(df, nonc[, size])</p>
|
||||
</td>
|
||||
<td>非中心卡方分布</td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<td>
|
||||
<p><a class="reference internal" title="numpy.random.noncentral_f" href="http://docs.scipy.org/doc/numpy/reference/generated/numpy.random.noncentral_f.html#numpy.random.noncentral_f" target="_blank"><tt class="xref py py-obj docutils literal"><span class="pre">noncentral_f</span></tt></a>(dfnum, dfden, nonc[, size])</p>
|
||||
</td>
|
||||
<td>非中心F分布</td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td>
|
||||
<p><a class="reference internal" title="numpy.random.normal" href="http://docs.scipy.org/doc/numpy/reference/generated/numpy.random.normal.html#numpy.random.normal" target="_blank"><tt class="xref py py-obj docutils literal"><span class="pre">normal</span></tt></a>([loc, scale, size])</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>正态(高斯)分布</p>
|
||||
<p class="rubric">Notes</p>
|
||||
<p>The probability density for the Gaussian distribution is</p>
|
||||
<div class="math">
|
||||
<p><img src="http://docs.scipy.org/doc/numpy/_images/math/2f8a02ce155191ed5a4ea8d776aa15fcaef26e1f.png" alt="技术分享"></p>
|
||||
</div>
|
||||
<p>where <img class="math" src="http://docs.scipy.org/doc/numpy/_images/math/fb6d665bbe0c01fc1af5c5f5fa7df40dc71331d7.png" alt="技术分享"> is the mean and <img class="math" src="http://docs.scipy.org/doc/numpy/_images/math/bb6e1902efeb0b3704c6191ddce1f02707ab7d4b.png" alt="技术分享"> the standard deviation. The square of the standard deviation, <img class="math" src="http://docs.scipy.org/doc/numpy/_images/math/dd3f23ceebfef553bff1607f84667d5cc6af7587.png" alt="技术分享">, is called the variance.</p>
|
||||
<p>The function has its peak at the mean, and its “spread” increases with the standard deviation (the function reaches 0.607 times its maximum at <img class="math" src="http://docs.scipy.org/doc/numpy/_images/math/ad6d5400fce43a299a35b53a9661e54a284f1bad.png" alt="技术分享"> and <img class="math" src="http://docs.scipy.org/doc/numpy/_images/math/fa3af8846dae3eb1c8913dace238ff110abb64b2.png" alt="技术分享"><a id="id3" class="reference internal" href="http://docs.scipy.org/doc/numpy/reference/generated/numpy.random.normal.html#r217" target="_blank"> [R217]</a>).</p>
|
||||
<p> </p>
|
||||
<p class="rubric">Examples</p>
|
||||
<p>Draw samples from the distribution:</p>
|
||||
<div class="cnblogs_code">
|
||||
<pre>>>> mu, sigma = 0, 0.1 # mean and standard deviation
|
||||
>>> s = np.random.normal(mu, sigma, 1000)</pre>
|
||||
</div>
|
||||
<p>Verify the mean and the variance:</p>
|
||||
<div class="cnblogs_code">
|
||||
<pre>>>> abs(mu - np.mean(s)) < 0.01
|
||||
True
|
||||
>>> abs(sigma - np.std(s, ddof=1)) < 0.01
|
||||
True</pre>
|
||||
</div>
|
||||
<p>Display the histogram of the samples, along with the probability density function:</p>
|
||||
<div class="cnblogs_code">
|
||||
<pre>>>> import matplotlib.pyplot as plt
|
||||
>>> count, bins, ignored = plt.hist(s, 30, normed=True)
|
||||
>>> plt.plot(bins, 1/(sigma * np.sqrt(2 * np.pi)) *
|
||||
... np.exp( - (bins - mu)**2 / (2 * sigma**2) ),
|
||||
... linewidth=2, color=‘r‘)
|
||||
>>> plt.show()</pre>
|
||||
</div>
|
||||
<p> </p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<td>
|
||||
<p><a class="reference internal" title="numpy.random.pareto" href="http://docs.scipy.org/doc/numpy/reference/generated/numpy.random.pareto.html#numpy.random.pareto" target="_blank"><tt class="xref py py-obj docutils literal"><span class="pre">pareto</span></tt></a>(a[, size])</p>
|
||||
</td>
|
||||
<td>帕累托(Lomax)分布</td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td>
|
||||
<p><a class="reference internal" title="numpy.random.poisson" href="http://docs.scipy.org/doc/numpy/reference/generated/numpy.random.poisson.html#numpy.random.poisson" target="_blank"><tt class="xref py py-obj docutils literal"><span class="pre">poisson</span></tt></a>([lam, size])</p>
|
||||
</td>
|
||||
<td>泊松分布</td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<td>
|
||||
<p><a class="reference internal" title="numpy.random.power" href="http://docs.scipy.org/doc/numpy/reference/generated/numpy.random.power.html#numpy.random.power" target="_blank"><tt class="xref py py-obj docutils literal"><span class="pre">power</span></tt></a>(a[, size])</p>
|
||||
</td>
|
||||
<td>Draws samples in [0, 1] from a power distribution with positive exponent a - 1.</td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td>
|
||||
<p><a class="reference internal" title="numpy.random.rayleigh" href="http://docs.scipy.org/doc/numpy/reference/generated/numpy.random.rayleigh.html#numpy.random.rayleigh" target="_blank"><tt class="xref py py-obj docutils literal"><span class="pre">rayleigh</span></tt></a>([scale, size])</p>
|
||||
</td>
|
||||
<td>Rayleigh 分布</td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<td>
|
||||
<p><a class="reference internal" title="numpy.random.standard_cauchy" href="http://docs.scipy.org/doc/numpy/reference/generated/numpy.random.standard_cauchy.html#numpy.random.standard_cauchy" target="_blank"><tt class="xref py py-obj docutils literal"><span class="pre">standard_cauchy</span></tt></a>([size])</p>
|
||||
</td>
|
||||
<td>标准柯西分布</td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td>
|
||||
<p><a class="reference internal" title="numpy.random.standard_exponential" href="http://docs.scipy.org/doc/numpy/reference/generated/numpy.random.standard_exponential.html#numpy.random.standard_exponential" target="_blank"><tt class="xref py py-obj docutils literal"><span class="pre">standard_exponential</span></tt></a>([size])</p>
|
||||
</td>
|
||||
<td>标准的指数分布</td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<td>
|
||||
<p><a class="reference internal" title="numpy.random.standard_gamma" href="http://docs.scipy.org/doc/numpy/reference/generated/numpy.random.standard_gamma.html#numpy.random.standard_gamma" target="_blank"><tt class="xref py py-obj docutils literal"><span class="pre">standard_gamma</span></tt></a>(shape[, size])</p>
|
||||
</td>
|
||||
<td>标准伽马分布</td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td>
|
||||
<p><a class="reference internal" title="numpy.random.standard_normal" href="http://docs.scipy.org/doc/numpy/reference/generated/numpy.random.standard_normal.html#numpy.random.standard_normal" target="_blank"><tt class="xref py py-obj docutils literal"><span class="pre">standard_normal</span></tt></a>([size])</p>
|
||||
</td>
|
||||
<td>标准正态分布 (mean=0, stdev=1).</td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<td>
|
||||
<p><a class="reference internal" title="numpy.random.standard_t" href="http://docs.scipy.org/doc/numpy/reference/generated/numpy.random.standard_t.html#numpy.random.standard_t" target="_blank"><tt class="xref py py-obj docutils literal"><span class="pre">standard_t</span></tt></a>(df[, size])</p>
|
||||
</td>
|
||||
<td>Standard Student’s t distribution with df degrees of freedom.</td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td>
|
||||
<p><a class="reference internal" title="numpy.random.triangular" href="http://docs.scipy.org/doc/numpy/reference/generated/numpy.random.triangular.html#numpy.random.triangular" target="_blank"><tt class="xref py py-obj docutils literal"><span class="pre">triangular</span></tt></a>(left, mode, right[, size])</p>
|
||||
</td>
|
||||
<td>三角形分布</td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<td>
|
||||
<p><a class="reference internal" title="numpy.random.uniform" href="http://docs.scipy.org/doc/numpy/reference/generated/numpy.random.uniform.html#numpy.random.uniform" target="_blank"><tt class="xref py py-obj docutils literal"><span class="pre">uniform</span></tt></a>([low, high, size])</p>
|
||||
</td>
|
||||
<td>均匀分布</td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td>
|
||||
<p><a class="reference internal" title="numpy.random.vonmises" href="http://docs.scipy.org/doc/numpy/reference/generated/numpy.random.vonmises.html#numpy.random.vonmises" target="_blank"><tt class="xref py py-obj docutils literal"><span class="pre">vonmises</span></tt></a>(mu, kappa[, size])</p>
|
||||
</td>
|
||||
<td>von Mises分布</td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<td>
|
||||
<p><a class="reference internal" title="numpy.random.wald" href="http://docs.scipy.org/doc/numpy/reference/generated/numpy.random.wald.html#numpy.random.wald" target="_blank"><tt class="xref py py-obj docutils literal"><span class="pre">wald</span></tt></a>(mean, scale[, size])</p>
|
||||
</td>
|
||||
<td>瓦尔德(逆高斯)分布</td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td>
|
||||
<p><a class="reference internal" title="numpy.random.weibull" href="http://docs.scipy.org/doc/numpy/reference/generated/numpy.random.weibull.html#numpy.random.weibull" target="_blank"><tt class="xref py py-obj docutils literal"><span class="pre">weibull</span></tt></a>(a[, size])</p>
|
||||
</td>
|
||||
<td>Weibull 分布</td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<td>
|
||||
<p><a class="reference internal" title="numpy.random.zipf" href="http://docs.scipy.org/doc/numpy/reference/generated/numpy.random.zipf.html#numpy.random.zipf" target="_blank"><tt class="xref py py-obj docutils literal"><span class="pre">zipf</span></tt></a>(a[, size])</p>
|
||||
</td>
|
||||
<td>齐普夫分布</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<h2><a name="t4"></a>随机数生成器</h2>
|
||||
<table class="longtable docutils" border="1"><colgroup><col width="40%"><col width="60%"></colgroup>
|
||||
<tbody valign="top">
|
||||
<tr class="row-odd">
|
||||
<td>
|
||||
<p><a class="reference internal" title="numpy.random.RandomState" href="http://docs.scipy.org/doc/numpy/reference/generated/numpy.random.RandomState.html#numpy.random.RandomState" target="_blank"><tt class="xref py py-obj docutils literal">RandomState</tt></a></p>
|
||||
</td>
|
||||
<td>Container for the Mersenne Twister pseudo-random number generator.</td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td>
|
||||
<p><a class="reference internal" title="numpy.random.seed" href="http://docs.scipy.org/doc/numpy/reference/generated/numpy.random.seed.html#numpy.random.seed" target="_blank"><tt class="xref py py-obj docutils literal"><span class="pre">seed</span></tt></a>([seed])</p>
|
||||
</td>
|
||||
<td>Seed the generator.</td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<td>
|
||||
<p><a class="reference internal" title="numpy.random.get_state" href="http://docs.scipy.org/doc/numpy/reference/generated/numpy.random.get_state.html#numpy.random.get_state" target="_blank"><tt class="xref py py-obj docutils literal"><span class="pre">get_state</span></tt></a>()</p>
|
||||
</td>
|
||||
<td>Return a tuple representing the internal state of the generator.</td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td>
|
||||
<p><a class="reference internal" title="numpy.random.set_state" href="http://docs.scipy.org/doc/numpy/reference/generated/numpy.random.set_state.html#numpy.random.set_state" target="_blank"><tt class="xref py py-obj docutils literal"><span class="pre">set_state</span></tt></a>(state)</p>
|
||||
</td>
|
||||
<td>Set the internal state of the generator from a tuple.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
Reference in New Issue
Block a user