机器学习常用包numpy篇(三)随机数

news2024/11/16 0:49:39

目录

前言

随机数的生成

1.指定形状 生成【0,1)的随机数组

2.从标准正态分布中返回一个或多个样本值(组成数组)

3.生成规定区间内的规定形状的随机数组

4. 生成[0, 1) 区间内指定 size 的随机浮点数 数组

5.从给定的数组里随机抽取几个值(随机抽样)

特定概率密度分布函数的随机数数组


前言

NumPy 的随机数功能非常强大,且主要由 numpy.random 模块完成。

相关文章:

机器学习常用包numpy篇(零)前置知识·数值类型-CSDN博客

机器学习入门常用包-numpy篇(一)数组生成_机器学习 numpy-CSDN博客

机器学习常用包numpy篇(二)数组属性与基本操作-CSDN博客

随机数的生成

首先,我们需要了解如何使用 NumPy 生成一些满足基本需求的随机数据。主要由以下一些方法完成:

1.指定形状 生成【0,1)的随机数组

numpy.random.rand(d0, d1, ..., dn) 方法的作用为:指定一个数组,并使用 [0, 1) 区间随机数据填充,这些数据均匀分布。

np.random.rand(2, 5)

2.从标准正态分布中返回一个或多个样本值(组成数组)

numpy.random.randn(d0, d1, ..., dn) 与 numpy.random.rand(d0, d1, ..., dn) 的区别在于,前者是从标准正态分布中返回一个或多个样本值。(标准正态分布:0为均值,1为方差)

np.random.randn(1, 10)

3.生成规定区间内的规定形状的随机数组

randint(low, high, size, dtype) 方法将会生成 [low, high) 的随机整数。注意这是一个半开半闭区间。

np.random.randint(2, 5, 10)

4. 生成[0, 1) 区间内指定 size 的随机浮点数 数组

random_sample(size) 方法将会在 [0, 1) 区间内生成指定 size 的随机浮点数。

np.random.random_sample([10])

与 numpy.random.random_sample 类似的方法还有:

  • numpy.random.random([size])
  • numpy.random.ranf([size])
  • numpy.random.sample([size])

它们 4 个的效果都差不多。

5.从给定的数组里随机抽取几个值(随机抽样)

choice(a, size, replace, p) 方法将会从给定的数组里随机抽取几个值,该方法类似于随机抽样。

np.random.choice(10, 5)

上面的代码将会在 np.arange(10) 中随机抽取 5 个数。(可能会重复)

特定概率密度分布函数的随机数数组

除了上面介绍的 6 种随机数生成方法,NumPy 还提供了大量的满足特定概率密度分布的样本生成方法。它们的使用方法和上面非常相似,这里就不再一一介绍了。列举如下:

numpy.random.beta(a,b,size) 
#从 Beta 分布中生成随机数。
numpy.random.binomial(n, p, size)
#从二项分布中生成随机数。
numpy.random.chisquare(df,size)
#从卡方分布中生成随机数。
numpy.random.dirichlet(alpha,size)
#从 Dirichlet 分布中生成随机数。
numpy.random.exponential(scale,size)
#从指数分布中生成随机数。
numpy.random.f(dfnum,dfden,size)
#从 F 分布中生成随机数。
numpy.random.gamma(shape,scale,size)
#从 Gamma 分布中生成随机数。
numpy.random.geometric(p,size)
#从几何分布中生成随机数。
numpy.random.gumbel(loc,scale,size)
#从 Gumbel 分布中生成随机数。
numpy.random.hypergeometric(ngood, nbad, nsample, size)
#从超几何分布中生成随机数。
numpy.random.laplace(loc,scale,size)
#从拉普拉斯双指数分布中生成随机数。
numpy.random.logistic(loc,scale,size)
#从逻辑分布中生成随机数。
numpy.random.lognormal(mean,sigma,size)
#从对数正态分布中生成随机数。
numpy.random.logseries(p,size)
#从对数系列分布中生成随机数。
numpy.random.multinomial(n,pvals,size)
#从多项分布中生成随机数。
numpy.random.multivariate_normal(mean, cov, size)
#从多变量正态分布绘制随机样本。
numpy.random.negative_binomial(n, p, size)
#从负二项分布中生成随机数。
numpy.random.noncentral_chisquare(df,nonc,size)
#从非中心卡方分布中生成随机数。
numpy.random.noncentral_f(dfnum, dfden, nonc, size)
#从非中心 F 分布中抽取样本。
numpy.random.normal(loc,scale,size)
#从正态分布绘制随机样本。
numpy.random.pareto(a,size)
#从具有指定形状的 Pareto II 或 Lomax 分布中生成随机数。
numpy.random.poisson(lam,size)
#从泊松分布中生成随机数。
numpy.random.power(a,size)
#从具有正指数 a-1 的功率分布中在 0,1 中生成随机数。
numpy.random.rayleigh(scale,size)
#从瑞利分布中生成随机数。
numpy.random.standard_cauchy(size)
#从标准 Cauchy 分布中生成随机数。
numpy.random.standard_exponential(size)
#从标准指数分布中生成随机数。
numpy.random.standard_gamma(shape,size)
#从标准 Gamma 分布中生成随机数。
numpy.random.standard_normal(size)
#从标准正态分布中生成随机数。
numpy.random.standard_t(df,size)
#从具有 df 自由度的标准学生 t 分布中生成随机数
numpy.random.triangular(left,mode,right,size)
#从三角分布中生成随机数。
numpy.random.uniform(low,high,size)
#从均匀分布中生成随机数。
numpy.random.vonmises(mu,kappa,size)
#从 von Mises 分布中生成随机数。
numpy.random.wald(mean,scale,size)
#从 Wald 或反高斯分布中生成随机数。
numpy.random.weibull(a,size)
#从威布尔分布中生成随机数。
numpy.random.zipf(a,size)
#从 Zipf 分布中生成随机数。

