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
随机推荐
- CentOS 8 安装 oracle 23c CentOS9 Error deal
1.环境准备 软件准备 序号 软件 下载地址 1 VirtualBox https://www.virtualbox.org/wiki/Downloads 2 CentOS Stream 8 http ...
- 正则表达针对html(九)
前言 关于处理一些html的东西. 正文 假设有一段html文本: <?xml version="1.0" encoding="UTF-8"?> & ...
- 密码学中的RSA算法与椭圆曲线算法
PrimiHub一款由密码学专家团队打造的开源隐私计算平台,专注于分享数据安全.密码学.联邦学习.同态加密等隐私计算领域的技术和内容. 在数字安全领域,加密算法扮演着至关重要的角色.它们确保了信息的机 ...
- CSS 中 MASK 实现图片遮罩登炫酷效果
顾名思义,mask 译为遮罩.在 CSS 中,mask 属性允许使用者通过遮罩或者裁切特定区域的图片的方式来隐藏一个元素的部分或者全部可见区域. 其实 mask 的出现已经有一段时间了,只是没有特别多 ...
- 力扣511(MySQL)-游戏玩法分析Ⅰ(简单)
题目: 活动表 Activity: 写一条 SQL 查询语句获取每位玩家 第一次登陆平台的日期. 查询结果的格式如下所示: 解题思路: 方法一:使用dense_rank() over(partiti ...
- 如何用一个插件解决 Serverless 灰度发布难题?
简介: 我们可以发现相比使用控制台进行灰度发布,使用 FC-Canary 插件免去了用户手动创建版本.发布别名.关联触发器和管理自定义域名的麻烦,使用起来非常方便. 作者:长淇 导读 本文适合: 想了 ...
- Java应用结构规范
简介:在Java程序开发中,命名和应用分层无疑是广大后端同胞的两大"痛点",本文提供一种基于领域模型的轻量级应用分层结构设计,供大家参考.下面按分层结构.分层明细.调用关系.各层 ...
- 如何保证 Serverless 业务部署更新的一致性?
简介: 代码在其他场景被更新,需要我们在当前得到感知,这个事情其实是非常重要的,和代码的安全发布密不可少.而此时,通过 Serverless Devs 是可以做到的. 作者|Anycodes 从我做 ...
- C++多态与虚拟:C++编译器对函数名的改编(Name Mangling)
如果函数名称都相同(也就是被overloaded),编译器在面对你的函数唤起动作时,究竟是如何确定调用哪个函数实体呢?事实上,编译器把所有同名的overloaded functions视为不同的函数, ...
- 关于QQ群炸了的说明
ABAP 7.5学习群不幸被腾讯封了,想要聊天的群友可以加以下两个群, ABAP 7.5历史研究小组 728466742 ABAP 7.5 备份群 582240105