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.11.0.9.dev202401231701813464-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4d75a6fb53761c097eb34357bbc9fffc36f243251dce1aaaf0f61801eeab5951 |
|
MD5 | 1afafc577f4e0096e61fc8151d13a068 |
|
BLAKE2b-256 | db22737fd9691aab3f346f6165c263e5788c9d60dd28f14dd70259fdecf67ebd |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401231701813464-cp312-cp312-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c74299f345440db3eba5fd1fd40b0649d04030018bc8b19771c7e008a28f2c66 |
|
MD5 | cc93548c9518ae0e74d9364b9bdee426 |
|
BLAKE2b-256 | 8d926ab2f46fe6ad3510bb3304671c17b151a40b42b34ec9318fde3b4e136db9 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401231701813464-cp312-cp312-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 783d4ef753e691c698e6c0a6d62410e2135a9c1ccea6d3fd862b3b3e480f208d |
|
MD5 | f968f8f66429b2cc88423258d3600a9e |
|
BLAKE2b-256 | cda4d38cc111be8eb6e093592be41f08f1a91e3060b44f1ae8941b2933691bd7 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401231701813464-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 626d88916efdab628e9a91fa1bbce01aad952923b771757b961083fb78465d9b |
|
MD5 | d6bf8ebe2191ca85de6e950e68900ac2 |
|
BLAKE2b-256 | a7d0c3a88ac89033eb8ccd2eddee32ee240c2b1f92284df9cdee8f9864a5179c |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401231701813464-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 66ec7a65f1114291c5b6c6082191abb9f1b372e538769edd3dd3f6f0736cdf1d |
|
MD5 | d45d9c518e20346d2d5ac31a071547ba |
|
BLAKE2b-256 | 9bcb2abfce28ff899dbfc3fd0eb75638e889f216be13b80030a8acdcd270e207 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401231701813464-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4deabe53356e68d65d3d0a4dd1056e2c7f0c8e6aee9a3c1a1efbad653c4c8b91 |
|
MD5 | 0ff2558bc8806ffcfbc54e84dff832f0 |
|
BLAKE2b-256 | 895837c8f71d14b43e02cb0fc6855e8dd51f6e5badb1014a147e8451ec75b8db |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401231701813464-cp311-cp311-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b4a891933bd67d4b032355440fd25f03ff05c8063c5c8965f15b5c9584a7ffb3 |
|
MD5 | 12819be1fd6df42255fa2bd7e99a4a45 |
|
BLAKE2b-256 | 92427e914b76a40745f8c5cdd93fda0204a211981e67c95d7d9ec0275a74beed |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401231701813464-cp311-cp311-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 44f25e70d4a2dbabd9db0e54d8a6f331f25f5b8adda826f4e5b596cbab054688 |
|
MD5 | 20de7f42b92b3205f35388f76374ccf1 |
|
BLAKE2b-256 | de9b3a359b996dc773d0051da4ececb4f623004ca3b1dbb36f51559b4e0b055c |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401231701813464-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e3d7e4e11c8976f898a798a6aae17c168b8e4a060725b8313dc53a0d4149a772 |
|
MD5 | 8144ace4f7bbb61e9350d93846adc97f |
|
BLAKE2b-256 | a72bb415994a33f673414ffa5546acf24486327d5a4c9784d976a8a8f9c66c5e |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401231701813464-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 014475d3f1e48f7f353ae2c324a9ffb9fff3334ecf04cb59c8d9776d456b1df6 |
|
MD5 | 2585e27f58492822158259ab8d6fba6e |
|
BLAKE2b-256 | ab851afb5d5cb16c4a7bbc1301bc9d9951134a6e5a2bf3b48ac4b76f30e7f20f |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401231701813464-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6b22c3e2a81e7cb6452db661394392b25e2603af5a4c19b71e6544fe827e1851 |
|
MD5 | 15dcabdac32a6116d16215aa2f9bbabb |
|
BLAKE2b-256 | 94ace9b282090cef14342660c21c49038f5c02cffdeddd08111446bfa58f7476 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401231701813464-cp310-cp310-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 01c211db2242d7e4f9286653f14678efda5fd5b464d54f9fa6525b520336540d |
|
MD5 | 5fdc24ea0e7876d8d87acbd3e19eba9d |
|
BLAKE2b-256 | c9a754c3ee7243f2c872bab49aa8fb72745b1a8ff846956b8c561f26ec6534cd |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401231701813464-cp310-cp310-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e334d8e48073e303e4043bb8ed943ca4a5226469177a1447cda5fde5d9959f64 |
|
MD5 | 1382669a2d2b95e0be5e4da7cf38d2dc |
|
BLAKE2b-256 | ede3fe0f5b2c20196e27cc996232f2a3e742d8dfc41fb429e49b19beff9dd86e |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401231701813464-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f48cd9c34a2ea6394c62874ae41a50ece2d497b61e8283c5ef963e78c2dc872d |
|
MD5 | 974077e40bfe396558ee609a4d7b359a |
|
BLAKE2b-256 | 32261c7553195be2efe28688864035d4faf0f7d3a28f3ea42bd7485ea0c40f1d |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401231701813464-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cbbad0de51c1b7122427810de98a0b104900bef019077320c821331210aa0369 |
|
MD5 | 9b00e51af9e0d1698226beb2df6c0a31 |
|
BLAKE2b-256 | 393d9dab32c4fb0c9617945b1f311747cea550ca7bbf34aaa7b734fa79710c4b |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401231701813464-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3a2a2f7a20045f7bf600db83f87f9697f54eccc2497526f3899742f2c1088de3 |
|
MD5 | 615802cebd2fd04c194a651782d414c7 |
|
BLAKE2b-256 | 11c202801f33fcf378b414d105b7fb3d739af8e4220ac5ceb6e85049c2bfbd4b |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401231701813464-cp39-cp39-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 798b7bccc7a6b9eb243f81eeccfa80c9ecd95ed8d0371e43f38a26bc59225c8e |
|
MD5 | 22fef00d67ab30464552b4fe1ff272d2 |
|
BLAKE2b-256 | 25665bb50353c97efe1418a31ea80d738c869cf284f3d28756291c6ca7f2126b |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401231701813464-cp39-cp39-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b9d5d84e78ee874363cd57e0ef29c458db805690e8ded574f55ec2634aec1cae |
|
MD5 | a0fcaeb196d1120f75f4f6a5334dbf4d |
|
BLAKE2b-256 | 2e33f176d421fb4879f25511b163d924fc3e63b64082edfedfa8ffd1ec77ede3 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401231701813464-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bce9939753ed9fca82bc7471dc0dfe9e2474bf14b0fc115987ecd4c35fed1c90 |
|
MD5 | d9a6ca8f5ff99298414fa2b1e69a4b8b |
|
BLAKE2b-256 | cd9430c4c05981d25172d66693d15f193f9a6afdf48e6d11b7598d31aa471db4 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401231701813464-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c0d5bdd02a1d26feb6c9561f268c786de3273d4bd299429032af2cac233e5d9f |
|
MD5 | 8ddf8abe8d6d63cce0eaa1eef1b5a453 |
|
BLAKE2b-256 | 1a64d1cc8732865414582fa8f9b1166179adde550897fa532fd56543696b7796 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401231701813464-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0053359b6fb5f1445f21191ffd9c9e3853951ecb6962957bb0d33a60a1207017 |
|
MD5 | d7eaf876f900049aaf7fdfb580485764 |
|
BLAKE2b-256 | 4288e222323d9e8b7f68401902944f2d0a05fe1bbda98b9abf8eef7468200875 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401231701813464-cp38-cp38-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 544f5aa3e56a84e074131990a0dfd23f247839e088393b84e199c574be3d2389 |
|
MD5 | c9933a0d90a43e097090a4939249cb44 |
|
BLAKE2b-256 | 38a684b14ada8354f256236a4d663dbd6c69231ef735165148a55e2276770d9d |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401231701813464-cp38-cp38-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3a435d5a32c57f39dfe32787a424b9c7a5e4a7fa84b3a8b980bf3ec74d5ed8fd |
|
MD5 | 3a319e902c9785d155c31554ab539cd2 |
|
BLAKE2b-256 | 1085ac374843e32d436a1091090ed481a7c7dcdb8963d9a7e098b7df2bc42f8d |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401231701813464-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9df1b90d728203b6dfd14444713da88ef51d7257e4637f544d373de93c5e63e5 |
|
MD5 | 290e3e497d3cd1b75955e4aa90eea60e |
|
BLAKE2b-256 | fa1fdee7e365988fbe47d8ed03e995d861e69557946a23112d9fe15b0aab31cd |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401231701813464-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d77ac3132be3e3f90d597ce951ac334b669392dcb758856ffd1e2f65fe9630c6 |
|
MD5 | bf484f756733f33e3cc187bacc7d4719 |
|
BLAKE2b-256 | b3df07eceeac39db7f75632feedd765b09434be1a0ab6a881ff1ab1343bccb98 |