NumPy 正态分布与 Seaborn 可视化指南
正态分布(高斯分布)
简介
正态分布(也称为高斯分布)是一种非常重要的概率分布,它描述了许多自然和人为现象的数据分布情况。正态分布的形状呈钟形,其峰值位于平均值处,两侧对称下降。
特征
正态分布可以用两个参数来完全描述:
均值(μ):表示数据的平均值,分布的峰值位于 μ 处。
标准差(σ):表示数据的离散程度,数值越大,分布越平坦。
生成正态分布数据
NumPy 提供了 random.normal() 函数来生成服从正态分布的随机数。该函数接受以下参数:
loc:正态分布的均值,默认为 0。
scale:正态分布的标准差,默认为 1。
size:输出数组的形状。
示例:生成 100 个服从正态分布的随机数,均值为 5,标准差为 2:
import numpy as np
data = np.random.normal(loc=5, scale=2, size=100)
print(data)
可视化正态分布
Seaborn 库提供了便捷的函数来可视化分布,包括正态分布。
示例:绘制服从正态分布的数据的分布图:
import seaborn as sns
import numpy as np
data = np.random.normal(size=1000)
sns.distplot(data)
plt.show()
应用
正态分布在许多领域都有应用,例如:
统计学:用于推断总体参数,进行假设检验等。
机器学习:用于数据预处理,特征工程等。
金融:用于建模股票价格、汇率等金融数据。
工程:用于控制质量、可靠性分析等。
练习
- 生成 500 个服从正态分布的随机数,均值为 10,标准差为 3,并绘制它们的分布图。
- 比较不同标准差下正态分布形状的变化。
- 利用正态分布来模拟一次考试成绩,并计算平均分和标准分。
解决方案
import seaborn as sns
import numpy as np
import matplotlib.pyplot as plt
# 1. 生成服从正态分布的随机数并绘制分布图
data = np.random.normal(loc=10, scale=3, size=500)
sns.distplot(data)
plt.show()
# 2. 比较不同标准差下正态分布形状的变化
sns.distplot(np.random.normal(size=1000, scale=1), label="σ=1")
sns.distplot(np.random.normal(size=1000, scale=2), label="σ=2")
sns.distplot(np.random.normal(size=1000, scale=3), label="σ=3")
plt.legend()
plt.show()
# 3. 模拟考试成绩并计算平均分和标准分
scores = np.random.normal(loc=80, scale=10, size=100)
print("平均分:", scores.mean())
print("标准分:", (scores - scores.mean()) / scores.std())
解释:
在第一个练习中,我们生成了 500 个服从正态分布的随机数,均值为 10,标准差为 3,并使用 Seaborn 的 distplot() 函数绘制了它们的分布图。
在第二个练习中,我们生成了三个服从正态分布的数据集,分别设置标准差为 1、2 和 3,并使用 Seaborn 的 distplot() 函数绘制了它们的分布图。我们可以观察到,随着标准差的增加,分布变得更加平坦,两侧的尾巴更加明显。
在第三个练习中,我们模拟了一次考试成绩,假设成绩服从正态分布,均值为 80,标准差为 10。然后,我们计算了考试成绩的平均分和标准分。
最后
为了方便其他设备和平台的小伙伴观看往期文章:
微信公众号搜索:Let us Coding,关注后即可获取最新文章推送
看完如果觉得有帮助,欢迎点赞、收藏、关注
NumPy 正态分布与 Seaborn 可视化指南的更多相关文章
- Python - Seaborn可视化:图形个性化设置的几个小技巧
1 概述 在可视化过程中,经常会对默认的制图效果不满意,希望能个性化进行各种设置. 本文通过一个简单的示例,来介绍seaborn可视化过程中的个性化设置.包括常用的设置,如: 设置图表显示颜色 设置图 ...
- Go内存分配器可视化指南【译】【精】
当我第一次开始尝试理解 Go 语言的内存分配器时,整个过程让我抓狂.一切看起来都像一个神秘的黑盒子.因为几乎所有技术魔法(technical wizardry)都隐藏在抽象之下,所以你需要一层一层的剥 ...
- Numpy使用Matplotlib实现可视化绘图
Numpy使用Matplotlib实现可视化绘图 可以直接将Numpy的数组传给Matplotlib实现可视化绘图: 曲线图 饼图 柱状图 直方图 1. 绘制正弦曲线 2. 绘制饼图 3. 柱状图 4 ...
- Python Seaborn综合指南,成为数据可视化专家
概述 Seaborn是Python流行的数据可视化库 Seaborn结合了美学和技术,这是数据科学项目中的两个关键要素 了解其Seaborn作原理以及使用它生成的不同的图表 介绍 一个精心设计的可视化 ...
- 『科学计算』可视化二元正态分布&3D科学可视化实战
二元正态分布可视化本体 由于近来一直再看kaggle的入门书(sklearn入门手册的感觉233),感觉对机器学习的理解加深了不少(实际上就只是调包能力加强了),联想到假期在python科学计算上也算 ...
- 转载:CSS3 Flexbox可视化指南
0. 目录 目录 引言 正文 1 引入 2 基础 3 使用 4 弹性容器Flex container属性 41 flex-direction 42 flex-wrap 43 flex-flow 44 ...
- Flexbox属性可视化指南
Flexbox 布局(国内很多人称为弹性布局)正式的全称为 CSS Flexible Box布局模块,它是CSS3新增的一种布局模式.它可以很方便地用来改善动态或未知大小的元素的对齐,方向和顺序等等. ...
- CSS3 Flexbox可视化指南
0. 目录 目录 引言 正文 1 引入 2 基础 3 使用 4 弹性容器Flex container属性 41 flex-direction 42 flex-wrap 43 flex-flow 44 ...
- CSS3 Flexbox(伸缩盒/弹性盒模型)可视化指南
在http://css.doyoe.com/(CSS参考手册)中,本文对应其中的伸缩盒 引入 Flexbox布局官方称为CSS Flexible Box Layout Module是一个CSS3新的布 ...
- seaborn可视化特征的相关性
import seaborn as sn sn.heatmap(trainX.corr(),vmax=1,square=True)
随机推荐
- Docker学习路线9:运行容器
要启动一个新的容器,我们使用 docker run 命令,后跟镜像名称.基本语法如下: docker run [选项] 镜像 [COMMAND] [ARG...] 例如,要运行官方的 Nginx 镜像 ...
- C# DevExpress下GridControl控件的增删查改
DevExpress的GridControl控件可以从任何数据源绑定数据并进行增删查改等操作,和VS自带的dataGridView控件对比,GridControl控件可以实现更多自定义的功能,界面UI ...
- 详解Java Chassis 3与Spring Cloud的互操作
本文分享自华为云社区<Java Chassis 3技术解密:与Spring Cloud的互操作>,作者: liubao68. Java Chassis 3一个很重要的设计原则:利用架构的韧 ...
- HDC2021技术分论坛:HarmonyOS内核技术大揭秘!
作者:jikecheng,miaoxie,HarmonyOS内核技术专家 HarmonyOS整体框架分为四个层级,如图1所示.从上到下,依次为:第一层是应用层,主要涵盖系统应用.Launcher.设置 ...
- leetcode:1337. 方阵中战斗力最弱的 K 行
1337. 方阵中战斗力最弱的 K 行 给你一个大小为 m * n 的方阵 mat,方阵由若干军人和平民组成,分别用 0 和 1 表示. 请你返回方阵中战斗力最弱的 k 行的索引,按从最弱到最强排序. ...
- szfpga 高云gowin国产开发板GW2AR-18核心板fpga cpld测试板
1. 概述 国产FPGA是最近几年起来的产品,具有性价比高特点.而GOWIN属于国产FPGA成员,在服务和芯片都是比较大的优势,很多用户都用在LED控制,电机控制,PLC设备上,以及用于替换Latti ...
- js判断元素内文字是否超出元素宽度,溢出隐藏
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- ClkLog自定义事件分析登场
ClkLog的自定义事件分析功能在大家满满的期待下终于发布了. 这次更新我们添加了[用户关联].[事件采集].[事件分析]三大块功能点. 本次上线的自定义事件分析可以让用户根据自身业务场景创建不同维 ...
- js 连接数据库 提示:ActiveXObject is not defined
ActiveXObject is not defined 最近比较闲,上班瞎捣鼓一下,没想到报错了,提示ActiveXObject is not defined 大概是在js连接数据库时new对象使用 ...
- 力扣612(MySQL)-平面上的最近距离(中等)
题目: 表 point_2d 保存了所有点(多于 2 个点)的坐标 (x,y) ,这些点在平面上两两不重合.写一个查询语句找到两点之间的最近距离,保留 2 位小数. 最近距离在点 (-1,-1) 和( ...