前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >NumPy 均匀分布模拟及 Seaborn 可视化教程

NumPy 均匀分布模拟及 Seaborn 可视化教程

原创
作者头像
小万哥
发布于 2024-05-30 12:29:18
发布于 2024-05-30 12:29:18
13600
代码可运行
举报
文章被收录于专栏:程序人生丶程序人生丶
运行总次数:0
代码可运行

均匀分布

简介

均匀分布是一种连续概率分布,表示在指定范围内的所有事件具有相等的发生概率。它常用于模拟随机事件,例如生成随机数或选择随机样本。

参数

均匀分布用两个参数来定义:

a:下限,表示分布的最小值。

b:上限,表示分布的最大值。

公式

均匀分布的概率密度函数 (PDF) 为:

代码语言:python
代码运行次数:0
运行
AI代码解释
复制
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 之间的均匀分布随机数:

代码语言:python
代码运行次数:0
运行
AI代码解释
复制
import numpy as np

data = np.random.uniform(low=0, high=1, size=10)
print(data)

可视化均匀分布

Seaborn 库提供了便捷的函数来可视化分布,包括均匀分布。

示例:绘制 1000 个介于 0 到 1 之间的均匀分布随机数的分布图:

代码语言:python
代码运行次数:0
运行
AI代码解释
复制
import seaborn as sns
import numpy as np

data = np.random.uniform(low=0, high=1, size=1000)
sns.distplot(data)
plt.show()

练习

  1. 生成 500 个介于 -10 到 10 之间的均匀分布随机数,并绘制它们的分布图。
  2. 比较不同范围下均匀分布形状的变化。
  3. 利用均匀分布来模拟 100 次抛硬币的结果,并计算正面朝上的次数的概率。

解决方案

代码语言:python
代码运行次数:0
运行
AI代码解释
复制
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) 为:

代码语言:python
代码运行次数:0
运行
AI代码解释
复制
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,关注后即可获取最新文章推送

