python计数方式,python计算数量

  python计数方式,python计算数量

  Python计数器类

  大数据分析Python有哪些计数器类和概率质量函数?Python中的counter类是集合模块的一部分。计数器提供了一种快速计算列表中存在的唯一项目数的方法。计数器类也可以扩展为表示概率质量函数和贝叶斯假设组。计数器是从值到其频率的映射。如果你用一个字符串初始化计数器,你将得到每个字母到它出现次数的映射。如果两个单词是字谜,会产生相等的计数器,所以可以用计数器在线性时间内测试字谜。

  多吉

  计数器是多个集合的自然表示,而多个集合是元素可以多次出现的集合。可以使用is_subset之类的集合操作来扩展计数器:可以在Scrabble之类的游戏中使用is_subset,看看给定的一组方块是否可以用来拼写给定的单词。

  概率质量函数

  你也可以扩展“计数器”来表示概率质量函数(PMF)。Normalize计算频率的总和,然后将它们相除,得到加到1的概率。__add__枚举所有值对,并返回一个表示和分配的新Pmf。__哈希__和__id__哈希保偏光纤;这不是最好的方法,因为它们是可变的。因此,这个实现带有一个警告,如果您使用Pmf作为键,就不应该修改它。更好的选择是定义一个冻结的Pmf。Render以现成绘图的形式返回值和概率:

  使用Pmf对象

  例如,我们可以制作一个表示六面模具的Pmf对象。

  添加运算符

  使用加法运算符,我们可以计算两个骰子的和的分布。

  计算分布

  使用numpy.sum,我们可以计算三个骰子的和的分布。然后绘制结果(使用Pmf.render)

  贝叶斯统计

  套件是一个Pmf,它表示一组假设及其概率;它提供了bayesian_update,可以根据新的数据更新假设的概率。Suite是一个抽象的父类。子类应提供一种可能性方法,用于评估给定假设下数据的可能性。Bayesian_update遍历假设,评估每个假设下数据的可能性,并相应地更新概率。然后,它重整PMF。

  套件的示例

  例如,我将使用Suite来解决Think Bayes第3章中的“骰子问题”:

  “假设我有一盒骰子,里面有4个骰子、6个骰子、8个骰子、12个骰子和20个骰子。如果你玩过《龙与地下城》,你就知道我在说什么了。假设我从盒子里随机选择一个骰子,掷骰子得到6。我掷出每个骰子的概率是多少?”

  我将首先列出代表骰子的PMF:

  骰子套装

  接下来,我将定义DiceSuite,它从Suite继承bayesian_update并提供可能性。数据是观察到的骰子点数,在本例中为6。海波是我可能猜到的假设死亡;为了获得数据的可能性,我从给定的模型中选择给定值的概率。

  更新版本

  最后,我使用骰子列表来实例化从每个骰子映射到其先验概率的套件。默认情况下,所有骰子都具有相同的优先级。然后,我用给定的值更新分布并打印结果:

  另更新大数据分析Python什么计数器类和概率质量函数——AAA教育www.aaa-cg.com.cn

  正如所料,4面模具被淘汰。现在它的概率是0。6面模具的可能性最大,但是8面模具还是很有可能的。现在,假设我再次掷骰子,得到8。我们可以用新数据再次更新套件。现在6面模具已经淘汰了,8面模具很有可能,我轧20面模具的几率不到10%。这些例子说明了Counter类的多功能性,它是Python中未被充分利用的数据结构之一。

  推荐IT互联网职业培训:tsmoothie: Python库juanlan.zhihu.com通过矢量化进行时序平滑和异常检测。IT互联网职业培训:大数据分析为什么需要学习命令行juanlan.zhihu.com?IT互联网职业培训:如何使用命令行和csvkit进行大数据分析清理CSV数据zhuanlan.zhihu.comITIT

  历史提交的图片或压缩文件

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: