机器学习

This commit is contained in:
estomm
2020-09-29 10:05:30 +08:00
parent 501c49c1de
commit bb81ba3fb3
63 changed files with 1429 additions and 917 deletions

703
Python/numpy/20随机数.md Normal file
View 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, highfloat型或者float型的类数组对象。指定抽样区间为[low, high)low的默认值为0.0hign的默认值为1.0
* sizeint型或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, highint型指定抽样区间[low, high)
* sizeint型或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指定形状。
* 参数:
* sizeint型或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>随机抽样&nbsp;(<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,&nbsp;d1,&nbsp;...,&nbsp;dn)</p>
</td>
<td>
<p>随机值</p>
<div class="cnblogs_code">
<pre>&gt;&gt;&gt; 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,&nbsp;d1,&nbsp;...,&nbsp;dn)</p>
</td>
<td>
<p>返回一个样本,具有标准正态分布。</p>
<p class="rubric">Notes</p>
<p>For random samples from&nbsp;<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>&gt;&gt;&gt; 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>&gt;&gt;&gt; 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[,&nbsp;high,&nbsp;size])</p>
</td>
<td>
<p>返回随机的整数,位于半开区间 [low, high)。</p>
<div class="cnblogs_code">
<pre>&gt;&gt;&gt; np.random.randint(2, size=10)
array([1, 0, 0, 0, 1, 1, 0, 0, 1, 0])
&gt;&gt;&gt; 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>&gt;&gt;&gt; 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[,&nbsp;high,&nbsp;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>&gt;&gt;&gt; np.random.random_integers(5)
4
&gt;&gt;&gt; type(np.random.random_integers(5))
&lt;type int&gt;
&gt;&gt;&gt; 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&nbsp;<img class="math" src="http://docs.scipy.org/doc/numpy/_images/math/260812782a8a4f35a929d637a38520175045eaa2.png" alt="技术分享">):</p>
<div class="cnblogs_code">
<pre>&gt;&gt;&gt; 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>&gt;&gt;&gt; d1 = np.random.random_integers(1, 6, 1000)
&gt;&gt;&gt; d2 = np.random.random_integers(1, 6, 1000)
&gt;&gt;&gt; dsums = d1 + d2</pre>
</div>
<p>Display results as a histogram:</p>
<div class="cnblogs_code">
<pre>&gt;&gt;&gt; import matplotlib.pyplot as plt
&gt;&gt;&gt; count, bins, ignored = plt.hist(dsums, 11, normed=True)
&gt;&gt;&gt; plt.show()</pre>
</div>
<p>&nbsp;</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&nbsp;<img class="math" src="http://docs.scipy.org/doc/numpy/_images/math/e9a05a99f961e8f094b3869fcddd366857d7b0d9.png" alt="技术分享">&nbsp;multiply the output of&nbsp;<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>&nbsp;by&nbsp;<em class="xref py py-obj">(b-a)</em>&nbsp;and add&nbsp;<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>&gt;&gt;&gt; np.random.random_sample()
0.47108547995356098
&gt;&gt;&gt; type(np.random.random_sample())
&lt;type float&gt;
&gt;&gt;&gt; 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>&gt;&gt;&gt; 5 * np.random.random_sample((3, 2)) - 5
array([[-3.99149989, -0.52338984],
[-2.99091858, -0.79479508],
[-1.23204345, -1.75224494]])</pre>
</div>
<p>&nbsp;</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[,&nbsp;size,&nbsp;replace,&nbsp;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>&gt;&gt;&gt; np.random.choice(5, 3)
array([0, 3, 4])
&gt;&gt;&gt; #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>&gt;&gt;&gt; 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>&gt;&gt;&gt; np.random.choice(5, 3, replace=False)
array([3,1,0])
&gt;&gt;&gt; #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>&gt;&gt;&gt; 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>&gt;&gt;&gt; aa_milne_arr = [pooh, rabbit, piglet, Christopher]
&gt;&gt;&gt; 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>&nbsp;</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>&gt;&gt;&gt; np.random.bytes(10)
eh\x85\x022SZ\xbf\xa4 #random</pre>
</div>
<p>&nbsp;</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>&gt;&gt;&gt; arr = np.arange(10)
&gt;&gt;&gt; np.random.shuffle(arr)
&gt;&gt;&gt; arr
[1 7 5 2 9 4 3 6 0 8]</pre>
</div>
<p>&nbsp;</p>
<p>This function only shuffles the array along the first index of a multi-dimensional array:</p>
<div class="cnblogs_code">
<pre>&gt;&gt;&gt; arr = np.arange(9).reshape((3, 3))
&gt;&gt;&gt; np.random.shuffle(arr)
&gt;&gt;&gt; arr
array([[3, 4, 5],
[6, 7, 8],
[0, 1, 2]])</pre>
</div>
<p>&nbsp;</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>&gt;&gt;&gt; np.random.permutation(10)
array([1, 7, 4, 3, 0, 9, 2, 5, 8, 6])</pre>
</div>
<div class="cnblogs_code">
<pre>&gt;&gt;&gt; np.random.permutation([1, 4, 9, 12, 15])
array([15, 1, 9, 4, 12])</pre>
</div>
<div class="cnblogs_code">
<pre>&gt;&gt;&gt; arr = np.arange(9).reshape((3, 3))
&gt;&gt;&gt; np.random.permutation(arr)
array([[6, 7, 8],
[0, 1, 2],
[3, 4, 5]])</pre>
</div>
<p>&nbsp;</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,&nbsp;b[,&nbsp;size])</p>
</td>
<td>贝塔分布样本,在&nbsp;<tt class="docutils literal"><span class="pre">[0,&nbsp;<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,&nbsp;p[,&nbsp;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[,&nbsp;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[,&nbsp;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,&nbsp;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,&nbsp;dfden[,&nbsp;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[,&nbsp;scale,&nbsp;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[,&nbsp;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,&nbsp;scale,&nbsp;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,&nbsp;nbad,&nbsp;nsample[,&nbsp;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,&nbsp;scale,&nbsp;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,&nbsp;scale,&nbsp;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,&nbsp;sigma,&nbsp;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[,&nbsp;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,&nbsp;pvals[,&nbsp;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,&nbsp;cov[,&nbsp;size])</p>
</td>
<td>
<p>多元正态分布。</p>
<div class="cnblogs_code">
<pre>&gt;&gt;&gt; mean = [0,0]
&gt;&gt;&gt; cov = [[1,0],[0,100]] # diagonal covariance, points lie on x or y-axis</pre>
</div>
<div class="cnblogs_code">
<pre>&gt;&gt;&gt; import matplotlib.pyplot as plt
&gt;&gt;&gt; x, y = np.random.multivariate_normal(mean, cov, 5000).T
&gt;&gt;&gt; plt.plot(x, y, x); plt.axis(equal); plt.show()</pre>
</div>
<p>&nbsp;</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,&nbsp;p[,&nbsp;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,&nbsp;nonc[,&nbsp;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,&nbsp;dfden,&nbsp;nonc[,&nbsp;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,&nbsp;scale,&nbsp;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&nbsp;<img class="math" src="http://docs.scipy.org/doc/numpy/_images/math/fb6d665bbe0c01fc1af5c5f5fa7df40dc71331d7.png" alt="技术分享">&nbsp;is the mean and&nbsp;<img class="math" src="http://docs.scipy.org/doc/numpy/_images/math/bb6e1902efeb0b3704c6191ddce1f02707ab7d4b.png" alt="技术分享">&nbsp;the standard deviation. The square of the standard deviation,&nbsp;<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&nbsp;<img class="math" src="http://docs.scipy.org/doc/numpy/_images/math/ad6d5400fce43a299a35b53a9661e54a284f1bad.png" alt="技术分享">&nbsp;and&nbsp;<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">&nbsp;[R217]</a>).</p>
<p>&nbsp;</p>
<p class="rubric">Examples</p>
<p>Draw samples from the distribution:</p>
<div class="cnblogs_code">
<pre>&gt;&gt;&gt; mu, sigma = 0, 0.1 # mean and standard deviation
&gt;&gt;&gt; s = np.random.normal(mu, sigma, 1000)</pre>
</div>
<p>Verify the mean and the variance:</p>
<div class="cnblogs_code">
<pre>&gt;&gt;&gt; abs(mu - np.mean(s)) &lt; 0.01
True
&gt;&gt;&gt; abs(sigma - np.std(s, ddof=1)) &lt; 0.01
True</pre>
</div>
<p>Display the histogram of the samples, along with the probability density function:</p>
<div class="cnblogs_code">
<pre>&gt;&gt;&gt; import matplotlib.pyplot as plt
&gt;&gt;&gt; count, bins, ignored = plt.hist(s, 30, normed=True)
&gt;&gt;&gt; plt.plot(bins, 1/(sigma * np.sqrt(2 * np.pi)) *
... np.exp( - (bins - mu)**2 / (2 * sigma**2) ),
... linewidth=2, color=r)
&gt;&gt;&gt; plt.show()</pre>
</div>
<p>&nbsp;</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[,&nbsp;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,&nbsp;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[,&nbsp;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,&nbsp;size])</p>
</td>
<td>Rayleigh&nbsp;分布</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[,&nbsp;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>标准正态分布&nbsp;(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[,&nbsp;size])</p>
</td>
<td>Standard Students 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,&nbsp;mode,&nbsp;right[,&nbsp;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,&nbsp;high,&nbsp;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,&nbsp;kappa[,&nbsp;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,&nbsp;scale[,&nbsp;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[,&nbsp;size])</p>
</td>
<td>Weibull&nbsp;分布</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[,&nbsp;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>