NumPy 均匀分布模拟及 Seaborn 可视化教程
均匀分布
简介
均匀分布是一种连续概率分布,表示在指定范围内的所有事件具有相等的发生概率。它常用于模拟随机事件,例如生成随机数或选择随机样本。
参数
均匀分布用两个参数来定义:
a:下限,表示分布的最小值。
b:上限,表示分布的最大值。
公式
均匀分布的概率密度函数 (PDF) 为:
f(x) = 1 / (b - a) for a <= x <= b
其中:
f(x):表示在区间 [a, b] 内 x 点的概率密度。
a:分布的下限。
b:分布的上限。
生成均匀分布数据
NumPy 提供了 random.uniform() 函数来生成服从均匀分布的随机数。该函数接受以下参数:
low:分布的下限,默认为 0。
high:分布的上限,默认为 1。
size:输出数组的形状。
示例:生成 10 个介于 0 到 1 之间的均匀分布随机数:
import numpy as np
data = np.random.uniform(low=0, high=1, size=10)
print(data)
可视化均匀分布
Seaborn 库提供了便捷的函数来可视化分布,包括均匀分布。
示例:绘制 1000 个介于 0 到 1 之间的均匀分布随机数的分布图:
import seaborn as sns
import numpy as np
data = np.random.uniform(low=0, high=1, size=1000)
sns.distplot(data)
plt.show()
练习
- 生成 500 个介于 -10 到 10 之间的均匀分布随机数,并绘制它们的分布图。
- 比较不同范围下均匀分布形状的变化。
- 利用均匀分布来模拟 100 次抛硬币的结果,并计算正面朝上的次数的概率。
解决方案
import seaborn as sns
import numpy as np
import matplotlib.pyplot as plt
# 1. 生成随机数并绘制分布图
data = np.random.uniform(low=-10, high=10, size=500)
sns.distplot(data)
plt.show()
# 2. 比较不同范围下分布形状的变化
low_values = [-10, 0, 10]
high_values = [10, 20, 30]
for low, high in zip(low_values, high_values):
data = np.random.uniform(low=low, high=high, size=1000)
sns.distplot(data, label=f"[{low},{high}]")
plt.legend()
plt.show()
# 3. 模拟抛硬币结果并计算正面朝上的次数概率
heads = np.random.uniform(low=0, high=1, size=100) > 0.5
print("正面朝上的次数:", heads.sum())
print("正面朝上的概率:", heads.mean())
逻辑分布
简介
逻辑分布,也称为Logistic分布,是一种连续概率分布,常用于建模具有 S 形增长特征的现象,例如生物种群增长、疫情发展等。它在机器学习中也具有广泛的应用,例如逻辑回归、神经网络等。
参数
逻辑分布用两个参数来定义:
loc:位置参数,表示分布的中心位置。默认为 0。
scale:尺度参数,控制分布的平坦程度。较大的尺度参数使分布更加平坦,两侧尾部更加分散。默认为 1。
公式
逻辑分布的概率密度函数 (PDF) 为:
f(x) = (scale / (π (1 + (x - loc) / scale)^2)) for all x
其中:
f(x):表示在所有实数 x 点的概率密度。
loc:分布的位置参数。
scale:分布的尺度参数。
生成逻辑分布数据
NumPy 提供了 random.logistic() 函数来生成服从逻辑分布的随机数。该函数接受以下参数:
loc:位置参数,默认为 0。
scale:尺度参数,默认为
最后
为了方便其他设备和平台的小伙伴观看往期文章:
微信公众号搜索:Let us Coding,关注后即可获取最新文章推送
看完如果觉得有帮助,欢迎点赞、收藏、关注
NumPy 均匀分布模拟及 Seaborn 可视化教程的更多相关文章
- 国外大神制作的一个很棒的matplotlib 可视化教程
国外大神制作的一个很棒的matplotlib 可视化教程 参考:https://www.machinelearningplus.com/plots/top-50-matplotlib-visualiz ...
- Darknet卷基层浅层特征可视化教程
目录 Darknet浅层可视化教程 说明 处理步骤 使用python可视化txt文件 Darknet浅层可视化教程 说明 针对YOLO官方提供的c语言版的darknet进行了修改,添加了一些函数,进行 ...
- Python - Seaborn可视化:图形个性化设置的几个小技巧
1 概述 在可视化过程中,经常会对默认的制图效果不满意,希望能个性化进行各种设置. 本文通过一个简单的示例,来介绍seaborn可视化过程中的个性化设置.包括常用的设置,如: 设置图表显示颜色 设置图 ...
- PJ可能会考的模拟与枚举-自学教程
PJ可能会考的模拟与枚举-自学教程 文/Pleiades_Antares 之前学校里看一个小可爱复习的时候偷偷听来着XD 简单记了一下重点吧,希望能对看官您有所帮助XD 以下⬇️是几个复习时讲过的题, ...
- seaborn可视化
文章来自https://blog.csdn.net/qq_33120943/article/details/76569756 详细教程可以查看官方额示例:http://seaborn.pydata.o ...
- seaborn可视化特征的相关性
import seaborn as sn sn.heatmap(trainX.corr(),vmax=1,square=True)
- VM虚拟机网卡LAN区段模拟内网使用教程
目录 1. 测试环境 2. 设置LAN区段并测试 2.1. 添加LAN区段 2.2. 在虚拟机中设置静态IP地址 2.3. 测试同一LAN区段的主机是否可以联通 2.4 ...
- 使用Fiddler模拟弱网测试教程
一.下载抓包工具Fiddler 官网下载链接:https://www.telerik.com/fiddler 二.设置Fiddler Tools>>Connections 然后修改监听端 ...
- echarts 移动端地图数据可视化教程
如上效果图: 以下未代码: <!doctype html> <html lang="en"> <head> <meta charset ...
- Git可视化教程——Git Gui的使用
参考链接:https://blog.csdn.net/qq_34842671/article/details/70916587
随机推荐
- 如何用vsftpd实现用户不同权限:只能下载,可上传,管理权限等 [仅供参考未亲测]
如何用vsftpd实现用户不同权限:只能下载,可上传,管理权限等 2007-01-29 10:20:09 分类: LINUX 前提条件: 必须安装包:vsftpd-2.0.1-5 ...
- Caused by: org.gradle.api.internal.artifacts.ivyservice.DefaultLenientConfiguration$ArtifactResolveException: Could not resolve all files for configuration ':classpath'.
前言 这个错误怎么看呢? 如果你对gradle 不是很了解的话,有一个建议,就是把异常背下来,当然是看这个:ArtifactResolveException哈. 而不是后面的详情. 正文 给我们详情是 ...
- Lattice下载器高速编程器HW-USBN-2B fpga仿真器ispdown烧录器
1.概述 HW-USBN-2B 编程烧录Lattice所有芯片,速度非常快.支持Lattice FPGA芯片在线稳定仿真.烧录.加密,支持Lattice CPLD烧录.支持外部配置FLASH.PROM ...
- Vue-flask 展示小电影
显示小电影 前端Vue <body> <div id="app"> <button @click="handleLoad"> ...
- 企业实施定制鞋厂ERP软件需要注意哪些问题?
企业实施定制ERP软件是个复杂的管理系统工程,为了成功地为企业定制实施ERP软件,需要注意和解决几个关键的问题: (1) . 确立ERP系统实施和定制的决策者: (2) . 做好前期咨询与调研工作: ...
- 阿里千万实例可观测采集器-iLogtail正式开源
简介:11月23日,阿里正式开源可观测数据采集器iLogtail.作为阿里内部可观测数据采集的基础设施,iLogtail承载了阿里巴巴集团.蚂蚁的日志.监控.Trace.事件等多种可观测数据的采集工 ...
- 2018-8-29-dotnet-core-2.1-使用阶梯编译
title author date CreateTime categories dotnet core 2.1 使用阶梯编译 lindexi 2018-08-29 08:49:12 +0800 201 ...
- 国内常用源开发环境换源(flutter换源,python换源,Linux换源,npm换源)
国内开源镜像站点 大学 清华大学开源软件镜像站 (使用较多) 中国科学技术大学开源软件镜像 (使用较多) 浙江大学开源镜像站 (主要是各发行版Linux,pip等常用库) 哈尔滨工业大学开源镜像站 ( ...
- 前端之JavaScript基础学习
一.JS代码引入以及基本代码规范 # 1.js代码书写格式 <script> ....js的代码 </script> #2.script标签写在页面那个位置 1)页面的head ...
- Java面试题:SimpleDateFormat是线程安全的吗?使用时应该注意什么?
在日常开发中,我们经常会用到时间,我们有很多办法在Java代码中获取时间.但是不同的方法获取到的时间的格式都不尽相同,这时候就需要一种格式化工具,把时间显示成我们需要的格式. 最常用的方法就是使用Si ...