从概率分布做出选择

choices的Python项目详细描述


PDist的设计使其易于制作 事情以可能的方式发生。为密钥提供 附加相关概率,然后调用结果 当您需要新值时。

>>> mood = PDist({'happy': 0.3, 'neutral': 0.6, 'sad': 0.1})
>>> mood()
'happy'
>>> mood()
'neutral'

您可以检索如何应用这些值的分布 通过访问PDist.distribution属性:

>>> mood.distribution
[('happy', 0.3), ('neutral', 0.6), ('sad', 0.1)]

除了提供指定概率的指令外,您还可以 发送列表/元组列表。这允许不可散列 要使用的类型。这意味着您可以提供 用作键的函数:

>>> def grumpy(news):
...    return ':/'
>>> def happy(news):
...    return ':)'
>>> react = PDist([(grumpy, 0.7), (happy, 0.3)])
>>> reaction = react()
>>> reaction("We're getting married!")
':/'

您不限于将输入变量添加到1。为了 例如,如果您只有一个计数图,并且希望从该样本计算概率分布,那么您也可以提供:

>>> spotted = {'geese': 0, 'ducks': 12, 'sparrows': 4, 'other': 39}
>>> bird_pdist = PDist(spotted)
>>> bird_pdist.distribution
[('geese', 0.0), ('sparrows', 0.07272727272727272), ('ducks', 0.21818181818181817), ('other', 0.7090909090909091)]

支持检索特定密钥的概率。然而, 搜索策略效率很低,可能不应该使用 在交互式python shell之外。

>>> bird_pdist['geese']
0.0

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
JAVA Tictoe Minimax算法不断引发异常   java弹性时间计算器字符串开关   java从表单post操作中检索值   java Selenium webdriver无法在youtube上找到元素   java如何自动填写XFA(PDF)表单?   java为什么我的秒表程序不能运行?   raspberry pi禁用java中的其他声音   java如何配置web。xml,glassfishweb。JSF的xml文件?   使用浏览器运行自动测试时出现java错误。如何运行它?   java如何阻止Swing程序在每次向JTextArea添加文本时调整组件的大小   javajavax。注射注射无效   java如何改进Solaris服务器配置   java如何在elasticsearch后端脱机时处理Hibernate搜索启动   java TCPsocket的延迟很差,除非持续流式传输