Python 中的引导采样

2023-11-12

这是关于 Python 中的 Bootstrap 采样的教程。在本教程中,我们将了解什么是引导,然后了解如何实现它。

让我们开始吧。

什么是引导抽样?

引导抽样的定义如下:

在统计学中,引导抽样是一种方法,涉及从数据源中重复抽取样本数据并进行替换,以估计总体参数。

这基本上意味着引导抽样是一种技术,您可以使用它来估计整个总体的平均值等参数,而无需明确考虑总体中的每个数据点。

我们不是着眼于整个总体,而是着眼于从总体中提取的多个相同大小的子集。

例如,如果您的人口规模是1000.然后找到平均值,而不是考虑所有 1000 个条目50 个样品,每个尺寸 4并计算每个样本的平均值。这样你就可以平均得到200 个条目(50X4) 随机选择。

市场研究人员使用类似的策略对大量人群进行研究。

如何在Python中实现Bootstrap采样?

现在让我们看看如何在Python中实现引导采样。

我们将生成一些具有预定平均值的随机数据。为此,我们将使用Python 中的 NumPy 模块.

让我们从导入必要的模块开始。

1.导入必要的模块。

我们需要的模块是:

  • Numpy
  • Random

要导入这些模块,请使用:

import numpy as np
import random

在下一步中,我们需要生成一些随机数据。让我们使用 Numpy 模块来做到这一点。

2. 生成随机数据

让我们生成一个平均值为的正态分布3001000条目。

其代码如下:

x = np.random.normal(loc= 300.0, size=1000)

我们可以使用以下方法计算该数据的平均值:

print (np.mean(x))

Output :

300.01293472373254

请注意,这是总体的实际平均值。

3. 使用 Bootstrap Sampling 来估计平均值

让我们创建 50 个样本,每个样本大小为 4 来估计平均值。

这样做的代码是:

sample_mean = []

for i in range(50):
  y = random.sample(x.tolist(), 4)
  avg = np.mean(y)
  sample_mean.append(avg)

列表样本平均值将包含所有 50 个样本的平均值。为了估计总体的平均值,我们需要计算样本平均值.

您可以使用以下方法来做到这一点:

print(np.mean(sample_mean))

Output :

300.07261467146867

现在,如果我们再次运行本节中的代码,我们将得到不同的输出。这是因为每次运行代码时,我们都会生成新的样本。然而,每次输出都会接近实际平均值 (300)。

再次运行本节中的代码,我们得到以下输出:

299.99137705245636

再次运行,我们得到:

300.13411004148315

在 Python 中实现 Bootstrap 采样的完整代码

这是本教程的完整代码:

import numpy as np
import random

x = np.random.normal(loc= 300.0, size=1000)
print(np.mean(x))

sample_mean = []
for i in range(50):
  y = random.sample(x.tolist(), 4)
  avg = np.mean(y)
  sample_mean.append(avg)

print(np.mean(sample_mean))

结论

本教程是关于 Python 中的 Bootstrap 采样。我们学习了如何通过创建较小的样本来估计总体的平均值。这在机器学习领域非常有用,可以避免过度拟合。希望您和我们一起学习愉快!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python 中的引导采样 的相关文章

