PyGModels

PyGModels: A Python package for exploring Probabilistic Graphical Models with Graph Theoretical Structures - Published in JOSS (2021)

https://github.com/d-k-e/graphical-models

Science Score: 93.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 7 DOI reference(s) in README and JOSS metadata
  • Academic publication links
    Links to: joss.theoj.org, zenodo.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software

Keywords

chain-graph graphical-models pgm python3

Scientific Fields

Engineering Computer Science - 40% confidence
Last synced: 4 months ago · JSON representation

Repository

Probabilistic Graphical Models from Scratch with support for LWF Chain Graphs

Basic Info
  • Host: GitHub
  • Owner: D-K-E
  • License: gpl-3.0
  • Language: Python
  • Default Branch: master
  • Homepage:
  • Size: 2.86 MB
Statistics
  • Stars: 8
  • Watchers: 3
  • Forks: 2
  • Open Issues: 22
  • Releases: 2
Topics
chain-graph graphical-models pgm python3
Created about 5 years ago · Last pushed over 1 year ago
Metadata Files
Readme Contributing License Code of conduct

README.md

Graphical Models

Python package workflow

DOI

See doxygen generated documentation

The source code of this library aims to be accessible to all those interested in Probabilistic Graphical Models. The primary goal is to facilitate the understanding of models and basic inference strategies using well documented data structures based only on Python 3 standard library. Functions are annotated whenever possible.

Note that there are other alternatives on the subject:

We distinguish from these by the following traits:

  • Though not an entirely graph library like NetworkX, This library is more focused on Graph Theory than probabilistic structures. We implement several graph structures by the book. For example, Trees are implemented as a Graph, just like Paths.

  • Several graph analysis algorithms for:

    • Finding bridges
    • Finding articulation points
    • Finding connected components
    • Finding minimum and maximum spanning trees.
    • Finding shortest paths.
  • We are also one of the rare open sourced python libraries that support inference on LWF Chain Graphs also known as Mixed Graphs. As the overall library is not built for efficiency, we recommend not to use it in production. It should not be to difficult to transfer the concepts introduced in the source code though.

  • References are important for us. Whenever possible we add a reference to a published ressource to the doc string of the function/class. This also applies for tests.

Installation

The entire library depends only on Python standard library. It is tested for Python 3.6 through Github Actions at each push to the library. If you have Python 3.6+, you should be good to go for installation.

If you want to install without creating a virtual environment, just go to the main project directory that contains this readme file and call from terminal:

  • pip install .

If you prefer conda for managing your virtual environments, simply create a new environment:

  • conda create -n pygmodels python=3.6

Activate the environment:

  • conda activate pygmodels

Install the library:

  • pip install .

Lastly test your installation with following command:

  • python -m unittest

You should see something like the following on the terminal:

```python Ran 179 tests in 0.666s

OK ```

Usage Examples

See the example notebooks on how to use different PGM types. Please note that running the examples require installing jupyterlab along with PyGModels.

Guide for Contributors

See Contributing.md

Contributors

Citation

For citing in a paper for general usage, use the JOSS paper DOI: DOI

If you absolutely need to reference to a particular version of a source code, you can use the zenodo DOI:

DOI

Owner

  • Name: DKE
  • Login: D-K-E
  • Kind: user
  • Location: Osaka

Are you cola ?

JOSS Publication

PyGModels: A Python package for exploring Probabilistic Graphical Models with Graph Theoretical Structures
Published
May 13, 2021
Volume 6, Issue 61, Page 3115
Authors
Doğu Kaan Eraslan ORCID
École Pratique des Hautes Études, Université PSL, Paris, France
Editor
Dan Foreman-Mackey ORCID
Tags
probabilistic graphical models Bayesian statistics Probabilistic inference

GitHub Events

Total
  • Watch event: 3
Last Year
  • Watch event: 3

Committers

Last synced: 5 months ago

All Time
  • Total Commits: 275
  • Total Committers: 3
  • Avg Commits per committer: 91.667
  • Development Distribution Score (DDS): 0.036
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Qm Auber q****r@t****m 265
DKE D****E 9
Dan F-M f****y@g****m 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 35
  • Total pull requests: 1
  • Average time to close issues: about 1 year
  • Average time to close pull requests: about 1 hour
  • Total issue authors: 4
  • Total pull request authors: 1
  • Average comments per issue: 0.57
  • Average comments per pull request: 0.0
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • D-K-E (28)
  • ankurankan (3)
  • murphyk (2)
  • eigenfoo (2)
Pull Request Authors
  • dfm (1)
Top Labels
Issue Labels
enhancement (20) invalid (6) wontfix (6) bug (2) documentation (2) good first issue (2) question (1)
Pull Request Labels

Dependencies

.github/workflows/python-package.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
setup.py pypi