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.1.dev202405061713370971-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 16822123e449459d909efed889a5c4db9b83c360da413eeaad883994479d54ba |
|
MD5 | 0f0e24e4e97c3f5d054a3784a1976b96 |
|
BLAKE2b-256 | 802bc8ff91e2750bf95b00c84165d20347535f514e2d1d2cdfa2aa03b2d3af70 |
Hashes for pyAgrum_nightly-1.13.1.dev202405061713370971-cp312-cp312-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eabefc9a32eb08554a9486a64fe7d88a609c4cee5f332e2941c1444b665ba96e |
|
MD5 | 9c167b9ef91b296d9148596235233adb |
|
BLAKE2b-256 | 3aa3c6ce53643a36738f9d1541bd97078ac363f684ad23f705cb65fbab2e451c |
Hashes for pyAgrum_nightly-1.13.1.dev202405061713370971-cp312-cp312-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 58e70d15ba23f77da73bcc3dc23ca864e436a3537b0fcf39bc77f8a6bc5ec1e4 |
|
MD5 | f9193ed1b6b0b557f7675d2456f8874c |
|
BLAKE2b-256 | 0d8e880570cdac0c455f4869fbb470fb9201cf9aac6e4a4a85e271625b81fc3d |
Hashes for pyAgrum_nightly-1.13.1.dev202405061713370971-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d10d27536bd486be3456ae72fc03b63bad9eb08280e0ea46cc5a4c3d94e407cc |
|
MD5 | a87b4e5c908a9dc353bfcc0c9957bc0e |
|
BLAKE2b-256 | 9f1bc650c58cc112181e13391974c208bdb398cef4d0b2a53360a7b02a87b9ef |
Hashes for pyAgrum_nightly-1.13.1.dev202405061713370971-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9f6982c65ebad847f5940569ec06b780a0f66e13d0c2d7395db476546aa6b51e |
|
MD5 | dafb09a54e8cdc74de9c61a72d59873d |
|
BLAKE2b-256 | 8aa2fa7202110c874c39b347e826f53f908bf2740f1d51c6b09aba8a99449363 |
Hashes for pyAgrum_nightly-1.13.1.dev202405061713370971-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d7dc7bb66df47c6fa26017eef5a89984d91ea289bbd14f2e5b6f0340b7cda129 |
|
MD5 | 625725210100e9a3a8082b9b19f89407 |
|
BLAKE2b-256 | b49a0e4f94f9850fa02613080ffbd16fbca6e36bccbe7304512bcc527a7e1ac4 |
Hashes for pyAgrum_nightly-1.13.1.dev202405061713370971-cp311-cp311-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 149ff1fc2ac2c7c9c0271905d3b023379703e7845d099ee1545cc973c11eaa4f |
|
MD5 | f7d8633e8ea78e4951d3f3ad8fbfc3ac |
|
BLAKE2b-256 | 3e4540a3e524d6f05e52833203abf7ab345fd5e19c0ea2e601c9dd79806968d3 |
Hashes for pyAgrum_nightly-1.13.1.dev202405061713370971-cp311-cp311-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fd38f20d4882dcb5e975e5d8d17e662b4b84ededbfe735713d9d4969b2caad7d |
|
MD5 | b44b47998c8b772646a5848e180615ef |
|
BLAKE2b-256 | 056ad5691193c4b1b48a8a4304ef9a38d41ccd503fbbf34cef009154c1ca1a65 |
Hashes for pyAgrum_nightly-1.13.1.dev202405061713370971-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 870264c9edfcfd52d0c3bc21bf71ad01c92d5e266364653090506ba6c85c35e7 |
|
MD5 | 3b08a61945293e0c2853ad490e711ade |
|
BLAKE2b-256 | e41ff5bfcf7a25457171987886ff1c13746397eede0da6b02936968c992769d1 |
Hashes for pyAgrum_nightly-1.13.1.dev202405061713370971-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 50a03762cdea43874de1a02add6e140c7409ec9f750964387b61d061078d62e3 |
|
MD5 | 6acfa10b330b0bce5751024f6746dc65 |
|
BLAKE2b-256 | 3ab4d83d20ec08bbc9614bdc0fbeb5981f1ae320f6787407fdae1ab4f1fa6137 |
Hashes for pyAgrum_nightly-1.13.1.dev202405061713370971-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dfb0da5894205098a8c953fdd2bd08366a3c9ce6dc73fecce539357c1345d69c |
|
MD5 | 12aed20d7f9bb3d78ef7c95d597a9110 |
|
BLAKE2b-256 | bc8686dd464e3c54ce742cec69f1325c5a1018ac9ac0c3865c24b126549f2731 |
Hashes for pyAgrum_nightly-1.13.1.dev202405061713370971-cp310-cp310-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 76f4d01a1ea11978adff302adabf6fb247e4ab1d327a8462b97d9c2107b51dad |
|
MD5 | ff776381ddd3aa726cf498b19ba22980 |
|
BLAKE2b-256 | 88dcc4cba12f49339158d5edc19fc04eadb743e35424016fac0d06d68471f403 |
Hashes for pyAgrum_nightly-1.13.1.dev202405061713370971-cp310-cp310-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 082b657469067fadc5ef0de5798631e45258fcbdd000594d7780e32bff7b8392 |
|
MD5 | 645cb6f1f26cf92e2a51eb2e6fc0605c |
|
BLAKE2b-256 | 727f0887fa97a2ca93c5a9eea4080dbf87b54c8e31501bc3ede7014659c381dc |
Hashes for pyAgrum_nightly-1.13.1.dev202405061713370971-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6231a55a6b4cce43d40858f019b20ea0938d82a26350d25664611dfc9f839a73 |
|
MD5 | a454ae518518bb547e944b836ebfdfca |
|
BLAKE2b-256 | 8cfb025147e83e76ca03f7fb9af3664335a97f5aa225eeedb8748d459bad7040 |
Hashes for pyAgrum_nightly-1.13.1.dev202405061713370971-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 46f729b22673f69696b037ab6caf91bd26b13481dc6ce76b19e376196ca2d028 |
|
MD5 | 9786494d3e9dadf34d152c7bc7be4d14 |
|
BLAKE2b-256 | 7fa6a5fd827014bd14820eb543f7f24819b60f5aed22dd609675fc96c52b2c73 |
Hashes for pyAgrum_nightly-1.13.1.dev202405061713370971-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 03ff3aea6b24550af1838b3eb1a0db0af2621399ebee3ec6dbe986cd8f04dc30 |
|
MD5 | bfbece2157046acd0b954b09dc6694a2 |
|
BLAKE2b-256 | 9a3fdb1cb9cf33d18b55a93b4774c4af001fccaadedeba05b85a4f661ff254b5 |
Hashes for pyAgrum_nightly-1.13.1.dev202405061713370971-cp39-cp39-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 43722f9d0ffbbc53c74160b297ef0bc6f1b37d0df6fc64040746ff3b86480801 |
|
MD5 | 6ca0f7c4387a7da4d915ba87a2f6ae31 |
|
BLAKE2b-256 | 926402e4d1d56bf4549bc2b866d09adccbdcc2d6753a3fa5ff5b90d24e51a882 |
Hashes for pyAgrum_nightly-1.13.1.dev202405061713370971-cp39-cp39-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cf3421cbb663516882d027ff553dceaa71f04e28af110ba235a3f91b4c774cfc |
|
MD5 | 77c81c6fe1c70aa70f1e1954fe99fcd5 |
|
BLAKE2b-256 | fef835c200f01f224f51dd01b6d8d2c2298f8ea93f4a674a2c1dcf5c74e8ace9 |
Hashes for pyAgrum_nightly-1.13.1.dev202405061713370971-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d1e691d1d87981256164d2556f2a6574f4f412f5261ba39b7e44653f82f72fb0 |
|
MD5 | e53df9e83ebd7227f440defe631a96b5 |
|
BLAKE2b-256 | e4eea27f8ce58d2275552babee0f543885d3e7d0f8009dda8233e7b93e7172b9 |
Hashes for pyAgrum_nightly-1.13.1.dev202405061713370971-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 51032f45aabef8ceee5926be84dc2b84d331d69641e7bc49426f2d00fcf8934c |
|
MD5 | 32b76c1defd533df7a72c440cd5bc320 |
|
BLAKE2b-256 | 535a4b048add01c7db187da1171e9f974d73e3b9f810a975c59e965b510b48bb |
Hashes for pyAgrum_nightly-1.13.1.dev202405061713370971-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a62a832f6bef5f0dd9ffc40b6625a2e8fa7774ed4626c26387937e01a3d2aea1 |
|
MD5 | 7029d468c2c2f781797b3e67530b89c6 |
|
BLAKE2b-256 | 325a6f787fbdea7100686696a68436a9d1ddde1d23d23871f3b4add6f0738eb2 |
Hashes for pyAgrum_nightly-1.13.1.dev202405061713370971-cp38-cp38-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9db51fccd6e9d017598adb5621f64763c3da41baf6f9db08395c54c472c489ae |
|
MD5 | 3eb1817e96762f155f0755de1e977d14 |
|
BLAKE2b-256 | 1b48537462e6c2bd331b27d70aa7c15d8dd30f4ee4574f5a002a8093f6d08b38 |
Hashes for pyAgrum_nightly-1.13.1.dev202405061713370971-cp38-cp38-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c9b7d85eac9379e39d733ceeae88e7137d22f4370d36f00d67b20291b57e8e80 |
|
MD5 | d9821e5811be7dffb1b74ede483c5916 |
|
BLAKE2b-256 | 3ae9f2ff2ea0d9fd5410697d1eca296ff6d7721dc763d41ae4ed30d7d9220555 |
Hashes for pyAgrum_nightly-1.13.1.dev202405061713370971-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7c05be8f31dbe350290c7dcbbc5e892b886b6638a6c7f1ec963d6d422ace2549 |
|
MD5 | 3e56b823bee4ec9c70266287d1d67df0 |
|
BLAKE2b-256 | 07890f8cdddaacbc10a3144dddd969d15a5b85f8cdc50650314f23f419317700 |
Hashes for pyAgrum_nightly-1.13.1.dev202405061713370971-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 01d0db34e9805ea43e9dbf0d0ed9651698bfc999ac724b53e3d5ce17c738bc9e |
|
MD5 | 4abb2f708fcd98a627050510b789e9b0 |
|
BLAKE2b-256 | 6c18ea9a0ae16dda4947989759dfa26f284450ad7d0cc96d5d54ef953c4fc910 |