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

本文共 715 字,大约阅读时间需要 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')

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

你可能感兴趣的文章
漂亮的颜色
查看>>
Android Volley 源码解析(二),探究缓存机制
查看>>
Go源码剖析:内置类型
查看>>
102. Binary Tree Level Order Traversal
查看>>
SAP云平台对Kubernetes的支持
查看>>
原来实现GCP用客户端登录这么简单啊
查看>>
PAT A1057 分块思想
查看>>
PAT A1007 动态规划
查看>>
VUE父子组件传递数据
查看>>
前端知识点——图片
查看>>
别人家的程序员是如何使用 Java 进行 Web 抓取的?
查看>>
95%的技术面试必考的JVM知识点都在这,另附加分思路!
查看>>
日期类问题
查看>>
区块链入门之基础知识
查看>>
mysql锁(Innodb)
查看>>
小程序开发之影分身术
查看>>
磨刀霍霍:爬爬爬爬爬爬虫爬起来~
查看>>
RxJava中的Observable,多Subscribers
查看>>
I/O模型和Java NIO源码分析
查看>>
第二天-《企业应用架构模式》-组织领域逻辑
查看>>