Skip to main content

Bayesian networks and other Probabilistic Graphical Models.

Project description

pyAgrum

pyAgrum is a scientific C++ and Python library dedicated to Bayesian Networks and other Probabilistic Graphical Models. It provides a high-level interface to the part of aGrUM allowing to create, model, learn, use, calculate with and embed Bayesian Networks and other graphical models. Some specific (python and C++) codes are added in order to simplify and extend the aGrUM API.

Example

import pyAgrum as gum

# Creating BayesNet with 4 variables
bn=gum.BayesNet('WaterSprinkler')
print(bn)

# Adding nodes the long way
c=bn.add(gum.LabelizedVariable('c','cloudy ?',["Yes","No"]))
print(c)

# Adding nodes the short way
s, r, w = [ bn.add(name, 2) for name in "srw" ]
print (s,r,w)
print (bn)

# Addings arcs c -> s, c -> r, s -> w, r -> w
bn.addArc(c,s)
for link in [(c,r),(s,w),(r,w)]:
bn.addArc(*link)
print(bn)

# or, equivalenlty, creating the BN with 4 variables, and the arcs in one line
bn=gum.fastBN("w<-r<-c{Yes|No}->s->w")

# Filling CPTs
bn.cpt("c").fillWith([0.5,0.5])
bn.cpt("s")[0,:]=0.5 # equivalent to [0.5,0.5]
bn.cpt("s")[{"c":1}]=[0.9,0.1]
bn.cpt("w")[0,0,:] = [1, 0] # r=0,s=0
bn.cpt("w")[0,1,:] = [0.1, 0.9] # r=0,s=1
bn.cpt("w")[{"r":1,"s":0}] = [0.1, 0.9] # r=1,s=0
bn.cpt("w")[1,1,:] = [0.01, 0.99] # r=1,s=1
bn.cpt("r")[{"c":0}]=[0.8,0.2]
bn.cpt("r")[{"c":1}]=[0.2,0.8]

# Saving BN as a BIF file
gum.saveBN(bn,"WaterSprinkler.bif")

# Loading BN from a BIF file
bn2=gum.loadBN("WaterSprinkler.bif")

# Inference
ie=gum.LazyPropagation(bn)
ie.makeInference()
print (ie.posterior("w"))

# Adding hard evidence
ie.setEvidence({"s": 1, "c": 0})
ie.makeInference()
print(ie.posterior("w"))

# Adding soft and hard evidence
ie.setEvidence({"s": [0.5, 1], "c": 0})
ie.makeInference()
print(ie.posterior("w"))

LICENSE

Copyright (C) 2005-2024 by Pierre-Henri WUILLEMIN et Christophe GONZALES {prenom.nom}_at_lip6.fr

The aGrUM/pyAgrum library and all its derivatives are distributed under the LGPL3 license, see https://www.gnu.org/licenses/lgpl-3.0.en.html.

Authors

  • Pierre-Henri Wuillemin

  • Christophe Gonzales

Maintainers

  • Lionel Torti

  • Gaspard Ducamp

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 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.

pyAgrum_nightly-1.17.2.dev202501311731932516-cp313-cp313-win_amd64.whl (2.8 MB view details)

Uploaded CPython 3.13Windows x86-64

pyAgrum_nightly-1.17.2.dev202501311731932516-cp313-cp313-macosx_11_0_arm64.whl (4.3 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

pyAgrum_nightly-1.17.2.dev202501311731932516-cp313-cp313-macosx_10_13_x86_64.whl (4.8 MB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

pyAgrum_nightly-1.17.2.dev202501311731932516-cp312-cp312-win_amd64.whl (2.8 MB view details)

Uploaded CPython 3.12Windows x86-64

pyAgrum_nightly-1.17.2.dev202501311731932516-cp312-cp312-macosx_11_0_arm64.whl (4.3 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

pyAgrum_nightly-1.17.2.dev202501311731932516-cp312-cp312-macosx_10_9_x86_64.whl (4.8 MB view details)

Uploaded CPython 3.12macOS 10.9+ x86-64

pyAgrum_nightly-1.17.2.dev202501311731932516-cp311-cp311-win_amd64.whl (2.8 MB view details)

Uploaded CPython 3.11Windows x86-64

pyAgrum_nightly-1.17.2.dev202501311731932516-cp311-cp311-macosx_11_0_arm64.whl (4.3 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

pyAgrum_nightly-1.17.2.dev202501311731932516-cp311-cp311-macosx_10_9_x86_64.whl (4.8 MB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

pyAgrum_nightly-1.17.2.dev202501311731932516-cp310-cp310-win_amd64.whl (2.8 MB view details)

Uploaded CPython 3.10Windows x86-64

pyAgrum_nightly-1.17.2.dev202501311731932516-cp310-cp310-macosx_11_0_arm64.whl (4.3 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

pyAgrum_nightly-1.17.2.dev202501311731932516-cp310-cp310-macosx_10_9_x86_64.whl (4.8 MB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

File details

Details for the file pyAgrum_nightly-1.17.2.dev202501311731932516-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202501311731932516-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 488e73eb7e9eae42702c72443cd50fedcc4b6c00f68daa0e179e3fdbbf620b9f
MD5 3fd560f7052ef18d02b12bfbdf7d5494
BLAKE2b-256 e539786dc0d67fd3389b41231ed9fd2db5bcba7cb2ad52282fc23dcba007e6aa

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.17.2.dev202501311731932516-cp313-cp313-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202501311731932516-cp313-cp313-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f2fad45e3aec17aecd0cecbb77af9147399059a9b0060c29ade80b148a62ea60
MD5 27759c933cff7dbbca1b5dc313eda19b
BLAKE2b-256 f468a573ea19710ed7de13dd89d5ea28591a7920351f155cea8e66030a81c8a9

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.17.2.dev202501311731932516-cp313-cp313-manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202501311731932516-cp313-cp313-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b38d6443c693e9e504df538ec32db0b58ad418b9dc1175a0fe3595a5e6d0b780
MD5 e481615808568b987dbe3cd9432d829c
BLAKE2b-256 28e2650acd71efa6b566c08a2f0969587a8217b6563f25eae464a454815b40fd

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.17.2.dev202501311731932516-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202501311731932516-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 fc3acd7fc102a191a1cbb03c7a3c962531401c5e2e51ee83aef451577ea7149b
MD5 06311c938c3f9fc52681bc53e020ddc0
BLAKE2b-256 539b94711600afae94cd29c3a346046580c5930817285ae9afb7221d7effdd4b

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.17.2.dev202501311731932516-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202501311731932516-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 6d6907e410a205ea02aeabcc820af39b13885850287b073f855c82e2e93730c1
MD5 2189dec7557b9486c50724c31dd2f479
BLAKE2b-256 98e11b2ef0320aeca74af2af0dbfe0f257719677b0b3461536374eedf39271d6

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.17.2.dev202501311731932516-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202501311731932516-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 184cab6504b55672920bc109debb94d9ce5d39b32ea56571185adbf530905dc8
MD5 3948a77fae9e13a352a6d2df03ef8591
BLAKE2b-256 98c9395f4828e6b282a7d6a1ec8a4418186bd82a77bfa8433c118a09f096d405

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.17.2.dev202501311731932516-cp312-cp312-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202501311731932516-cp312-cp312-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6dd79249bd83a2ff0c7d80b3c10039fa5d731fe878aa1976267d0054de173b6d
MD5 689b8441eb88bbe00979e16ca242d096
BLAKE2b-256 6d978ad6fcc38a9bbd1917208138b4972201379d1acc3771fa6810f61d9ed19d

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.17.2.dev202501311731932516-cp312-cp312-manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202501311731932516-cp312-cp312-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d27a8a4b69fbc404ff4a7bd28b4dd2af3ce82dfefcc554f70d200c9762283c13
MD5 a4eed50415bd273b9af167c78df4a12b
BLAKE2b-256 9fa32ddcea1a99d0ab7c51151e6907fb1dae82a012f61bd1c93c7267cdddc8fd

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.17.2.dev202501311731932516-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202501311731932516-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 26ee5b33e12f139788f5051c65f651215cbc00a6ae92a593b510676f4bad981d
MD5 843da13b49604c1742b68913e10947b2
BLAKE2b-256 36d30a20cf42ac41dfb8fb56eeb550c5d1713fd45894fffaec1d4eb8d5771870

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.17.2.dev202501311731932516-cp312-cp312-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202501311731932516-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 35b0c408aac25d087d712181b1913a077eeb24aae994437359d0915d37fe112e
MD5 103a647bf31028d9c4972b7721e0a367
BLAKE2b-256 0e2f6d58856bd39258ad8fc43c8cebcb48122c96a424a5e8327266d8efeac0be

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.17.2.dev202501311731932516-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202501311731932516-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 e36137de17490de5a85f65cf961385feadcc1556a42aaf8d0e7d395b07c5dfa6
MD5 d112e1d47357e0d6e23654e625ac4901
BLAKE2b-256 9a8d1af1440291c192b3500432adfcb7ffbba336c57f4fcddc2ce3492611ce6e

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.17.2.dev202501311731932516-cp311-cp311-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202501311731932516-cp311-cp311-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9d0c749111b66cfe634e7915539cf329f885fec8cb0ac66c416ba7cf710e74ee
MD5 626f009573b2ed31eadefeff790b7524
BLAKE2b-256 4cde161bc9e433f01094610953ff6415a0dff1c253fa6ebf6ac967e8871eaa0f

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.17.2.dev202501311731932516-cp311-cp311-manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202501311731932516-cp311-cp311-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 941652fb786de6ed395f251ff51e3de3cdc89e7ca122b8b8dd96fcc263ffb861
MD5 1338d648eacc57266b777eb5e7913101
BLAKE2b-256 e5c1da4ef3bfd9aab638ebfda27e6ce692eee5af4407a5f9a78548ae04715f2f

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.17.2.dev202501311731932516-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202501311731932516-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 653d87c0961a0a74709f88f1f78500f7dccaed327cf4820b685e1d8b0410a279
MD5 e65a4a077fe313126d518d8ef74822fd
BLAKE2b-256 832e63a6e6f39535e491175c31732cc0c51924597164c0173860022c841818d0

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.17.2.dev202501311731932516-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202501311731932516-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 bfa6070a95c229d712ccd4cedb352e041c50b9ad4db3f01bb286748875e25ccf
MD5 7ef9623a1147c90d55e9ed773e717d5c
BLAKE2b-256 8f3b0822d7074f6133fbb8010242a31bc6ef7a7bcfbc3c0bddb4dd865ad1d655

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.17.2.dev202501311731932516-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202501311731932516-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 d168f0d5ce2254fed9735078d2516a75b73c908dc3d045b3dd90d97040d1d957
MD5 f68b6d1c25fe6650a9af5bbe9bf586f1
BLAKE2b-256 f9815eb74f8f227999195a1bf15fa7c8b9822b6beb061ebd3cce7fb5c83b502a

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.17.2.dev202501311731932516-cp310-cp310-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202501311731932516-cp310-cp310-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 36c328d7d2768f42b57cd12eeffb32d2100b08c87d3a4f1dc19eb525641ce944
MD5 8db80bccf955ced662c2b1bce33bfdb7
BLAKE2b-256 8cdcbda43a38a9e543c8c30da8169992e794b16478ba095ca1c15d711cb6ed70

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.17.2.dev202501311731932516-cp310-cp310-manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202501311731932516-cp310-cp310-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b3b6dea6837d6e0d092bbe3ab731e1b6f7f09005b19156103436b9ad51f86021
MD5 40263f1ccc595f99a800a11a052ca22b
BLAKE2b-256 694c186698810ac851b5cb5fbe0785045196306389299a1a42fd848dab1f09a5

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.17.2.dev202501311731932516-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202501311731932516-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 25a40d3079e0ed4dce8c7b904f05abf35bb3cac988c4f273e3d9e0e6deadab9b
MD5 135e5742a8694a61d0761db0e18cc0ca
BLAKE2b-256 975938b1cd4c316db9a7b31b776de8b8bf1de7a3449a9fb946b0a52fc592b8c5

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.17.2.dev202501311731932516-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202501311731932516-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 45c2366c276afc644549c484579636eb7be9b91b096edf26d9c003cb7ec2d5a3
MD5 acaf47384c25f0a5380ed7bbe7038293
BLAKE2b-256 a4045fd1e163c5e2d83f32162938625cf5154c96c094c6549f95c15dac0cd633

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