• 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()

    练习

    1. 生成 500 个介于 -10 到 10 之间的均匀分布随机数,并绘制它们的分布图。
    2. 比较不同范围下均匀分布形状的变化。
    3. 利用均匀分布来模拟 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,关注后即可获取最新文章推送

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

  • 相关阅读:
    Unity与IOS⭐Unity接入IOS SDK的流程图
    ElementUI实现登录注册+axios全局配置+CORS跨域
    jmeter分布式压力测试搭建
    基于Python+OpenCV+Tensorflow图像迁移的艺术图片生成系统
    音视频数字化(数字与模拟-电影)
    sed的不同执行方式
    Python一周小结
    Python列表元组字典集合存储结构
    华为HCIE实验题库哪里有?Cloud相关证书咋样?
    Windows 上安装和启动 Nacos 2.2.2 最新版本
  • 原文地址:https://www.cnblogs.com/xiaowange/p/18223169