python求正态分布概率_从统计到概率,入门者都能用Python试验的机器学习基础

原标题:从统计到概率,入门者都能用Python试验的机器学习基础

选自dataquest

作者:Christian Pascual

参与:王淑婷、思源

概率论与统计学是机器学习的基础,但很多初学者不太了解它们。本文介绍了概率及统计的基本概念、联系以及用法,并以正态分布为例展示了什么是概率分布、分布函数以及经验法则。同样本文还概念性地解释了中心极限定理,以及为什么正态分布在整个统计学中如此重要。此外,本文很多试验都可以用 Python 实现,不了解 Python 的读者也可以跳过。

要学习统计,就不可避免得先了解概率问题。概率涉及诸多公式和理论,容易让人迷失其中,但它在工作和日常生活中都具有重要作用。先前我们已经讨论过描述性统计中的一些基本概念,现在,我们将探讨统计和概率的关系。

前提条件:

与上一篇博客类似,本文不要求读者具备统计知识,但至少要对 Python 有一个基本的了解。考虑到读者可能不太了解 for 循环和列表, 下面将先对它们做个简单的介绍。

什么是概率?

从最基本的层面上来说,概率要回答的是一个这样的问题:「一个事件发生的几率是多少?」为了计算某个事件发生的几率,我们还要考虑其它所有可能发生的事件。

概率问题的典型代表是扔硬币。在扔硬币的过程中,只会产生两种结果:

1. 正面朝上

2. 反面朝上

这两种结果构成了一个样本空间,即所有可能结果的集合。为了计算一个事件发生的概率,我们要统计该事件发生(比如将硬币掷为正面朝上)的次数,并用它除以总试验次数。因此,概率会告诉我们,把一枚硬币掷为正面朝上或反面朝上的几率为 1/2。通过观察可能发生的事件,概率可以为我们提供一个预测事件发生频率的框架。

然而,即使结果看起来很明显,但如果我们真的试着去扔一些硬币,我们很可能得到过高或过低的正面朝上概率。假设扔硬币的做法不公平,那我们能做什么?收集数据!我们可以使用统计法来计算基于真实世界观察样本的概率,并将其与理想中的概率做对比。

从统计到概率

通过扔 10 次硬币并计算正面朝上的次数,我们可以获得数据。我们把这 10 次扔硬币的过程当做试验,而硬币正面朝上的次数将是数据点。也许正面朝上的次数不是「理想的」5 次,但不必着急,因为一次试验只是一个数据点。

如果进行多次试验,那我们预计所有试验正面朝上的的平均概率将接近 50%。下面的代码分别模拟了 10 次、100 次、1000 次和 1000000 次试验,然后计算了正面朝上的平均频率。下图是对这一过程的总结。

importrandom

defcoin_trial():

heads = 0

fori inrange( 100):

ifrandom.random() <= 0.5:

heads += 1

returnheads

defsimulate(n):

trials = []

fori inrange(n):

trials.append(coin_trial())

return(sum(trials)/n)

simulate( 10)

>> 5.4

simulate( 100)

>>> 4.83

simulate( 1000)

>>> 5.055

simulate( 10000

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值