托马斯,一个使用贝叶斯网络的图书馆。
thomas-core的Python项目详细描述
托马斯
非常简单(几乎天真;-)贝叶斯网络实现。在
包含来自Koller和Friedman(PGM Stanford)的《概率图形模型:原理和技术》一书中的示例(thomas.core.examples
),以及来自YouTube上Adnan Darwiche的演讲:
- 6a. Inference by Variable Elimination I (Chapter 6)。在
- 6b. Inference by Variable Elimination II (Chapter 6)。在
安装
正常
要从PyPI安装,请使用pip
:
pip install thomas-core
开发
要进行开发安装,请执行以下操作:
^{pr2}$Docker
为了便于部署,提供了Docker映像。以下命令将
启动JupyterLab服务器,监听localhost
,端口8888
:
docker run --rm -it -p 8888:8888 mellesies/thomas-core
使用
要开始查询网络,请尝试以下操作:
fromthomas.coreimportexamples# Load an example networkGs=examples.get_student_network()# This should output the prior probability of random variable 'S' (SAT score).print(Gs.P('S'))print()# Expected output:# P(S)# S# s0 0.725# s1 0.275# dtype: float64# Query for the conditional probability of S given the student is intelligent.print(Gs.P('S|I=i1'))# Expected output:# P(S)# S# s0 0.2# s1 0.8# dtype: float64
或者,您可以通过Binder查看示例笔记本:
- notebooks/1. Factors.ipynb
- notebooks/2. Bags of factors.ipynb
- notebooks/3. Conditional probability tables.ipynb
- notebooks/4. Bayesian Networks.ipynb
- 项目
标签: