《贝叶斯思维:统计建模的Python学习法》一第2章 统计计算2.1 分布
本节书摘来自异步社区《贝叶斯思维:统计建模的Python学习法》一书中的第2章,第2.1节,作者【美】Allen B. Downey,更多章节内容可以访问云栖社区“异步社区”公众号查看
贝叶斯思维:统计建模的Python学习法
2.1 分布在统计上,分布是一组值及其对应的概率。
例如,如果滚动一个六面骰子,可能的值是数字1至6,与每个值关联的概率是1/6。
再举一个例子,你应该有兴趣了解在日常的英语使用中每个单词出现的次数。你可以建立一个包含每个字及它出现的次数的分布。
为了表示Python中的分布,可以使用一个字典映射某个值和它的概率。我编写了一个名为Pmf的类,利用Python字典实现了上述功能,而且提供了一些有用的方法。为了对应概率质量函数这种分布的数学表示法,我将其命名为Pmf。
Pmf的定义在一个我为本书完成的Python模块thinkbayes.py中。可以从http://thinkbayes.com/thinkbayes.py下载。欲了解更多信息参见前言的“代码指南”。
要使用Pmf,可如下导入:
from thinkbayes.py import Pmf
下面的代码建立一个Pmf来表示六面骰子的结果分布:
pmf = Pmf() for x in [1,2,3,4,5,6]: pmf.Set(x,1/6.0)
Pmf创建一个空的没有赋值的pmf。Set方法设置每个值的概率为1/6。
这里是另一个例子,计算每个单词在一个词序列中出现的次数:
pmf = Pmf() for word in word_list: pmf.Incr(word, 1)
Incr为每个单词的相应“概率”加1。如果一个词还没有出现在Pmf中,那么就将这个词添加进去。
我把“概率”加上引号是因为在这个例子中概率还没有归一化,也就是说它们的累加和不是1,因此不是真正的概率。但在本例中单词计数与概率成正比。所以当完成了所有的计数,就可以通过除以计数的总值来计算得到概率。
Pmf提供了一种Normalize方法来实现上述功能:
pmf.Normalize()
一旦有一个Pmf对象,你可以像下面这样得到任何一个值相关联的概率:
print pmf.Prob(the)
这会打印输出单词“the”在词序列中出现的频率。
Pmf使用Python字典来存储值及其概率,所以Pmf中的值可以是任意可被哈希的类型。概率可以是任意数值类型,但通常是浮点数(float类型)。
异步社区 异步社区(www.epubit.com)是人民邮电出版社旗下IT专业图书旗舰社区,也是国内领先的IT专业图书社区,致力于优质学习内容的出版和分享,实现了纸书电子书的同步上架,于2015年8月上线运营。公众号【异步图书】,每日赠送异步新书。
相关文章
- Android 自己主动化測试(3)<monkeyrunner> 依据ID查找对象&touch&type (python)
- python安装python-lzf包,报错lzf_module.c:3:20: fatal error: Python.h: No such file or directory
- python执行脚本加参数_命令行运行Python脚本时传入参数的三种方式详解以及argparse子命令subparsers()方法
- python是否存在某个字符串 效率最高_Python中判断子串存在的性能比较及分析总结...
- Python 卸载python
- 【华为OD机试真题 python】字符串排序 【2022 Q4 | 100分】
- 地球引擎初级教程——Python API 语法(内涵JavaScript转python工具包介绍)
- 24岁非计算机专业工科妹子裸辞转行Python程序员,自学Python三个月,零基础如何系统学习python,从入门到精通?
- 超全Python学习路线图+14张思维导图,让python初学者不走弯路
- 人生苦短,我用Python!为什么现在越来越多的人转行python?
- 每天一个python小知识——如何在Python 3中转换数据类型
- 《python 与数据挖掘 》一 第2章 Python基础入门
- Python爬虫技术--基础篇--异步IO(下)
- Python scrapy数据建模与请求
- Python 文件
- 源码编译vi过程中进行配置时报“checking if compile and link flags for Python are sane... no: PYTHON DISABLED”怎么办?
- 《贝叶斯思维:统计建模的Python学习法》一2.6 M&M豆问题
- 《Python Cookbook(第3版)中文版》——1.17 从字典中提取子集
- 《贝叶斯思维:统计建模的Python学习法》一第1章 贝叶斯定理1.1 条件概率
- 《贝叶斯思维:统计建模的Python学习法》一1.2 联合概率
- 《贝叶斯思维:统计建模的Python学习法》一1.7 Monty Hall难题
- OpenCV Python – 如何计算和绘制图像区域直方图?
- Python 实现被动收入教程之我如何使用 python 制作我的第一个高级telegram机器人
- Jenkins持续集成实战之Jenkins构建Python项目提示:'python' 不是内部或外部命令,也不是可运行的程序。
- 朴素贝叶斯分类器及Python实现
- 15、抽象建模能力——孩子们的游戏(python版)
- 8、举例让抽象具体化——包含min函数的栈(python版)
- Python 常见问题 之 python 安装包下载安装速度慢 的 快速解决方法(之一)
- Python用python-docx读写word文档
- Python opencv-python 简单测试