目录

  • 一、前言
  • 二、函数讲解
    • 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()函数相关推荐

  1. python函数是一段具有特定功能的语句组_Python学习笔记(五)函数和代码复用

    本文将为您描述Python学习笔记(五)函数和代码复用,具体完成步骤: 函数能提高应用的模块性,和代码的重复利用率.在很多高级语言中,都可以使用函数实现多种功能.在之前的学习中,相信你已经知道Pyth ...

  2. JAVA学习笔记五---函数

    JAVA学习笔记五---函数 5.1 方法的学习 编写一个程序,求圆的周长和面积. package practice; /*** 编写一个程序,求圆的周长和面积.* @author iszhangyo ...

  3. Numpy学习笔记(下篇)

    目录 Numpy学习笔记(下篇) 一.Numpy数组的合并与分割操作 1.合并操作 2.分割操作 二.Numpy中的矩阵运算 1.Universal Function 2.矩阵运算 3.向量和矩阵运算 ...

  4. opencv学习笔记五--文件扫描+OCR文字识别

    opencv学习笔记五--文件扫描+OCR文字识别 文件扫描 定义函数 边缘检测 获取轮廓 变换 OCR文字识别 环境配置 代码 文件扫描 # 导入工具包 import numpy as np imp ...

  5. numpy 学习笔记

    numpy 学习笔记 导入 numpy 包 import numpy as np 声明 ndarray 的几种方法 方法一,从list中创建 l = [[1,2,3], [4,5,6], [7,8,9 ...

  6. 吴恩达《机器学习》学习笔记五——逻辑回归

    吴恩达<机器学习>学习笔记五--逻辑回归 一. 分类(classification) 1.定义 2.阈值 二. 逻辑(logistic)回归假设函数 1.假设的表达式 2.假设表达式的意义 ...

  7. Python学习笔记五:控制语句

    Python学习笔记五:控制语句 Pycharm 开发环境的下载安装配置_项目管理 控制语句 Pycharm 开发环境的使用 Pycharm 下载和安装 激活和选择不同UI 风格 创建项目和初始化配置 ...

  8. 哈工大操作系统学习笔记五——内核级线程实现

    哈工大os学习笔记五(内核级线程实现) 文章目录 哈工大os学习笔记五(内核级线程实现) 一. 中断入口.中断出口(前后两段) 1. 从int中断进入内核(中断入口第一段) 2.中断出口(最后一段) ...

  9. 【Numpy学习笔记】

    Numpy学习笔记 1. NumPy的详细教程(官网手册翻译) https://blog.csdn.net/xiaoxiangzi222/article/details/53084336 2. 学习笔 ...

  10. Polyworks脚本开发学习笔记(五)-变量使用基本语法

    Polyworks脚本开发学习笔记(五)-变量使用基本语法 定义变量及赋值 定义各种类型的变量 定义变量时,只需要使用DECLARE 关键字即可定义,为了区别变量和脚本中的其它字符,建议都以小写v开头 ...

最新文章

  1. jQuery learn - 1 - 选择元素 CSS
  2. [YTU]_2439( C++习题 复数类--重载运算符+)
  3. Apache Hive JdbcStorageHandler 编程入门指南
  4. opencore0.6.4_心灵终结3.3.4
  5. 两台电脑间大量数据拷贝的快捷方法
  6. python中sys模块是什么意思_python之sys模块详解
  7. SpringFox Swagger2注解基本用法
  8. NOIP2017 Day1 T1 小凯的疑惑
  9. EasyRecovery如何恢复javascript文件
  10. python杂记-6(timedatetime模块)
  11. android orientation 代码,android常见错误之Wrong orientation? No orientation specified
  12. 【百战GAN】如何使用GAN给黑白老照片上色?
  13. 日本公司研发出一款可食用的便签纸
  14. 持久化存储系统本版号
  15. python --给图片加文字
  16. 快速学习一门新技术的工作原理(十步学习法来自软技能)
  17. 网络毕业设计--基于华为ensp防火墙双出口负载拟真实验
  18. IDEA的LeetCode力扣插件设置与使用(超详细)
  19. 机器学习模型选择:调参参数选择
  20. 基于Three.js的360度全景图片

热门文章

  1. Joda-Time 入门
  2. Linux下寻求帮助
  3. org.hibernate.loader.custom.NonUniqueDiscoveredSqlAliasException:错误
  4. 若不用计算机tan35 怎么算,三角函数计算器-三角函数计算器
  5. 新消费品牌如何发力KOL营销
  6. 获取谷歌语音库单词发音
  7. 我不是药神--格列卫诞生记
  8. console方法:
  9. 【MATLAB】函数定义与反函数
  10. 开机出现 NTLDR is Missing 的解决方法