NumPy学习笔记(五)—— choice()函数
目录
- 一、前言
- 二、函数讲解
- 1、choice()函数
- 2、参数讲解
- 1) a
- ① 如果是数组的话
- ② 如果是int类型的话
- 2)size(可选)
- ① 如果不填
- ② 如果填写(m,n,k)
- 3)replace(可选)
- ① 如果是True
- ② 如果是Fasle
- 4)p(可选,全称:probability)
- 5)返回值
- 3、出错时可能的情况
- 扩展
一、前言
今天在写神经网络里,使用minibatch抽取部分数据使用到了choice函数
二、函数讲解
1、choice()函数
老样子,先给大家上张官网的介绍
英文版:
中文版:
choice(a, size=None, replace=True, p=None)
从给定的1维数组中生成随机样本
2、参数讲解
1) a
类型:一维数组或int整数
① 如果是数组的话
则从a的元素中生成随机的样本
import numpy as npa = [1,5,3,0,2,6,9,8]print(np.random.choice(a))# 2 # 没有size参数,默认随机返回一个值
② 如果是int类型的话
用法和mp.arange(n)相同
import numpy as npprint(np.random.choice(5,3))
# [0 3 4] # 等同于np.arange((0,5),3),均匀随机样本(可能存在重复)
2)size(可选)
类型:int(例如1,2,3)或int型的元组(例如:(1,2,3) )
作用:影响返回值的形状
① 如果不填
默认返回一个随机样本
import numpy as npa = [1,5,3,0,2,6,9,8]print(np.random.choice(a))
# 2
② 如果填写(m,n,k)
返回m * n * k个样本(这里可以理解为(块,行,列),类似于我这篇文章里的permute函数)
import numpy as npprint(np.random.choice(a,size=(1,2)))
# [[2 3]] #1块1行2列print(np.random.choice(a,size=(1,2,3)))
# [[[2 9 3] # 1块2行3列
# [6 5 3]]]
3)replace(可选)
类型:布尔类型(True/False)
作用:影响输出值是否存在重复情况
① 如果是True
输出值可能重复
print(np.random.choice(5,3,replace=True))
# [2 0 0] # 输出值可能重复
② 如果是Fasle
print(np.random.choice(5,3,replace=False))
# [1 4 0] # 输出值不会重复
4)p(可选,全称:probability)
类型:一维数组(同a)
作用:与 a 中的每个条目相关联的概率,默认为均匀分布
print(np.random.choice(5, 3, replace=False, p=[0.1, 0, 0.3, 0.6, 0]))
# [3 0 2]
5)返回值
类型:与size参数设定有关系,默认为一维的int或者数组
3、出错时可能的情况
- a 是 int 且小于零
- a 或 p 不是一维的
- a 是size= 0 的数组
- p 不是概率向量
- a 和 p 具有不同的长度
- replace=False 时并且样本数量大于总体
扩展
a除了一维数组和int整数类型
也可以吧一维数组中的数字替换成字符串
a = ['pooh', 'rabbit', 'piglet', 'Christopher']
print(np.random.choice(a, 3, p=[0.5, 0.1, 0.1, 0.3]))
# ['Christopher' 'Christopher' 'rabbit']
NumPy学习笔记(五)—— choice()函数相关推荐
- python函数是一段具有特定功能的语句组_Python学习笔记(五)函数和代码复用
本文将为您描述Python学习笔记(五)函数和代码复用,具体完成步骤: 函数能提高应用的模块性,和代码的重复利用率.在很多高级语言中,都可以使用函数实现多种功能.在之前的学习中,相信你已经知道Pyth ...
- JAVA学习笔记五---函数
JAVA学习笔记五---函数 5.1 方法的学习 编写一个程序,求圆的周长和面积. package practice; /*** 编写一个程序,求圆的周长和面积.* @author iszhangyo ...
- Numpy学习笔记(下篇)
目录 Numpy学习笔记(下篇) 一.Numpy数组的合并与分割操作 1.合并操作 2.分割操作 二.Numpy中的矩阵运算 1.Universal Function 2.矩阵运算 3.向量和矩阵运算 ...
- opencv学习笔记五--文件扫描+OCR文字识别
opencv学习笔记五--文件扫描+OCR文字识别 文件扫描 定义函数 边缘检测 获取轮廓 变换 OCR文字识别 环境配置 代码 文件扫描 # 导入工具包 import numpy as np imp ...
- numpy 学习笔记
numpy 学习笔记 导入 numpy 包 import numpy as np 声明 ndarray 的几种方法 方法一,从list中创建 l = [[1,2,3], [4,5,6], [7,8,9 ...
- 吴恩达《机器学习》学习笔记五——逻辑回归
吴恩达<机器学习>学习笔记五--逻辑回归 一. 分类(classification) 1.定义 2.阈值 二. 逻辑(logistic)回归假设函数 1.假设的表达式 2.假设表达式的意义 ...
- Python学习笔记五:控制语句
Python学习笔记五:控制语句 Pycharm 开发环境的下载安装配置_项目管理 控制语句 Pycharm 开发环境的使用 Pycharm 下载和安装 激活和选择不同UI 风格 创建项目和初始化配置 ...
- 哈工大操作系统学习笔记五——内核级线程实现
哈工大os学习笔记五(内核级线程实现) 文章目录 哈工大os学习笔记五(内核级线程实现) 一. 中断入口.中断出口(前后两段) 1. 从int中断进入内核(中断入口第一段) 2.中断出口(最后一段) ...
- 【Numpy学习笔记】
Numpy学习笔记 1. NumPy的详细教程(官网手册翻译) https://blog.csdn.net/xiaoxiangzi222/article/details/53084336 2. 学习笔 ...
- Polyworks脚本开发学习笔记(五)-变量使用基本语法
Polyworks脚本开发学习笔记(五)-变量使用基本语法 定义变量及赋值 定义各种类型的变量 定义变量时,只需要使用DECLARE 关键字即可定义,为了区别变量和脚本中的其它字符,建议都以小写v开头 ...
最新文章
- jQuery learn - 1 - 选择元素 CSS
- [YTU]_2439( C++习题 复数类--重载运算符+)
- Apache Hive JdbcStorageHandler 编程入门指南
- opencore0.6.4_心灵终结3.3.4
- 两台电脑间大量数据拷贝的快捷方法
- python中sys模块是什么意思_python之sys模块详解
- SpringFox Swagger2注解基本用法
- NOIP2017 Day1 T1 小凯的疑惑
- EasyRecovery如何恢复javascript文件
- python杂记-6(timedatetime模块)
- android orientation 代码,android常见错误之Wrong orientation? No orientation specified
- 【百战GAN】如何使用GAN给黑白老照片上色?
- 日本公司研发出一款可食用的便签纸
- 持久化存储系统本版号
- python --给图片加文字
- 快速学习一门新技术的工作原理(十步学习法来自软技能)
- 网络毕业设计--基于华为ensp防火墙双出口负载拟真实验
- IDEA的LeetCode力扣插件设置与使用(超详细)
- 机器学习模型选择:调参参数选择
- 基于Three.js的360度全景图片