博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《贝叶斯思维:统计建模的Python学习法》一2.5 封装框架
阅读量:7114 次
发布时间:2019-06-28

本文共 757 字,大约阅读时间需要 2 分钟。

本节书摘来自异步社区《贝叶斯思维:统计建模的Python学习法》一书中的第2章,第2.5节,作者【美】Allen B. Downey,更多章节内容可以访问云栖社区“异步社区”公众号查看

2.5 封装框架

现在,我们看看框架的哪些元素是相同的,这样我们就可以把它们封装进一个Suite对象,即一个提供__init__,Update和Print方法的pmf对象:

class Suite(Pmf)

“代表一套假设及其概率。” def __init__(self,hypo=tuple()):     “初始化分配。” def Update(self,data):     “更新基于该数据的每个假设。” def Print (self):     “打印出假设和它们的概率。”

Suite的实现在thinkbayes.py中。要使用Suite对象,你应当编写一个继承自Suite的类,并自行提供Likelihood方法的实现。例如,这是一个以蒙蒂大厅问题改写的使用Suite的方案 :

from  thinkbayes  import Suite class Monty(Suite):     def Likelihood (self,data,hypo):         if hypo ==data:             return 0         elif hypo=='A':             return 0.5         else:             return 1

而下面是一个使用这个类的代码:

suite=Monty('ABC')     suite.Update('B')     suite.Print()

你可以从下载这个例子。更多信息见前言的“代码指南”。

转载地址:http://eyzel.baihongyu.com/

你可能感兴趣的文章
JavaScript 小数取整的函数
查看>>
小程序flex-direction
查看>>
编程基本功(一)
查看>>
迭代器随笔
查看>>
flex布局居中无效果注意是否设置了宽度
查看>>
Bootstrap学习笔记系列5------Bootstrap图片显示
查看>>
CentOS服务器下对mysql的优化
查看>>
linux内核模块开发
查看>>
android 小结
查看>>
【转】Android 基于Socket的聊天室
查看>>
小记录
查看>>
ubuntu安装完无法用xshell,远程链接
查看>>
C# 对象哈希码
查看>>
高效的JS数组操作
查看>>
Oracle计算时间差函数
查看>>
Jenkins入门系列之——01第一章 Jenkins是什么?
查看>>
在Ubuntu上搭建hive环境
查看>>
二分法查找
查看>>
hmac检验客户端合法性
查看>>
python-webbrowser模块 浏览器操作
查看>>