Skip to main content

Thomas, a library for working with Bayesian Networks.

Project description

Coverage Status Build Status badge

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:

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 .

Docker

A Docker image is available for easy deployment. The following command will start a JupyterLab server, listening on localhost, port 8888:

    docker run --rm -it -p 8888:8888 mellesies/thomas-core

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


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.0a16.tar.gz (671.2 kB view details)

Uploaded Source

Built Distribution

thomas_core-0.1.0a16-py3-none-any.whl (74.7 kB view details)

Uploaded Python 3

File details

Details for the file thomas-core-0.1.0a16.tar.gz.

File metadata

  • Download URL: thomas-core-0.1.0a16.tar.gz
  • Upload date:
  • Size: 671.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/46.0.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.6.9

File hashes

Hashes for thomas-core-0.1.0a16.tar.gz
Algorithm Hash digest
SHA256 3910883e9c7379d208f31a97f4ae5533a2fd456b86f15545ced8a9aae2986503
MD5 854d7bc06d9897550fdbf6da7a1f308d
BLAKE2b-256 609c4c8bfe8aab054bd148cfed8c814ec4170a14f94d4072e6b5d3ad80b6df0f

See more details on using hashes here.

File details

Details for the file thomas_core-0.1.0a16-py3-none-any.whl.

File metadata

  • Download URL: thomas_core-0.1.0a16-py3-none-any.whl
  • Upload date:
  • Size: 74.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/46.0.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.6.9

File hashes

Hashes for thomas_core-0.1.0a16-py3-none-any.whl
Algorithm Hash digest
SHA256 ebe27e7533b91db5c8e8b3ae537496ffe48c61fb15b8596bde3127b982db799e
MD5 9c2211ed0a0ae77448dcf6e4c32b88e6
BLAKE2b-256 084ccc1a92bca6c441f39e2d3ef642a05aecde5d69d01d33c06454a8b7e1e8db

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page