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.13.2.9.dev202406091715182293-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3f99afacb015f67e2413856c1cc722e4b7eb47f81a74f94c097fd1b55ea0133c |
|
MD5 | 3ecff6f4b0ef0a799b47ecb5e34f197e |
|
BLAKE2b-256 | 774cae03eb3602e16e1940702ca925ec5ef1803962f8ddde9eb1a0457daba2e3 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406091715182293-cp312-cp312-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a29bebb5c8c6d40440a4b57c99cc74753d599d948948c5e6cba03d6d5e59b2cc |
|
MD5 | 411a694b163d026be919bf7b5793664f |
|
BLAKE2b-256 | 8725b9a7a5372e9c428bbcd54f7a629082dbce6e312db631b40552b0ceb0512e |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406091715182293-cp312-cp312-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d137daf7a70e4b0b709c8437445e7a61fadc7cd561e17b2d93b0aa776696e1d1 |
|
MD5 | ad199dcca2404bfee28344ee4ee54715 |
|
BLAKE2b-256 | e4e675bb12f6c69593660edc46818f8a606ecb9ea0f6cc80f6d465e01b4c91d9 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406091715182293-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cc8624865959ab7cb15b86a6fc20a768c685d802fba3c443d3944e21bb756caa |
|
MD5 | 67fe73418ba38edd9fbe8d61ff71b5d7 |
|
BLAKE2b-256 | 0355534dca1d6fdb8432ba0d435c1cfd144262c9e3fa4a1786cc37339b9393db |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406091715182293-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 08587881c6c5893536e5986c9dc54528911778ac4326c57180f8e1d21c8a18d0 |
|
MD5 | dcf1e0dc824a948e59c7e04b5cb2d2d6 |
|
BLAKE2b-256 | 1ebb43e8baa9c8e0f51cd45c80bce9b133247c26a9a23e5498d857dd0377e341 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406091715182293-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5f71f29bf32cb056cc0fda87b9650bd21918a8331df79f35ccb3384246c5a830 |
|
MD5 | 01bd0671cb6697d9b0c04fccdfd4a5e5 |
|
BLAKE2b-256 | 53848248ce4a7711fb213d95b722e406fc67423383f6a51352d178d1b99d93b3 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406091715182293-cp311-cp311-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f3b451e8e9b137e5b3bd86a0e973213df9113cc9607de41d63d614ed2eae5784 |
|
MD5 | 31bd69e02b721149452209f6ad42b03e |
|
BLAKE2b-256 | 71a886947099024eb949113a0204e19d49f296fa589bcbaec2bdfd902846794c |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406091715182293-cp311-cp311-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 11b83b0b9a3e2ce2c632c2c090c9609944c27eebd496d34f7b8eefe4be4d07fa |
|
MD5 | 258771e728d9c61c0850d3f7b7004569 |
|
BLAKE2b-256 | 48f7b7f4b860c24172ac0b4fe76586cbb3fe51d5a0ea72ed43e73b4428cbd5d9 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406091715182293-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 843b73b2f81f5bc19673cc4e6b2b51a8114ba99b31c8e9a994473c58e7c1885a |
|
MD5 | dac69f96c61b5e6f30b97d5b6e35a6e4 |
|
BLAKE2b-256 | a6886326332422250d39c87ca7a8648d41f3c83b1fe3e6f7cf1f49054848f651 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406091715182293-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | aeab6e64db59292b822efc37255ec4aeb205e0c6d17498b71aa38b4ef06fbc49 |
|
MD5 | 9b0e7bf0c1402e1d3ec6f2db88cfef19 |
|
BLAKE2b-256 | 2b424ad8522968e2f8b13f2314b619e366f288e2a6610db181d4ffc8150014b3 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406091715182293-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5c077188ad412ff738c1201be833ba582af8b6d937f11225f349792098a17328 |
|
MD5 | e3e5210833e055a7317c94c529881968 |
|
BLAKE2b-256 | ff6f27e820e4ef9b73d76e5b8461ae385c05c2fce4792440c2a36e5552daec42 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406091715182293-cp310-cp310-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 11ae83f8630c21861a81be4c5231dcfa45e8880eb74a4b6e41ceee2cca0bbd0a |
|
MD5 | f342949227edac795fba5284933e5e17 |
|
BLAKE2b-256 | 63939393f25e66ec728dd2a02161e66684edcaf802d1ab86cbe800acf97b565a |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406091715182293-cp310-cp310-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 73b112203951f2bb6b3d658d5e08c197d6d74024f335353e4b3ca10fb1d7455a |
|
MD5 | 8f3a15b0dafe361ee2f9c404953456fa |
|
BLAKE2b-256 | 2cac7b3309c081bd38bf2160f71f8690a0a9775c01dcaec348ad2ee295feff6f |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406091715182293-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6bcbcb8970d9286fd090f60ffff61aa9df0d9cea085440ee9597fc9396bb8853 |
|
MD5 | 576938227e0f28ff748455aa2fabaa33 |
|
BLAKE2b-256 | 4e27c1692611fbb1f106b9b8d4100850d794eb8f976ba1d5c7c7308e3614ed1f |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406091715182293-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 10506cd69f110de83e709c0a335abe73d47d7a6a043ed12a685b28718bc72f65 |
|
MD5 | e534ef920145e4f89ecdba600fced0d8 |
|
BLAKE2b-256 | 7690964493e5ecfc26e1cd6b0c559f2cf129e9baa64547ae172417940fd23103 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406091715182293-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 01d495755641d4c8e50776af6d63cc05ce473fcb41854633e30b41aee25623dc |
|
MD5 | 324e44d220bf79de6e612feae8095238 |
|
BLAKE2b-256 | 4e8a1a39749da064855ff262e27e523deceb6c8e376c862f8f89d53226cd3615 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406091715182293-cp39-cp39-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2074dfb4cb3f438e63a97d7be1fe9eec7c0f76c14bfaf8fcad3570462765add9 |
|
MD5 | 567bcbfcc4505a6cc2cb70e8c6882f82 |
|
BLAKE2b-256 | f5a8ed972e7eec46d8479bde9af7138a3fdd1dd7da1f0c002bc818bfc2ec212f |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406091715182293-cp39-cp39-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 49ae273a94d54e6cea5dfe0826959de85042118d35ec4b488f6b6ee6752b7561 |
|
MD5 | 9befa7d7aaffac0cf26ecdda94df3b42 |
|
BLAKE2b-256 | ca9d7e2c07ca69b70b13cadf28729547bfaecff39958121e58b5d0130ba27908 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406091715182293-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 908d4e6ec293760d02075582121fd012ba060be0ce50974e04ef680f9b6387c8 |
|
MD5 | e354b2e1192c00841e8d82684874cfa5 |
|
BLAKE2b-256 | ebf3c56356be10288317f54000490296fc0dd81d332dd8895da1fb692cd66b98 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406091715182293-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bc514af6ec2395f9df488c77591dcdf0a1a88583ac751dcf998b22f29f47d7f7 |
|
MD5 | b96cbc70ca68c78038741d58e4047416 |
|
BLAKE2b-256 | 3dd15c998d9ccc8875444051a837c0617e3f9923c9c198fa18d186162ffb1a8f |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406091715182293-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 64a71aecd12d6808d795c25b824edc25ac6db20e4693c1de756252dd16f95fa2 |
|
MD5 | 77ded2ae71d70b486799516ce5732bc4 |
|
BLAKE2b-256 | 44e0d73d5caa6bf2788d095a70f34ad97e4f8995b7b90a138421006c837b7924 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406091715182293-cp38-cp38-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 11addda9617aac410bc4778bf7cf518799db420b666a274d61fe87df525bee8b |
|
MD5 | bfda44ac769a9d26ac6a60518f8ab303 |
|
BLAKE2b-256 | 559a38dbeb184b2606715f7ce9ffaaa3dbe9728138e233e2b705c2c12dd3ebd1 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406091715182293-cp38-cp38-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8e05491310486b101c131e9e5a14d7eaa86d6c5b037c9b09f88b6f17c8c0302d |
|
MD5 | 7cec37d02409a81372e5cf7716d6a6df |
|
BLAKE2b-256 | 6db085c5f7a12e8525ac364b4c0f1972851e2150a0228c0737a875bedae0bdd9 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406091715182293-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cf6ca225c835d3ee9f86aaacc1fde40eab92d6fa40e353b85c458be011a811d7 |
|
MD5 | f67743beff6761caa15adec4c29fa212 |
|
BLAKE2b-256 | 1007b2df457d54c553eb1f58101f7b43d2bfd216046d920177033e1dc307835e |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406091715182293-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 79edb58ab708353c09f75a57d0774c35e20932064cd54c2080d9b0d790d70c24 |
|
MD5 | c939adadbdd7e7a57ad64a15741442b4 |
|
BLAKE2b-256 | adbd40ae5e160efd4ba964d80e6dd50b372746bb0694acdfc20a0f56dfbc363e |