详解numpy.random.randn函数

news2024/11/18 18:25:40

文章目录

  • 正态分布
  • 函数原型
  • 参数解析
  • 该函数的注意事项
    • 示例代码
    • 示例结果
  • 参考
  • 正态分布曲线绘制代码

numpy的random模块中的randn函数用于从“标准正态(方差为1,均值为0的正态分布)”分布返回一个(或多个)float类型数据。。本博客详细节将该函数的API,并给出示例代码和结果。

正态分布

正态分布的概率密度公式:
f ( x ) = 1 σ 2 π e − ( x − μ ) 2 2 σ 2 σ , μ ∈ R f(x)=\frac{1}{\sigma\sqrt{2\pi}}e^{-\frac{(x-\mu)^2}{2{\sigma}^2}} \qquad \sigma,\mu \in \mathbb{R} f(x)=σ2π 1e2σ2(xμ)2σ,μR
其中, σ \sigma σ表示正态分布的标准差尺度参数,决定正态分布钟形曲线的幅度), μ \mu μ表示正态分布的数学期望(位置参数,决定正态分布钟形曲线的中心轴位置)。
在这里插入图片描述

函数原型

numpy.random.randn()

参数解析

  • d0, d1, ..., dn:整型。返回正态分布随机数的维度。如果没有指定任何维度,则只返回一个随机的标准正态分布float类型的值。
  • 返回值:一个(d0, d1, …, dn)维度的正态分布随机数组。

该函数的注意事项

示例代码

import numpy as np
np.random.seed(seed=0)

print(f"不指定randn的维度, 则只返回一个正态分布随机数: \n{np.random.randn()}")
print(f"指定randn的维度为(2, 3), 则只返回一个(2, 3)正态分布随机数组: \n{np.random.randn(2, 3)}")

示例结果

在这里插入图片描述

参考

  1. numpy.random.choice

  2. 正态分布(维基百科)

正态分布曲线绘制代码

import matplotlib.pyplot as plt
import numpy as np

params = {
    "font.family": "serif",
    "font.serif": "Times New Roman",
    "font.style": "normal",
    "font.size": 12,
    "font.weight": "light",
}
plt.rcParams.update(params)

def normal_distribution(x: np.ndarray, sigma: float = 1, mu: float = 0) -> np.ndarray:
    """"""

    return (1 / (sigma*np.sqrt(2*np.pi)))*np.exp(-((x - mu)**2) / (2*(sigma**2)))

x = np.linspace(start=-10, stop=10, num=1000)
fig = plt.figure()

ax = fig.add_subplot(1, 1, 1)
ax.grid(visible=True, linestyle="--", color="pink")
ax.set_title(label="The Different Curves of Normal Distribution", fontdict={"fontweight": "bold"})
ax.set_xlabel(xlabel="Random variable: x", fontdict={"fontweight": "bold"})
ax.set_ylabel(ylabel="Porbability", fontdict={"fontweight": "bold"})
ax.set_xlim(left=-11, right=11)
ax.set_ylim(bottom=-0.1, top=1)
ax.vlines(x=0, ymin=-0.1, ymax=1, color="black", linewidth=1)  # 纵轴
ax.arrow(x=0, y=-0.1, dx=0, dy=1.1, width=0.05, length_includes_head=True, head_width=0.2, head_length=0.08, color="black")  # 纵轴
ax.hlines(y=0, xmin=-11, xmax=11, color="black", linewidth=1)  # 横轴
ax.arrow(x=-11, y=0, dx=22, dy=0, width=0.005, length_includes_head=True, head_width=0.02, head_length=0.8, color="black")  # 横轴
ax.plot(x, normal_distribution(x), color="red", linewidth=1.5, label="$\sigma=1, \mu=0$")
ax.plot(x, normal_distribution(x, sigma=2), color="orange", linewidth=1.5, label="$\sigma=2, \mu=0$")
ax.plot(x, normal_distribution(x, mu=-1), color="yellow", linewidth=1.5, label="$\sigma=1, \mu=-1$")
ax.plot(x, normal_distribution(x, mu=1), color="green", linewidth=1.5, label="$\sigma=1, \mu=1$")
ax.plot(x, normal_distribution(x, mu=3, sigma=4), color="cyan", linewidth=1.5, label="$\sigma=0.5, \mu=3$")
ax.plot(x, normal_distribution(x, mu=-3, sigma=2), color="blue", linewidth=1.5, label="$\sigma=2, \mu=-3$")
ax.plot(x, normal_distribution(x, mu=-2, sigma=0.5), color="purple", linewidth=1.5, label="$\sigma=0.5, \mu=-2$")
ax.legend(loc="upper right")

