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.dev202401291701813464-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ade87c4fe4e403210a8280315494fa4ed1ba4d7067a401c7213670aa7e28b237 |
|
MD5 | cc0b078c4a3f8fa6c1736d653063298d |
|
BLAKE2b-256 | 5868b12d117feebca4ca5cf09bdc34ec6847c4a31daf6af17502816beac8392a |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401291701813464-cp312-cp312-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9f9c1e3e78e7d409e9c0e6e5369f32dd1032c907d56ee4e340a94b322e9a94ad |
|
MD5 | 16972c13f366aef76dd498768a4f0d08 |
|
BLAKE2b-256 | 834d99e4a794e0cf3c41309dc602d598e37dcaa2163c1d743c9db9dd0f610ccc |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401291701813464-cp312-cp312-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 68d018eefed96ddb1d85d323d455fa68a195ec0d5366dcda2c72a5c153d49b25 |
|
MD5 | eee3f0b818736ac6aa1f2f0e19191346 |
|
BLAKE2b-256 | 76bf65fa3e468b8bada6826652a85c68aa6d005b6b0de7cdb411903f2056fe17 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401291701813464-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 63d577281a3c8ccab82536e2ed704c7b3bf22f93b1fde086a074869a2fa32af0 |
|
MD5 | 69c8899c7cd711ab39853de9543ac0d3 |
|
BLAKE2b-256 | c0e29829223598828991249a7f5ad6bd3f965db3bb62fc473858b78f9360ae9f |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401291701813464-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f2eba370954e314b58bd206230343a31f6e322a9df2a3cb81d68ba76b1846834 |
|
MD5 | 2278dcd64d0512714fca2e4c46a11e4d |
|
BLAKE2b-256 | c11d2438f9553dedeaeb61144d3a4131d3680b143ccd7fd178b78efa85d56125 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401291701813464-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 908456c4559166ad80b159def626d680eb96c15fd27211079fff816923733854 |
|
MD5 | 996c8ae83b5edf556f7d3e250c54eaf7 |
|
BLAKE2b-256 | bfc2d7df3a30c0338e2ec53e08234eef3d59c407f5a5ef0242f21278c7d1a8a5 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401291701813464-cp311-cp311-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b9bffc9ba7e4316eeaa97c57264010dfee4e03ef1ffafa7d409cf3905c6efd86 |
|
MD5 | c9bc4b67331e0e4254c5649c6ac3231a |
|
BLAKE2b-256 | 988efc54ff5c16cfab2bbc27bfd577193f89cb404fe1004e9adb4573fede1ec8 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401291701813464-cp311-cp311-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c56c294b8afa326852aa220bba51d79119cec11f972c38c05fc247d0b13f8b17 |
|
MD5 | f43986091b107d84078f1ea255b33777 |
|
BLAKE2b-256 | 5b3321bf5b44d245dcabbf7deae1aa948952fda456750aeeec9acc75f7a54176 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401291701813464-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8d8de012bab50a76ce34eee863f3ca7fa9273cb2134a2e193e199ebe5fc65310 |
|
MD5 | 3ec3867d5f691f5a7a066bdacd94cbc6 |
|
BLAKE2b-256 | 39e01324b54bbbb24a98ab2b2ed9c0e88d3e893f346c9706b96bab709d599b7b |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401291701813464-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3a4963986a3ecfc64fbb545e2888285410492361327602a17831e633ff0be9e7 |
|
MD5 | bc0442c08657bef2e5a6567374f20299 |
|
BLAKE2b-256 | c09733aaaee0623ba5be869f6f87f9a7056f0229e75ef569c9df2d119b4f6a30 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401291701813464-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 33efb54293658836eebb481ea9e688c46c438167d739321429073816155bc41d |
|
MD5 | dd963a26360694ee89ed521ba525770c |
|
BLAKE2b-256 | 446e7c2b765c363b702dd24d200dcade6abf0201d8b82440a1fae43cd4a8862d |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401291701813464-cp310-cp310-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ed5094bb846b29953740dceadce3bd5b9fd8197d5551b94554ff46137bb50cea |
|
MD5 | 75f3f866e396264e6a5f35e65c3454e8 |
|
BLAKE2b-256 | 9f2bb97034fb5d971a37e6ec510fe072d858bb5c66cd5b42ae7560fed454f424 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401291701813464-cp310-cp310-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7fe9de24708ec569b60fe455807991c226c3c093ecd8c3c757ff3685ac319752 |
|
MD5 | 9109a2b1631992245c674808c96d6602 |
|
BLAKE2b-256 | ad8b184a42daa9292d829986b2986f1883a5d5298468b0815d8e4ae6f4e1b6e9 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401291701813464-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 52d3e52e1e8297d00143c1d9926bf4eb789fa66828a52e5b99d9179ac3786eb8 |
|
MD5 | c8e89aa6cb83d9d6d4188bcc6be93f28 |
|
BLAKE2b-256 | 09a67017276223e4b194bdbc8afc17baf3a377550e70b5b3462b1b811891825a |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401291701813464-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d2c02800ffc8eedaa509fe46442b3c1bfc9ba4418171095b5207d01e9f0ade29 |
|
MD5 | 816a9ef4e578711d0222cb49c8005189 |
|
BLAKE2b-256 | f1d76de8ce8d86a53f305878d6c9669fb8c2882a8abe02bc3d0d07dea209eacb |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401291701813464-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6d17ca630841d63568f64041da16ff3acf56dab60166e1572422ba4b895f08b6 |
|
MD5 | 221673443a4bf1350a3da24323fe589e |
|
BLAKE2b-256 | f5a5820664895504b1719cbab5ac07ab825d1bb723e60f3603866d1be8af88a1 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401291701813464-cp39-cp39-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 50afa0a520184a93e5393aa5eb52303344dc0599faa5e91cd07c902bf591ff7a |
|
MD5 | 0ab16566a9689e7215ffcccaa0435076 |
|
BLAKE2b-256 | 6b7cc3232bedd776c10e84c09fd5f81c6be39c52770d534229dac13fd45b87a4 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401291701813464-cp39-cp39-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 323115f996d5126269c010f86a0799037e7b6ec7c017caa07e832ea0a2e3cb3c |
|
MD5 | b1b4915ebadd813ed80fa1ecf21a7585 |
|
BLAKE2b-256 | 547aa8304c136e9886b6f6fc9294f528436e48599a6c106fef0acabd202f2d63 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401291701813464-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a796767ea02190b4e7811ef54291e368784b156986f1c7f56ac883e3389cb7b2 |
|
MD5 | 786be26d717ce16933abb83a93cf4c61 |
|
BLAKE2b-256 | f5cc5b97e74ceda9444df9002ff4451e5fbfc4e37fd6b2399332081945ae323f |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401291701813464-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dddd020838e9f0fe0699a6aa01df56ff4cb7394af94cef72554cd384c3660473 |
|
MD5 | 5ef75423c061037f6cfdfb4a8e3a0b5e |
|
BLAKE2b-256 | ca0cd969c87b023fa6d54caad6fd354260ae733663e8a8d24ce95d5afd9716b8 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401291701813464-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9da1f47d007caf021da1fe50d44cfcac982ae8f693587ceae2ed4edd5679292c |
|
MD5 | 6adcb2ed41efae3912e145900e91880e |
|
BLAKE2b-256 | ed9dd70fd9ad1b34e53ade8a1ad712c7196a7faf8c18aca5a9c96ac8df618b2b |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401291701813464-cp38-cp38-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 82da2c09a6c3c49ad821d08d3fe808d7ee3f712f9f795dfb6ed83453e8f6e0c6 |
|
MD5 | 208888abcf67eaa8db2c5b6ccb51d0e6 |
|
BLAKE2b-256 | dd7728e10b4fae7c2f8ac836585d3d88d47348505c22c044bdcef77e4070b18c |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401291701813464-cp38-cp38-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 18e35e8d651ee79e3ca93fb6566ae8a4fff48656504a4d0d734ec38978dd080d |
|
MD5 | de6ae953e52621c5118a0d2f6dd41f1f |
|
BLAKE2b-256 | eae7e2195a612e617fbca22bfc02a35cb44684e14e6ccaf6e683802980041a65 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401291701813464-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2470c66d3494fa174bf1129d6da8c44b44dfdf96e48f359218421b795f050e78 |
|
MD5 | 7ac9be68dcfa63c39faccb7046e178ff |
|
BLAKE2b-256 | 597c20a8d8a5eddd378b92cdde187532f40024c9b64652b2f7967a45308a73da |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401291701813464-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ed355d8369e1ae63375481fc7ed2a885d6372b89520b7e0db1b8b30b3c81bf9a |
|
MD5 | dc7f9b2c70c8f4710b3cc9156eb6f64d |
|
BLAKE2b-256 | fcaf6398fd7c4a3b5fc11761ed162eb3daf7399eca30db47a116a00bb1c24028 |