Skip to main content

Bayesian predictive classification and structure learning in decomposable graphical models using particle Gibbs.

Project description

GitHub PyPI Libraries.io dependency status for latest release

Bayesian inference in decomposable graphical models using sequential Monte Carlo methods

This library contains Bayesian inference in decomposable (triangulated) graphical models based on sequential Monte Carlo methods. Currently supported functionalities include:

  • Bayesian structure learning for discrete log-linear and Gaussian data.

  • Estimation of the number of decomopsable graphs with a given number of nodes.

  • Predictive classification using Bayesian model averaging (BMA).

  • Random generation of junction trees (the Christmas tree algorithm).

Installation

This package currently requires Python 2.7. If graphviz is not installed, you can install it from brew / aptitude / pacman for example

$ brew install graphviz

On Ubuntu you might need to run

sudo apt-get install python-dev graphviz libgraphviz-dev pkg-config

Then run

$ pip install trilearn

It is also possible to pull trilearn as a docker image by

$ docker pull onceltuca/trilearn

Running the tests

$ make test

Usage

See the Jupyter notebooks for examples of usage.

Scripts

Continuous data

To approximate the underlying decomposable graph posterior given the dataset sample_data/data_ar1-5.csv run

$ pgibbs_ggm_sample -N 50 -M 1000 -f sample_data/data_ar1-5.csv

this will produce a file containing the Markov chain generated by the particle Gibbs algorithm. In order to analyze the chain run

$ analyze_graph_tajectories

this will produce a bunch of files in the current directory to be analyzed.

Discrete data

The data set examples/data/czech_autoworkers.csv contains six binary variables. To generate a particle Gibbs trajectory of decomposable graphs type

$ pgibbs_loglinear_sample -N 50 -M 300 -f sample_data/czech_autoworkers.csv

and

$ analyze_graph_tajectories

this will produce a number of files in the current directory.

Estimate the number of decomposable graphs

To estimate the number of decomposable graphs with up to 15 nodes run for example

$ count_chordal_graphs -p 15 -N 20000

Built With

Authors

  • Felix L. Rios just send me an e-mail in case of any questions, felix.leopoldo.rios at gmail com

References

License

This project is licensed under the Apache 2.0 License - see the LICENSE file for details

Acknowledgments

  • Jim Holmstrom

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

trilearn-1.21-py3-none-any.whl (81.9 kB view details)

Uploaded Python 3

trilearn-1.21-py2-none-any.whl (81.9 kB view details)

Uploaded Python 2

File details

Details for the file trilearn-1.21-py3-none-any.whl.

File metadata

  • Download URL: trilearn-1.21-py3-none-any.whl
  • Upload date:
  • Size: 81.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/44.1.1 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/2.7.18

File hashes

Hashes for trilearn-1.21-py3-none-any.whl
Algorithm Hash digest
SHA256 3e2e4314b27afb5dc07ef681aa4ed915c071dd8b9ae6159c17d7db112c8c0344
MD5 3e39b7476ca2249739ba9a55cde3e2c3
BLAKE2b-256 2ee4899e1765f37e4cc067cfa311a28d66c9556a4b28d8d20cca19b8193e78b3

See more details on using hashes here.

File details

Details for the file trilearn-1.21-py2-none-any.whl.

File metadata

  • Download URL: trilearn-1.21-py2-none-any.whl
  • Upload date:
  • Size: 81.9 kB
  • Tags: Python 2
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/44.1.1 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/2.7.18

File hashes

Hashes for trilearn-1.21-py2-none-any.whl
Algorithm Hash digest
SHA256 631599c5bc27757301581c0253b63df24d1a85fb7b5ccecf0f96e67f9c7b9eaa
MD5 981cb513317ba87fa74a9529c2ef5c54
BLAKE2b-256 12f0845c0b1d4c9b213eb7875eb2a77e0335577d1ac3a20401a0701c44ad2011

See more details on using hashes here.

Supported by

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