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,2023 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.
Maintainers
Lionel Torti
Gaspard Ducamp
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 Distributions
Built Distributions
Hashes for pyAgrum_nightly-1.12.1.9.dev202402221708115962-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | da6d97941db8728cd0cf2b7dc675a92b483d8b1cca491520d731a4c89839cba2 |
|
MD5 | 2d0979688adf3a474f979c76243fabbf |
|
BLAKE2b-256 | 37277485f821b1b3073cb8ed766502141d10e1004d9bb0052b5cbddff81f66ef |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402221708115962-cp312-cp312-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 78df736877f390e0107f434cc0fde2fb8131a4685712ddeab04177558283a8c3 |
|
MD5 | 0794b290592b0175057f16db65a5d590 |
|
BLAKE2b-256 | 2c6b5bc6098a0759f081d98580f7f2f7d5bafe78303f8b630d7fa7d858e46736 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402221708115962-cp312-cp312-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2a01a834368acd9dae15dd86f363036004229e0912a59573eac463412fdb7da9 |
|
MD5 | 82d9e80f9917b4784009468261c7ea4d |
|
BLAKE2b-256 | 7258ad715a26f5244f0b3d041b88a0752282c40878db5ebcb5649aef97da9968 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402221708115962-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 17a00180d577d91cd7a94686987f58afb0dac3749bae959bc57529f283ea0f6e |
|
MD5 | 58cc0b7a30d03235e4f10de9f8bad48c |
|
BLAKE2b-256 | 70020510eb81347c33d8e6e415ff6b846865c6defa383d57ac8a9fdce951782c |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402221708115962-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 49a5708c49a54cb30f0d90e2d874987bb1c6a76b001d1027e36b3c5d33ad856b |
|
MD5 | f4afc0e2c0c0af8d842bd8745c08bc70 |
|
BLAKE2b-256 | 469730b648321024e70e2db9a1ff6a45fbd69b7461dcae49359a3a16a26c84c0 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402221708115962-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0cb75de6eef8b8f8fcdbef26f2c3631c53750b3fc4cdec895cc2978ffd94f7d9 |
|
MD5 | cede5ca0a6f1535008db3cda3d5aeb82 |
|
BLAKE2b-256 | a57682c056795ee161e68d49e4bf00031025e2f22027693390f5252a2be5d50c |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402221708115962-cp311-cp311-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 504caedabe7a8d76f262e5b6563be7452b141391133c56db18ddcdbf866b3a3d |
|
MD5 | f08543cee4a7701a9cb7519e0998e43c |
|
BLAKE2b-256 | bc0f7313fcf0c5390db6b7d77a304886638f3b1ac8eeb8e5016edcd43a0c2498 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402221708115962-cp311-cp311-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | db89b63b568fe1d82f8166c108bde22180748bcac9abc599114cb99e66866cfb |
|
MD5 | a4b9d283d11940747352c43652b6a111 |
|
BLAKE2b-256 | 0513ace490c27d01cc3049515b196452abdf21499bb0a085025fa4d2e261cd38 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402221708115962-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7f69e8c73abb2d170c09ea86772f5869569d33f8716043880b9bfb4746dc1fbb |
|
MD5 | 9c1937a966f19d4e57f193b9f9ef86fc |
|
BLAKE2b-256 | d36376e4840c26efe193ce43f73391f6aebc129407f2d47eb3b2d130be7d98d4 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402221708115962-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6b935f9e95f2756a35832b6501323cec1cf5498a274469dea82029ac15aad432 |
|
MD5 | c318a4759118546bb0eb707f3c6dde37 |
|
BLAKE2b-256 | 903b7488027f7fdeded249279362ef249dcc2179e7e2dae1152d24c40beaf397 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402221708115962-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | caa27fe441f3d8124ab2d2cc1d2e04e7f79929874f354ee7c555ea32d7d82e92 |
|
MD5 | 704434700e77b91e3440c7841a108635 |
|
BLAKE2b-256 | 4cb6d65af11c1d0e1ea6a2bd8eb690672230d6c7a70502fc1d02d57de6ab51ab |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402221708115962-cp310-cp310-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 560a492253419f7bcd4bb391cbc6f09b2a3c293528b0de89fc83aec11d3ef35b |
|
MD5 | ef981ba30025f1007f36f8013d7d2bf3 |
|
BLAKE2b-256 | ab2210e68fee965b6525deddeb604229abd65cdb553d9c23ca916bdb944638c1 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402221708115962-cp310-cp310-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 01e37db6428d8f6408ac16bead80a20e2295faf09862ce51821dc3d01062bf19 |
|
MD5 | d43c18272c1e81d0150a2848a2518547 |
|
BLAKE2b-256 | c1a11ceb65469df0f53d42523c8b4ffd39e7d2477de31e478e0aeedc267d680e |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402221708115962-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c2da0e3d23f068c3b4d937b4e2f450238183fe68529ee8c835b810666808c509 |
|
MD5 | 4f68de456163218cd67c36e6b33ed01a |
|
BLAKE2b-256 | dd91f4e710b71a8668bcf0e71a8773fd3f6c33a50e4f835c05a2b714ba3a65c8 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402221708115962-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2dd2c58271c1366307d1afde64da8e273e30cc31da83746dff0ac31f65fcc3fe |
|
MD5 | 68b17ba6e9b69a5c1136c5522178e3d7 |
|
BLAKE2b-256 | 70514b47979bc10f5c21cec67122e6fe34d9e227a9b526942a32360c615bb993 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402221708115962-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7591a7870dff4bc0c95939c4c8f62a6fc8971d8afd196fad41e9dd5b41fde93e |
|
MD5 | a11c448d5743b4901b17dffea606ce36 |
|
BLAKE2b-256 | b0d177cf57c2478881da2f58467416a2e74357f4746eec5bb0d17ef67dcde72c |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402221708115962-cp39-cp39-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 040529becfef9dc70271784f9ab1765fa151a3e8a9722e24bb0149cbc75a8ec5 |
|
MD5 | fd163738059b75ed05006f5d48d58b8b |
|
BLAKE2b-256 | 76cf8a101e72c54b585b4c897ac837e750a66dd1103153d65462a34febbc43fb |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402221708115962-cp39-cp39-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ce1d9de9baa497215e995801086e9e37ca32420e9f1abb3a5a8e9dc4e123e0ab |
|
MD5 | dee4db0d1af2d6e69878043cfd2858bc |
|
BLAKE2b-256 | 884e08193de1a1e7867c6ff823a98b10b1503080131f9cfcccae5945695bb930 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402221708115962-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3b7448457a279865f251d25e611d80326cbb166a2d18e58bb7ae4c03302f2824 |
|
MD5 | fff3afdbc720b62c65c3b52a333da6cd |
|
BLAKE2b-256 | e86d80bd9689ed635c07dfbf2949ed6c8e6c9036f968dc89ab46c345d06c8aaf |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402221708115962-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 83b1f640200f07b1a9c0f1fe0edb10e4996030d83c00adaccc66a773fd394ab4 |
|
MD5 | 7df993444a7c429590f72a1e619b21f2 |
|
BLAKE2b-256 | 99178c2da9d62c69292d8fba1ddaeb52784f3cd318ab6d0f3afc35e1eff6ec23 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402221708115962-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 64ce9d98c5449c13b995c8d20c7d0ae70565ebf19f14aea265a215a6b00ad15e |
|
MD5 | 61433d34fc6b3455c4d328f3c9ba5a4d |
|
BLAKE2b-256 | 14f327364b7a8556ea9b181d2f7a95f44738ecf6e98d92de56e012e2de6e3d3f |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402221708115962-cp38-cp38-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1b8b247a5f5ffa293525e57aedaa0dba0086f9fb36f84f5e7716f6913eb4b465 |
|
MD5 | a45af0e0ab5d12b609922f53c19ffd4b |
|
BLAKE2b-256 | b0955ab24984bfbdbf376e3ea38ddb46ab6e4347e176bad043528d2015453a0f |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402221708115962-cp38-cp38-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9c79582a1ddb2deb88d5115744dfef6532435aeb90b11f0c9b34b3eb3b00995d |
|
MD5 | 7efab2c6050c27023bbdcb0eb2abbadf |
|
BLAKE2b-256 | c1a65a5f9d384b00a7ef73ae8e77afe2c4744d38e987978707296a24d345e88d |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402221708115962-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 98b765c232b23b1768e895f2b11c59813ac17621d80032b0fc5ba26fa2e9cb0f |
|
MD5 | fd817164ec89c228c548f811e0eee513 |
|
BLAKE2b-256 | ec51daf3dc62b19bd9d3477cc268b1a3495bb2631d134405424f1d240a396018 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402221708115962-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8949e4d25073674379e23a952b216315e98fb81e8499248e675481754bea897d |
|
MD5 | 669fcf653d0e209c34443c768767076d |
|
BLAKE2b-256 | 6d8bb1c8202d519d57db41fd95daac37b977b66c5830dc74b39d022e4509f519 |