Thomas, a library for working with Bayesian Networks.
Project description
Thomas
Very simple (almost naive ;-) bayesian network implementation.
Example (module thomas.core.examples
) contains examples from the book "Probabilistic Graphical Models: Principles and Techniques" from Koller and Friedman (PGM Stanford) and from the lecture by Adnan Darwiche on YouTube:
- 6a. Inference by Variable Elimination I (Chapter 6).
- 6b. Inference by Variable Elimination II (Chapter 6).
Installation
Normal
To install from PyPI use pip:
$ pip install thomas-core
Development
To do a development install:
$ git clone https://github.com/mellesies/thomas-core
$ cd thomas-core
$ pip install -e .
Usage
To get started with querying a network, try the following:
from thomas.core import examples
# Load an example network
Gs = 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
Alternatively, you can have a go at the example notebooks through Binder:
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
thomas-core-0.1.0a2.tar.gz
(670.8 kB
view hashes)
Built Distribution
Close
Hashes for thomas_core-0.1.0a2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 71a0e8549a447cb822b239de8b67fee53b26ef56b93b0cf02165d4a800008edc |
|
MD5 | f92b68da713d851c78f99c5092cfb75d |
|
BLAKE2b-256 | f8daab96254baf232a105019fc25e5d1d76080f4cb538a38a06e491d3dcbc484 |