plt.savefig("Curves.jpg", dpi=300)
plt.show()

收集整理和创作不易, 若有帮助🉑, 请帮忙点赞👍➕收藏❤️, 谢谢!✨✨🚀🚀

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

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

相关文章

Git提交项目到码云或者GitHub(小白也能看懂,图文详解)

1.在gitee上搭建远程仓库,并与本地连接 先注册一个gitee账号 Gitee - 企业级 DevOps 研发效能平台 在码云上新建仓库,用来存放项目 先在本地随便一个地方执行: 鼠标右键、git bash here(前提是你安装好了git) 配置…

yolov5的txt文件转xml文件格式(详细解释与完整代码供应)

文章目录 前言一、yolov5训练数据格式介绍1、txt的类别对应说明2、txt的文件说明3、txt文件格式3、yolov5训练文件形式 二、生成xml文件代码说明1、yolov5的txt读取代码2、生成xml代码 三、yolov5的txt文件转xml文件步骤四、完整代码 前言 本文章实现yolov5的txt数据格式转xml…

Cesium 添加与原生按钮样式相同的按钮

Cesium 添加与原生按钮样式相同的按钮 原生的按钮自定义一个&#xff0c;仿生按钮 原生的按钮 自定义一个&#xff0c;仿生按钮 html <div id"cesiumContainer"><button class"btn" ref"newBtn" click"buttonClick()">&l…

python3高级编程

文章目录 1. Python网络编程1.1 服务器端代码(Server)1.2 客户端代码(Client) 2. 多线程2.1 线程模块2.2 使用 threading 模块创建线程2.3 线程同步2.4 线程优先级队列&#xff08; Queue&#xff09; 3. 日期和时间4. SMTP发送邮件4.1 使用Python发送HTML格式的邮件4.2 Python…

springboot服务注册到Eureka,端口总是默认8080,自己配置端口不生效

这段时间接手了一个公司的老项目&#xff0c;用的是SpringCloud&#xff0c;在我用的时候突然发现有一个服务&#xff0c;注册到Eureka后&#xff0c;界面显示的端口和实际Ribbon调用的实例端口是不一致的&#xff0c;后来我自己写了个端口获取了一下所有的实例信息&#xff0c…

UltralSO软碟通制作Linux系统盘

第一步&#xff1a; 下载镜像 阿里云下载地址&#xff1a;https://mirrors.aliyun.com/centos-vault/ 按照需求选择系统版本&#xff0c;我这要求安装CentOS7.5的系统&#xff0c;我以CentOS7.5为例 第二步&#xff1a; 下载UltralSO软件 官网下载地址&#xff1a;https://cn.…

山西电力市场日前价格预测【2023-08-26】

日前价格预测 预测明日&#xff08;2023-08-26&#xff09;山西电力市场全天平均日前电价为287.61元/MWh。其中&#xff0c;最高日前电价为318.26元/MWh&#xff0c;预计出现在19: 30。最低日前电价为246.18元/MWh&#xff0c;预计出现在05: 15。 价差方向预测 1&#xff1a; 实…

反向传播求变量导数

反向传播求变量导数 1. 相关习题2. 推导流程2.1 相关公式2.3 变量导数求解 3. 代码实现3.1 参数对应3.2 代码实现 以前只知道反向传播通过链式法则实现今天看书发现图片上求出来的值自己算不出来所以自己算了一下&#xff0c;记录一下&#xff0c;并运行了书中的代码相关书籍&a…

Ceph入门到精通-如何编译安装Quagga?

Quagga 1. 理论部分 1.1 软件简介 Quagga中文翻译斑驴&#xff0c;是一种先进的路由软件包&#xff0c;提供一套基于TCP/IP的路由协议。 1.2 斑驴的应用场景 – 使得操作系统变成专业的路由 – 使得操作系统具有与传统路由通过路由协议直接对接 1.3 斑驴支持的路由协议 …

linux篇---使用systemctl start xxx启动自己的程序|开机启动|守护进程

linux篇---使用systemctl start xxx启动自己的程序|开机启动|守护进程 1、创建服务2、修改权限3、启动服务4、测试 机器&#xff1a;Nvidia Jetson Xavier系统&#xff1a;ubuntu 18.04 最近在使用symfony的console组件&#xff0c;需要执行一个后台的php进程&#xff0c;并且…

DevOps之自动化测试

什么是自动化测试&#xff1f; 明确一下自动化测试不是什么。自动化测试不是指自动化生成测试代码&#xff0c;而是自动化地执行由开发人员或测试人员编写的测试代码。正如下面这句谚语&#xff1a;“绝不要手工去做任何可以被自动化处理的事情。——Curt Hibbs” 之前是由人…

Windows 桌面运维及安全管理

什么是桌面运维 桌面运维是IT管理的重要部分&#xff0c;是一种系统管理的技术&#xff0c;它的主要目的是通过管理用户、计算机和其他设备来提高组织的效率。它不仅能够降低维护成本&#xff0c;而且还能够提高系统的可用性。 如今随着企业设备越来越丰富&#xff0c;桌面运…

前端需要理解的数据治理与异常监控知识

1 数据治理 前端数据治理的重要指标是准确性和数据&#xff0c;一个数据对象包括数据值和其他元数据。 2 数据上报方式 2.1 Image 通过将采集的数据拼接在图片请求的后面&#xff0c;向服务端请求一个 1*1 px 大小的图片&#xff08;gif&#xff09;实现的&#xff0c;设置…

与活力四射的 {Agorians} 化身一起拥抱自我超越

准备好通过新的化身转换来探索新的自己吧&#xff01; 我们与法国多学科艺术家和 DJ Agoria 达成合作&#xff0c;自豪地宣布推出 {Agorians} 化身系列&#xff0c;这是有史以来第一个实现自动外观变换以反映一天中真实时间的 Web3 化身系列。在一天里&#xff0c;你们的化身…

跨地区、跨平台、跨网络,如何解决远程IT运维集中管理难题

面对日益激增的IT复杂性和业务需求的快速变化&#xff0c;IT应用在运行过程中发生性能下降或者服务不可用等故障的可能性大大增加&#xff0c;如何更高效、更智能地开展IT运维&#xff0c;保证业务的连续性和IT系统的稳定性&#xff0c;成为企业业务发展的迫切需要。IT运维作为…

BGP路径劫持攻击实验

一、实验目的&#xff1a; 1&#xff09;BGP实验环境搭建 2&#xff09;BGP路径劫持验证 二、预备知识&#xff1a; BGP(Border Gateway Protocol)边界网关协议&#xff0c;也就是不同自治系统autonomous system之间进行路由交换的协议 三、实验环境&#xff1a; 四、…

X2000 Linux PWM

一、硬件设计 PC04 ------------PWM4 二、通过shell开启PWM 配置参数 cmd_pwm config pc04 freq1000 max_level100 active_level1 accuracy_priorityfreq 启动 cmd_pwm set_level pc04 10 三、通过写程序控制 先用IConfigTool工具&#xff0c;使能libhardware2--->pwm…

Kafka生产者原理 kafka生产者发送流程 kafka消息发送到集群步骤 kafka如何发送消息 kafka详解

kafka尚硅谷视频&#xff1a; 10_尚硅谷_Kafka_生产者_原理_哔哩哔哩_bilibili ​ 1. producer初始化&#xff1a;加载默认配置&#xff0c;以及配置的参数&#xff0c;开启网络线程 2. 拦截器拦截 3. 序列化器进行消息key, value序列化 4. 进行分区 5. kafka broker集群 获取…

3D模型转换工具HOOPS Exchange助力打造虚拟现实应用程序

挑战&#xff1a; 支持使用各种 CAD 系统和 CAD 文件格式的客户群向可视化硬件提供快速、准确的数据加载提供对详细模型信息的访问&#xff0c;同时确保高帧率性能 解决方案&#xff1a; HOOPS Exchange领先的CAD数据转换工具包 结果&#xff1a; 确保支持来自领先工程软件…

【Python编程】将同一种图片分类到同一文件夹下,并且将其分类的路径信息写成txt文件进行保存

注&#xff1a;数据结构同上一篇博文类似 一、代码 import os import cv2 import shutilpath0os.getcwd()\\apple\\RGB path1os.getcwd()\\apple\\tof_confidence # path2os.getcwd()\\apple\\tof_depth # path3os.getcwd()\\apple\\tof_depthRGB # path4os.getcwd()\\apple\…