开发者学堂课程【Python 科学计算库 NumPy 快速入门:均匀分布与正态分布】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/605/detail/8818
均匀分布与正态分布
内容简介:
一、均匀分布
二、正态分布
一、均匀分布
生成随机数组
np.random 模块
。均匀分布(每组的可能性相等)
np.random.rand(d0, d1, ...,dn)
返回[0.0,1.0)内的一 组均匀分布的数。
np.andom.uniform(low=0.0, high=1.0, size=None)
功能:从一个均匀分布[low,high)中随机采样,注意定义域是左闭右开,即包含 low, 不包含 high.
参数介绍:
low:采样下界,float 类型,默认值为0;
high:采样上界,float 类型, 默认值为1;
size:输出样本数目,为 int 或元组(tuple)类型, 例如,size=(m,n,k), 则输出 mnk 个样本,缺省时输出1个值。
返回值: ndarray 类型, 其形状和参数 size 中描述一致。
■np.random.randint(low, high=None, size=None, dtype=’/’)
从一个均匀分布中随机采样,生成一个整数或 N 维整数数组,取数范围:若 high 不为 None 时,取[low,high)之间随机整数,否则取值[0,Iow)之 间随机整数。
补充:均匀分布
均匀分布(Uniform Distribution)是概率统计中的重要分布之一。 顾名思义,均匀,表示可能性相等的含义。均匀分布在自然情况下极为罕见,而人工栽培的有一定株行距的植物群落 即是均匀分布。
#生成均匀分布的随机数
x1 = np. random. uniform(-1, 1, 100000000 )
返回结果:
array([ 0.22411206, 0.31414671, 0.85655613, .... -0. 92972446,
0.95985223, 0.23197723])
画图看分布状况:
import matplotlib.pyplot as plt
#生成均匀分布的随机数
x1 = np. random. uniform(-1,1, 100000000 )
#画图看分布状况
# 1)创建画布
plt. figure(figsize=(10,10), dpi=100)
# 2)绘制直方图
plt.hist(x1,1000)
# 3)显示图像
plt. show()
二、正态分布
。np.random.randn(d0, d1, ... dn)
功能:从标准正态分布中返回一个或多个样本值
。np.random.normal(/oc=0.0, scale= 1.0, size=None)
loc: float
此概率分布的均值(对应着整个分布的中心centre)
scale: float
此概率分布的标准差(对应于 分布的宽度,scale越大越矮胖, scale越小, 越瘦高)
size: int or tuple of ints
输出的 shape,默认为 None,只输出一个值
。np.random.standard_ normal(size = None)
返回指定形状的标准正态分布的数组。
补充:正态分布(理解)
1什么是正态分布
正态分布是-种概率分布。正态分布是具有两个参数μ和σ的连续型随机变量的分布,第一参数μ是服从正态分布的随机变量的均值,第二个参数σ是此随机变量的方差,所以正态分布记作N(μ, σ)。
2正态分布的应用
生活、生产与科学实验中很多随机变量的概率分布都可以近似地用正态分布来描述。
3正态分布特点
μ决定了其位置,其标准差o。决定了分布的幅度。当μ= 0,σ= 1时的正态分布是标准正态分布。
标准差如何来?
1、方差
在概率论和统计学中衡量一组数据离散程度的度量。
其中M为平均值,n为数据总个数,S为标准差,S^2可以理解一个整体为方差。
2、标准差与方差的意义
可以理解成数据的-一个离散程度的衡量
x2 = nр. random . normal(1.75, 1, 100000000 )
返回结果:
array( [2.90646763, 1.46737886, 2.21799024, ..., 1. 56047411, 1. 87969135, 0.9028096 ] )
3、标准差与方差的意义
可以理解成数据的一个离散程度的衡量
x2 = np.random. normal(1.75, 1, 100000000
返回结果:
array([2.90646763, 1.46737886, 2.21799024, ... 1.56047411, 1.87969135,
0. 9028096])
#生成正态分布的随机数
x2 = np.random.nornal(1.75, 1, 100000000)
#画图看分布状况
#1)创建画布
plt.figure(figsize=(20, 10), dpi=100)
# 2)检制直方图
plt.hist(x2, 1000)
#3) 显示图像plt. show()