以上为笔者的学习笔记,如有不妥,希望各位批评指正0v0

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2054293.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

visionpro链接相机-生成应用程序

Cognex GigE Vision Configurator VisionPro (R) Application Wizard

无边界经济:Web3如何打造全球化数字市场

随着互联网技术的不断发展,Web3正在成为推动全球数字市场变革的关键力量。相较于传统的中心化互联网,Web3通过去中心化、区块链和智能合约等技术,正在重新定义全球经济的运作方式。本文将探讨Web3如何实现全球化数字市场的无边界化&#xff0…

【备战蓝桥杯青少组】第二天 奇特的砖墙

真题 第十四届省赛 编程题 第5题 工人砌了一面奇特的砖墙,该墙由N列砖组成(1≤N≤1e6),且每列砖的数量为Ki(1≤Ki≤1e4,相邻砖块之间无缝隙),每块砖的长宽高都为1。小蓝为了美化这面…

【JAVA CORE_API】Day17 转换流、缓冲字符流、异常概念try、catch、finally、throw、throws、异常API、自定义异常

字符流 字符流 字符流 字符流是以字符(char)为单位读写数据的,一次处理一个unicode;java.io.Reader是所有字符输入流的父类;java.io.Writer是所有字符输出流的父类;字符流仅适合读写文本数据。 字符输入…

计算机毕业设计选题推荐-springboot 基于springboot的扶贫助农系统

✍✍计算机编程指导师 ⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流! ⚡⚡ Java实战 |…

vscode中自定义vue模板(生成的模版里边的div是自己建的文件名)