看完如果觉得有帮助,欢迎点赞、收藏、关注

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
NumPy 正态分布与 Seaborn 可视化指南
正态分布(也称为高斯分布)是一种非常重要的概率分布,它描述了许多自然和人为现象的数据分布情况。正态分布的形状呈钟形,其峰值位于平均值处,两侧对称下降。
小万哥
2024/05/23
1210
NumPy 正态分布与 Seaborn 可视化指南
NumPy 泊松分布模拟与 Seaborn 可视化技巧
泊松分布是一种离散概率分布,用于描述在给定时间间隔内随机事件发生的次数。它常用于模拟诸如客户到达商店、电话呼叫接入中心等事件。
小万哥
2024/05/29
1960
NumPy 二项分布生成与 Seaborn 可视化技巧
二项分布是一种离散概率分布,用于描述在固定次数的独立试验中,事件“成功”的次数的概率分布。它通常用于分析诸如抛硬币、做选择题等具有两个结果(成功或失败)的事件。
小万哥
2024/05/27
1020
NumPy 二项分布生成与 Seaborn 可视化技巧
NumPy 随机数据分布与 Seaborn 可视化详解
数据分布是指数据集中所有可能值出现的频率,并用概率来表示。它描述了数据取值的可能性。
小万哥
2024/05/21
1400
NumPy 随机数据分布与 Seaborn 可视化详解
NumPy 随机数据分布与 Seaborn 可视化详解
数据分布是指数据集中所有可能值出现的频率,并用概率来表示。它描述了数据取值的可能性。
用户6256742
2024/06/30
1140
机器学习数学基础:常见分布与假设检验
所谓机器学习和深度学习, 背后的逻辑都是数学, 所以数学基础在这个领域非常关键, 而统计学又是重中之重, 机器学习从某种意义上来说就是一种统计学习。
Datawhale
2020/07/09
3.4K0
机器学习数学基础:常见分布与假设检验
Python NumPy自定义随机分布生成器
随机数生成是数据分析、模拟和机器学习中的重要组成部分。NumPy 提供了强大的随机数生成工具,涵盖了多种常见分布(如正态分布、均匀分布等)。在实际应用中,经常需要根据特定需求创建自定义的随机分布生成器。
sergiojune
2025/01/15
1560
Python NumPy自定义随机分布生成器
机器学习统计概率分布全面总结(Python)
在平时的科研中,我们经常使用统计概率的相关知识来帮助我们进行城市研究。因此,掌握一定的统计概率相关知识非常有必要。
算法进阶
2023/12/26
5880
机器学习统计概率分布全面总结(Python)
numpy.random介绍
小数 特定范围:[0,1) 自定义范围:任意小数 整数 randint() 标准正态:randn() 自定义正态分布:nomarl() import numpy as np import matplotlib.pyplot as plt import seaborn as sns 均匀分布 小数 特定范围:[0,1) rand() #rand(d0, d1, ..., dn) #d:dimension 维度 #d0:第1维数字的个数,为整数 #d1:第2维数字的个数 以此类推... #范围[0,1)
用户3577892
2020/06/11
4780
机器学习数学基础:随机事件与随机变量
所谓机器学习和深度学习, 背后的逻辑都是数学, 所以数学基础在这个领域非常关键, 而统计学又是重中之重, 机器学习从某种意义上来说就是一种统计学习。
Datawhale
2020/07/02
1.1K0
Numpy中常用随机函数的总结
Numpy中的常用随机函数常常用于按照某种概率统计规则来产生随机数,在机器学习和深度学习中,我们常常需要使用随机函数对一些参数进行初始化,而且在一些深度学习框架中,通常会使用与Numpy一致或者类似的接口函数。比如:
触摸壹缕阳光
2020/06/23
1.4K0
用python生成随机数的几种方法「建议收藏」
本篇博客主要讲解如何从给定参数的的正态分布/均匀分布中生成随机数以及如何以给定概率从数字列表抽取某数字或从区间列表的某一区间内生成随机数,按照内容将博客分为3部分,并附上代码。
全栈程序员站长
2022/11/10
2K0
numpy中random模块使用
在python数据分析的学习和应用过程中,经常需要用到numpy的随机函数,下面我们学习一下具体的使用,本文着重说明各个分布随机数的生成。 numpy.random.rand() rand函数根据给定维度生成[0,1)之间的数据,包含0,不包含1 括号参数为生成随机数的维度 a = np.random.rand(4,2) print(a) #[[ 0.12531495 0.21084176] # [ 0.49285425 0.71383499] # [ 0.34699335 0.04372341] #
听城
2018/04/27
1.5K0
Python中得可视化:使用Seaborn绘制常用图表
Seaborn是构建在matplotlib之上的数据可视化库,与Python中的pandas数据结构紧密集成。可视化是Seaborn的核心部分,可以帮助探索和理解数据。
deephub
2020/08/21
6.8K0
Python中得可视化:使用Seaborn绘制常用图表
深度好文 | 探索 Scipy 与统计分析基础
云朵君推荐 本文部分内容仅展示部分核心代码,本文提供含完整代码的完整PDF版本下载,获取方式:关注公众号 「数据STUDIO」并回复【210512】获取。若你对代码不感兴趣,直接略过,不影响阅读。
数据STUDIO
2021/06/24
3.1K0
​常见的8个概率分布公式和可视化
来源:Deephub Imba本文约2800字,建议阅读8分钟本文我们将介绍一些常见的分布并通过Python 代码进行可视化以直观地显示它们。 概率和统计知识是数据科学和机器学习的核心;我们需要统计和概率知识来有效地收集、审查、分析数据。 现实世界中有几个现象实例被认为是统计性质的(即天气数据、销售数据、财务数据等)。这意味着在某些情况下,我们已经能够开发出方法来帮助我们通过可以描述数据特征的数学函数来模拟自然。 “概率分布是一个数学函数,它给出了实验中不同可能结果的发生概率。” 了解数据的分布有助于更好
数据派THU
2022/04/29
1.1K0
​常见的8个概率分布公式和可视化
Python实现 8 个概率分布公式及可视化
概率和统计知识是数据科学和机器学习的核心; 我们需要统计和概率知识来有效地收集、审查、分析数据。
数据STUDIO
2022/05/24
1.3K0
Python实现 8 个概率分布公式及可视化
NumPy 中级教程——随机数生成
在数据科学、机器学习和统计学等领域中,随机数生成是一个关键的操作。NumPy 提供了丰富的随机数生成功能,包括生成服从不同分布的随机数、设置随机种子等。在本篇博客中,我们将深入介绍 NumPy 中的随机数生成操作,并通过实例演示如何应用这些功能。
Echo_Wish
2024/01/03
5900
离散分布重参数化 —— Gumbel-Softmax Trick 和 Gumbel分布
这篇文章从直观感觉讲起,先讲Gumbel-Softmax Trick用在哪里及如何运用,再编程感受Gumbel分布的效果,最后讨论数学证明。
为为为什么
2024/03/28
2.9K0
离散分布重参数化 —— Gumbel-Softmax Trick 和 Gumbel分布
用Python结合统计学知识进行数据探索分析
# 导入相关模块import pandas as pdimport numpy as npimport matplotlib.pyplot as pltimport seaborn as sns %matplotlib inline %config InlineBackend.figure_format = 'retina'
IT阅读排行榜
2018/08/17
1.2K0
用Python结合统计学知识进行数据探索分析
相关推荐
NumPy 正态分布与 Seaborn 可视化指南
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验