Numpy学习07-随机抽样
Numpy学习07-随机抽样
- 随机抽样
- 离散型随机变量
- 二项分布
- 泊松分布
- 超几何分布
- 连续型变量
- 均匀分布
- 正态分布
- 指数分布
- 其他随机函数
- 随机从系列中抽取元素
- 数据集洗牌操作
- 作业
- 1
- 2
随机抽样
numpy.random.seed(seed=None)
: 指定相同的seed会生成相同的随机数;若不指定则跟随时间差异不同。
离散型随机变量
二项分布
numpy.random.binomial(n, p, size=None)
表示对一个二项分布进行采样,size表示采样的次数,n表示做了n重伯努利试验,p表示成功的概率,函数的返回值表示n中成功的次数。
- 期望:E(x) = np
- 方差:Var(x) = np(1-p)
泊松分布
numpy.random.poisson(lam=1.0, size=None)
表示对一个泊松分布进行采样,size表示采样的次数,lam表示一个单位内发生事件的平均值,函数的返回值表示一个单位内事件发生的次数。
超几何分布
numpy.random.hypergeometric(ngood, nbad, nsample, size=None)
表示对一个超几何分布进行采样,size表示采样的次数,ngood表示总体中具有成功标志的元素个数,nbad表示总体中不具有成功标志的元素个数,ngood+nbad表示总体样本容量,nsample表示抽取元素的次数(小于或等于总体样本容量),函数的返回值表示抽取nsample个元素中具有成功标识的元素个数。
- 均值E(x) = N(n/M)
- 方差Var(x) = N(n/M)(1-n/M)((M-N)/(M-1))
- 注释:考虑n次实验的超几何分布,令p=n/M,当总体容量足够大时((M-N)/(M-1))近似于1,此时数学期望为Np,方差为Np(1-p).
连续型变量
均匀分布
numpy.random.uniform(low=0.0, high=1.0, size=None))
样本均匀分布在low到high的区间内,左闭右开。
numpy.random.rand(d0, d1, ..., dn)
创建给定形状的数组,数值为[0,1)的均匀分布值。
numpy.random.randint(low, high=None, size=None, dtype='l')
返回指定形状,且均匀分布在[low,high)的整数值。
PS:若high = None 则均匀区间为 [0,low)
正态分布
numpy.random.randn(d0, d1, ..., dn)
返回指定形状的标准正态分布。
- 期望:E(x) = 0
- 方差:Var(x) = 1
numpy.random.normal(loc=0.0, scale=1.0, size=None)
指数分布
numpy.random.exponential(scale=1.0, size=None)
返回指数分布的样本,其中scale = 1/lambda
其他随机函数
随机从系列中抽取元素
numpy.random.choice(a, size=None, replace=True, p=None)
从序列中获取元素,若a为整数,元素取值从 np.range(a) 中随机获取;若a为数组,取值从a数组元素中随机获取。该函数还可以控制生成数组中的元素是否重复replace,以及选取元素的概率p。
数据集洗牌操作
numpy.random.shuffle(x)
对x进行重排序,如果x为多维数组,只沿第 0 轴洗牌,改变原来的数组,输出为None。
作业
1
创建一个形为5×3的二维数组,以包含5到10之间的随机数。
np.random.uniform(low=5, high=10, size=(5,3))
结果:
array([[9.9973874 , 9.28787313, 6.85496697],
[5.83991473, 6.72219661, 7.15425454],
[9.47504519, 5.9979949 , 7.11424609],
[6.44275044, 5.2274057 , 7.13893918],
[7.54941722, 9.19651785, 8.7581823 ]])
2
创建分别具有5000个数据的训练集(xi,y)和测试集(xi,y),其中xi在间隔(-10,10)上均匀随机分布。为了使回归问题“真实”,大的均匀噪声分布在[-0.2,0.2]已添加到所有训练样本中,同时测试数据保持无噪声。
# 训练数据
train = []
temp_x = np.random.uniform(low=-10, high=10, size=(5000))
def f(x):if(x==0):return 1else:return math.sin(x)/x
noise = np.random.uniform(low=-0.2, high=0.2,size=(5000))
temp_y = np.array(list(map(f, temp_x)))
temp_y += noise
train.append(temp_x)
train.append(temp_y)
# 测试数据
test = []
temp_x = np.sort(np.random.uniform(low=-10, high=10, size=(5000)))
def f(x):if(x==0):return 0else:return math.sin(x)/x
temp_y = np.array(list(map(f, temp_x)))
test.append(temp_x)
test.append(temp_y)
# 画图
plt.scatter(train[0],train[1],c='blue',marker='.',norm=0.3)
plt.plot(test[0],test[1],'g.-')
plt.show()
结果:
Numpy学习07-随机抽样相关推荐
- 深度学习-07(图像分类、常用数据集、利用CNN实现图像分类、图像分类优化)
文章目录 深度学习-07(PaddlePaddle图像分类) 图像分类概述 概述 什么是图像分类 图像分类粒度 图像分类发展历程 图像分类问题的挑战 常用数据集介绍 MNIST数据集 CIFAR10数 ...
- Numpy学习笔记(下篇)
目录 Numpy学习笔记(下篇) 一.Numpy数组的合并与分割操作 1.合并操作 2.分割操作 二.Numpy中的矩阵运算 1.Universal Function 2.矩阵运算 3.向量和矩阵运算 ...
- numpy 学习笔记
numpy 学习笔记 导入 numpy 包 import numpy as np 声明 ndarray 的几种方法 方法一,从list中创建 l = [[1,2,3], [4,5,6], [7,8,9 ...
- NumPy学习笔记 一
NumPy学习笔记 一 <NumPy学习笔记>系列将记录学习NumPy过程中的动手笔记,前期的参考书是<Python数据分析基础教程 NumPy学习指南>第二版.<数学分 ...
- python中ndarray对象实例化_Python数据分析之Numpy学习 2——NumPy 基础 ndarray对象
Python数据分析之Numpy学习 2 -- NumPy 基础学习 NumPy(Numerical Python)是高性能科学计算和数据分析的基础包.NumPy的主要对象是同构数据多维容器(homo ...
- python数据分析基础教程 numpy_Python数据分析基础教程:NumPy学习指南(第2版)
Python数据分析基础教程:NumPy学习指南(第2版) Ivan Idris (作者) 张驭宇 (译者) NumPy是一个优秀的科学计算库,提供了很多实用的数学函数.强大的多维数组对象和优异的计算 ...
- NumPy学习(索引和切片,合并,分割,copy与deep copy)
NumPy学习(索引和切片,合并,分割,copy与deep copy) 目录 索引和切片合并分割 copy与deep copy 索引和切片 通过索引和切片可以访问以及修改数组元素的值 一维数组 程序示 ...
- python numpy读取数据_Python数据分析之numpy学习(一)
文|刘顺祥 Python是一门不错的动态语言,其应用的领域非常广泛,如web开发.Linux运维.数据挖掘.机器学习.爬虫.推荐系统等.在学完<廖雪峰Python2.7教程>感觉受益匪浅, ...
- vim学习 07——跳转缩进
vim学习 07--跳转缩进 查看文件信息 Ctrl + g 跳转 行号 + G : + 行号,然后回车 定位括号 光标移动到括号处,按下 % 键,快速跳转到对应的另一半括号((), [], {}) ...
最新文章
- python dataframe 计算上下两行的差值_用Python进行数据清洗!
- Glide 这样用,更省内存
- etcd分布式之负载均衡
- Java实现替换多个字符串中的参数
- 基于centos6.5搭建solr服务器
- 页面文字请使用css进行控制,css控制页面文字不能被选中user-select:none;
- document.body.scrollTop
- pyspark 手写Apriori算法
- 密码学笔记—栅栏密码
- linux命令行里输入nyancat,好玩的Linux命令行,与彩虹猫Nyan Cat一起休息下
- win10录屏_关于使用Win10自带录屏工具小技巧
- linux lsof详解
- C++:重定义:符号重定义:变量重定义(二):解决变量重定义(const static)
- 编程的技术|艺术|术术——面向开发者编程
- 内容超出DIV宽高后隐藏或出现滚动条和overflow的属性
- [2021-09-10] 【入门1】顺序结构——多行字符串的打印
- mysql约束表达式大全_SQL常用约束语句
- 2.4、PHP数组与数组结构
- js-运动总结(常见运动效果)
- ASP.NET实现将网页内容输出到WORD并下载到本地
热门文章
- 荣耀magic5pro参数配置
- 区块链能否助力版权“突围”?
- 广播动态注册和静态注册的区别
- HiveSql计算占比、同比、占环比
- 【前端框架】前端框架学习
- SpringBoot中出现 No qualifying bean of type ‘com.tanhua.server.mapper.UserInfoMapper‘ available: expect
- 计算机屏保是不是休眠,计算机上屏保、待机、休眠、睡眠、关机的区别
- XPS如何在线转Word格式
- Unity学习之Physic.Raycast(射线检测)个人理解分享
- Powerbi环比分析及其修正