1.点击之后会出来这个页面 点击去 然后输入下边这段json就可以了 {"vue3模板": {"prefix": "vue","description": "vue3模板","body": ["<template>","<div class$TM_FILENAME_BASE&g…

网络编程/在哪些场景中不必要进行网络字节序转换? Windows Sockets: Byte Ordering

文章目录 概述字节序必须转换字节序的的情况不必转换字节序的的情况字节序转换的例程字节序转换函数字节序转换可以不生硬字节序和位序 概述 本文主要讲述了在哪些场景下必须要进行大小端字节序转换&#xff0c;在哪些场景下可以不用进行大小端字节序转换&#xff0c;IP和端口…

并查集+思维,CF 1039C - Network Safety

目录 一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 二、解题报告 1、思路分析 2、复杂度 3、代码详解 一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 1039C - Network Safety 二、解题报告 1、思路分析 考虑边<u, v>&…

深度学习基础—动量梯度下降法

1.算法原理 动量梯度下降法就是在梯度下降法的基础上&#xff0c;使用指数加权移动平均值&#xff0c;来平均梯度&#xff0c;这种算法比梯度下降法更快。 如上图&#xff0c;损失函数的最小值是红点&#xff0c;椭圆是损失函数的图像&#xff0c;梯度下降法就像蓝线和紫线&…

Linux安装MQTT 服务器(图文教程)

MQTT&#xff08;Message Queuing Telemetry Transport&#xff09;是一种轻量级的消息传输协议&#xff0c;专为低带宽和不稳定的网络环境设计&#xff0c;非常适合物联网&#xff08;IoT&#xff09;应用。 官网地址&#xff1a;https://www.emqx.com/ 一、版本选择 根据自己…

el-tree多选的父子关联和父子不关联和拖拽功能

公用js变量&#xff1a; data () {return {// 绑定的数组treeData: [],// 多选选择的idids: []} }, 公用js方法&#xff1a; /*** 选择多选改变*/ nodeChange(data, checked, indeterminate) {let keys this.$refs.treeCategory.getCheckedKeys();this.ids keys; } 第一种…

Android 架构模式之 MVP

目录 架构设计的目的对 MVP 的理解代码ModelViewPresenter Android 中 MVP 的问题试吃个小李子ModelViewPresenter 大家好&#xff01; 作为 Android 程序猿&#xff0c;你有研究过 MVP 架构吗&#xff1f;在开始接触 Android 那一刻起&#xff0c;我们就开始接触 MVC 架构&am…

“解决Windows电脑无法投影到其他屏幕的问题:尝试更新驱动程序或更换视频卡“

背景: 今天在日常的工作中&#xff0c; 我想将笔记本分屏到另一个显示屏&#xff0c;我这电脑Windows10&#xff0c;当我按下Windows键P键&#xff0c;提示我"你的电脑不能投影到其他屏幕&#xff0c;请尝试从新安装驱动程序或使用"遇到这种问题。 解决方法1: 1.快…

解决 idea 创建maven项目卡住

一, 现象 选择一个Archetype后创建项目,一直卡着,点哪里都点不了,有的博客说可以看maven的日志排查问题,我这里没有任何日志输出 二,为什么会卡住 结论: 因为idea在从中央仓库下载archetype-catalog.xml(文件较大,14.8M)导致卡住 分析: 首先要明白通过Archetype创建…

openssl查看证书公钥 openssl 验证证书和密钥

例如&#xff1a;中间件或者openssl生成国密证书请求文件文件里面省份必须写陕西省三个汉字 安装完成后&#xff0c;使用下列命令查看该版本的openssl是否支持SM2参数&#xff1a; openssl ecparam -list_curves | grep SM2 查看openssl版本信息 openssl version -a 查看open…

【C++篇】迈入新世界的大门——初识C++(下篇)

文章目录 前言引用引用的概念和定义引用的特性引用的使用const引用指针和引用的关系 inline#define定义宏inline nullptr 前言 接上篇&#xff1a;【C篇】迈入新世界的大门——初识C&#xff08;上篇&#xff09; 引用 引用的概念和定义 引⽤不是新定义⼀个变量&#xff0c;…

第10章 无持久存储的文件系统 (3)

目录 10.2 简单文件系统 10.2.1 顺序文件 10.2.2 用libfs编写文件系统 10.2.3 调试文件系统 10.2.4 伪文件系统 10.3 sysfs 10.3.1 概述 10.3.2 数据结构 10.3.3 装载文件系统 10.3.4 文件和目录操作 10.3.5 向sysfs添加内容 10.4 小结 本专栏文章将有70篇左右&…

Node.js及mysql的安装,建立页面,javascript对mySQL数据库的操作过程

具体动态效果看视频 node.js连接MySQL数据库操作 第一部分&#xff1b;配置服务器环境 Nods.js, NPM,CNPM,mysql2,express的安装 前往 Node.js 官方网站&#xff08;https://nodejs.org/&#xff09;下载并安装最新的稳定版本&#xff0c;确定配置好path环境变量&#xff0c;其…

Linux网络环境搭建,开发板网线直连电脑网口,电脑WIFI上网

开发板网线直连电脑网口&#xff08;电脑自带&#xff0c;一般有PCI&#xff0c;不是USB网卡&#xff09;&#xff0c;电脑WIFI上网 因为电脑是 WiFi 上网&#xff0c;所以需要添加一个网络适配器并设置成 NAT 模式&#xff0c;供虚拟机上网。 设置双网卡&#xff0c;注意双网卡…

SQL 时间盲注 (injection 第十五关)

简介 SQL注入&#xff08;SQL Injection&#xff09;是一种常见的网络攻击方式&#xff0c;通过向SQL查询中插入恶意的SQL代码&#xff0c;攻击者可以操控数据库&#xff0c;SQL注入是一种代码注入攻击&#xff0c;其中攻击者将恶意的SQL代码插入到应用程序的输入字段中&#x…