随机推荐

  • Bash if..else 语句

    本教程将引导您了解 Bash 的基础知识if声明并向您展示如何在 shell 脚本中使用它 决策是计算机编程最基本的概念之一 与任何其他编程语言一样 if if else if elif else 并嵌套ifBash 中的语句用于根据特定条
  • Java中的多重继承

    今天我们将研究Java中的多重继承 不久前我写了几篇关于遗产 界面 and 作品在Java中 在这篇文章中 我们将研究 java 多重继承 然后比较组合和继承 Java中的多重继承 Multiple inheritance in java
  • Java 中的装饰器设计模式示例

    装饰器设计模式用于在运行时修改对象的功能 同时 同一类的其他实例不会受此影响 因此单个对象会获得修改后的行为 装饰设计模式是结构设计模式之一 如适配器模式 桥梁图案 复合图案 并使用抽象类或接口作品来实施 装饰设计模式 We use inh
  • 获取R中的行数和列数

    各位读者大家好 在本文中 我们将重点讨论 R 中的行和列的概念 即R编程中获取对象的行数和列数 详细 那么 让我们开始吧 Be it a matrix or a 数据框 我们按照行和列来处理数据 在数据分析领域 尤其是统计分析 我们需要了解
  • 如何在 CentOS、Rocky Linux、RHEL 和 Fedora 上安装 Java

    介绍 本教程将向您展示如何在基于 RPM 的 Linux 发行版的当前版本上安装 Java Red Hat Enterprise Linux CentOS Fedora 和 Rocky Linux Java 是一种流行的编程语言和软件平台
  • 如何在 Ubuntu 14.04 上使用 Nginx 安装 WordPress

    介绍 WordPress 是世界上最流行的 CMS 内容管理系统 它使您可以轻松启动并运行您的网站或博客 安装后 您可以在简单的 Web 界面中管理几乎所有内容 在本指南中 我们将介绍如何在 Ubuntu 14 04 服务器上安装 Word
  • 如何使用 Nmap 和 Tcpdump 测试您的防火墙配置

    介绍 为您的基础设施设置防火墙是为您的服务提供安全性的好方法 一旦您制定了满意的策略 下一步就是测试您的防火墙规则 重要的是要充分了解您的防火墙规则是否按照您的想法进行 并了解您的基础设施在外界看来是什么样子 在本指南中 我们将介绍一些可用
  • Linux 终端简介

    介绍 本教程是 Linux 基础知识系列的第一篇 涵盖终端 Linux 命令行和执行命令的入门知识 如果您是 Linux 新手 您将需要熟悉终端 因为它是与 Linux 服务器交互的标准方式 如果您想充分利用本教程 您将需要连接和使用 Li
  • 最小堆二叉树

    A Min Heap二叉树是二叉树 其中根节点具有树中的最小键 上述定义对于树中的所有子树都适用 这被称为最小堆属性 除了最后两层之外 几乎每个节点都必须有两个子节点 也就是说 除了最后两层之外 这几乎是一个完整的二叉树 由于上述两个属性成
  • 在 Python 3 中使用循环时如何使用 Break、Continue 和 Pass 语句

    介绍 Using for 循环 and while 循环Python 允许您以有效的方式自动化和重复任务 但有时 外部因素可能会影响程序的运行方式 发生这种情况时 您可能希望程序完全退出循环 在继续之前跳过循环的一部分 或者忽略该外部因素
  • 休眠教程

    最近写了很多hibernate教程 休眠是当前市场上最好的Java ORM工具之一 所以这篇文章就像是所有 hibernate 教程和示例文章的索引 您可以依次浏览这些 hibernate 教程 从头开始学习 hibernate 我很可能会
  • Java 中的线程安全

    Java中的线程安全是一个非常重要的话题 Java使用Java线程提供多线程环境支持 我们知道从同一个对象创建的多个线程共享对象变量 这可能会导致数据不一致当线程用于读取和更新共享数据时 线程安全 The reason for data i
  • 如何使用 Ansible 角色抽象您的基础设施环境

    介绍 Ansible 是一种配置管理工具 旨在为管理员和运营团队自动控制服务器 借助 Ansible 您可以使用单个中央服务器来控制和配置许多不同的远程系统 仅使用 SSH 和 Python 作为要求 Ansible 根据任务定义在其管理的
  • 如何在 CentOS 6 上使用 fail2ban 保护 SSH

    Status 已弃用 本文介绍不再受支持的 CentOS 版本 如果您当前运行的服务器运行 CentOS 6 我们强烈建议您升级或迁移到受支持的 CentOS 版本 Reason CentOS 6 于 2020 年 11 月 30 日达到生
  • 如何监控 DigitalOcean Droplet 上的 CPU 使用情况

    介绍 假设您的网站或应用程序比平时更慢 你如何开始调查这个问题 导致应用程序缓慢的原因有很多 但有时是因为服务器的 CPU 已满 本指南将帮助您了解您是否属于这种情况 我们将首先了解 Linux 服务器上两个最常引用的资源使用指标 CPU利
  • 如何在 Python 中将字符串转换为浮点数

    介绍 在这篇文章中 我们将使用Pythonfloat 函数将字符串转换为浮点数 我们还将使用Python的str 函数将浮点数转换为字符串 在使用数据类型进行计算和串联之前正确转换数据类型非常重要 以防止运行时错误 先决条件 为了完成本教程
  • 机器学习简介

    介绍 机器学习是人工智能 AI 的一个子领域 机器学习的目标通常是理解数据的结构并将该数据拟合到人们可以理解和利用的模型中 尽管机器学习是计算机科学的一个领域 但它与传统的计算方法不同 在传统计算中 算法是计算机用来计算或解决问题的显式编程
  • 如何将路由解析器与 Angular 路由器一起使用

    介绍 处理从 API 检索和显示数据的一种方法是将用户路由到组件 然后在该组件的ngOnInit钩子调用服务中的方法来获取必要的数据 在获取数据时 组件也许可以显示加载指示器 还有另一种方法可以使用所谓的route resolver 它允许
  • 如何在 Ubuntu 14.04 上安装 LAMP [快速入门]

    介绍 LAMP 堆栈 Linux Apache MySQL PHP 是一组开源软件 通常安装在一起以使服务器能够托管动态 PHP 网站和 Web 应用程序 本指南包括在 Ubuntu 14 04 上的单个服务器上设置 LAMP 堆栈的步骤
  • Python 中的引导采样

    这是关于 Python 中的 Bootstrap 采样的教程 在本教程中 我们将了解什么是引导 然后了解如何实现它 让我们开始吧 什么是引导抽样 引导抽样的定义如下 在统计学中 引导抽样是一种方法 涉及从数据源中重复抽取样本数据并进行替换