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.dev202401171701813464-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d573679592356f242411d88a972b656ea452fffe9e6e41d92acd5b2efb1eab3a |
|
MD5 | 022974dc4e749193a49a56615908c2bd |
|
BLAKE2b-256 | f52064bfbdcc849e3d7622a0208603cb1e2b86f9cc3d4b6031caa7ea002bf931 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401171701813464-cp312-cp312-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ad84594f8e66ee59a1f02c71554e8ca5e347cc20aed02dca8ceef566fe8f20ee |
|
MD5 | d7b5ccc23d8c68bcdbe68fa54d52c2ac |
|
BLAKE2b-256 | 86cf4a3684bd462aca596938e60d2a08e93b98c7d201198fbeb595364cadfe2c |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401171701813464-cp312-cp312-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f1b1d8c9f1b84f4457334278e566defc3af5ed0cf035af58c87bbe691e11c141 |
|
MD5 | 1acb867486af941ec86d7024690415d2 |
|
BLAKE2b-256 | 2bed47d3970aec8db60cb5ad356bb966acd0471dae22246757a77e86abf06f9d |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401171701813464-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bef27af2c93f46943a36762c9f4b94d15ffdec940c7af0827ba91f3bbc684061 |
|
MD5 | 227c2cb8af6c0130fc265fecfa1d7f42 |
|
BLAKE2b-256 | 2ef2a2003bfc78ef5430325975cd148f4ce027110490d555136ddbded63891f5 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401171701813464-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 71af722f5e9b624a8de4780aefb05aa7de8998a77645314ce794ee2929877f78 |
|
MD5 | 4117d5f9e5de6ed44280724d6f5b25b5 |
|
BLAKE2b-256 | b38e7a7c6d0cf216df31adb92beae945cbb30668c1ddbce013ae66fffbf49ef8 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401171701813464-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 79f8603e5c7cdc8e28a128504ca0818753cb7adfe5068b1d013c370c10ba3383 |
|
MD5 | 1052903fab6e1b72c5ba920b6995abaa |
|
BLAKE2b-256 | 4501ed680db0a9edddeaef04c34c03028ba90907fff5f36da42e94cb4efcca62 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401171701813464-cp311-cp311-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9809e09798d9357425a3d1a01a69f9ea06374b0ea3bbb9b8f2d99e1763c16fc1 |
|
MD5 | 7f45ab4e016dca00b23b200216bd9af1 |
|
BLAKE2b-256 | 938586295d8addf68bb45cbd57fba7a3626f2b98dc65d2d2656021aa40b74a5e |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401171701813464-cp311-cp311-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 29fa790d3947f57e7c4f096410509bf4b0f027add1b4ce07658159fc34aae422 |
|
MD5 | 245f7d212411f40c5c8439b286d1b392 |
|
BLAKE2b-256 | e25962605bac4df06ebcbea95c5bc3c6ce477c4ca00dff96b204f2e06e0a2748 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401171701813464-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9bd1892a6aa4c17d5f7622757785d0d9fb2c27d31bd4cdf715da9f07c5a8b67e |
|
MD5 | 2512fef5ce6cbef2aaa866e137ef2f00 |
|
BLAKE2b-256 | e484e32b8e103caf0f7345feed30a07bf4aa4c8658b5a1c92b1ce7c687428e36 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401171701813464-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e73a4786f16364392ad91cd6471f25bf3271ad32e33c3f3b0ec6368ce6ffc221 |
|
MD5 | 4d4fc15b85f63bab9d48c28dd5ca863d |
|
BLAKE2b-256 | 8dba8a350f51b5915ec17d355022d3801ab60dbafdf489d82fc94c56cb92ad92 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401171701813464-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fea2477c7cbab0b7192433f86a5d8af43f51885c6b47ef80788322d50bda7255 |
|
MD5 | 3cf44ce6b1797b35511a6d1ea6f1349a |
|
BLAKE2b-256 | 093cbfd677119db89cb88f235a3ea078daceb21c5adcdd9e1d7630b9e5322bbd |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401171701813464-cp310-cp310-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ebbae9d5fe8c8604886b43d4f60e58bb4d349b73cdee7af875499e19a52d2590 |
|
MD5 | 9b5ef39ae3e7c3a0896cbfd037d11a62 |
|
BLAKE2b-256 | ee274af8456908d67547bbdca7a7cef6969f2a3b52c26017401fc3353489d217 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401171701813464-cp310-cp310-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f7866c5bff2ef03edd306130da89d4a033dc5c62e3b1e21fc121c81d973f6bbb |
|
MD5 | a0ab1121ea2309f993bbbedd8a08969e |
|
BLAKE2b-256 | 651776a429924fe7f5780a220cb5ecf11933809a312ad3d984caf4dd7e229ae8 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401171701813464-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 431676272d92ee7c00101883a2b3867029db7dee80b618deab31a60dd85896de |
|
MD5 | 68617c8ed7d675336116288b2a0476c8 |
|
BLAKE2b-256 | a35de75b1aa13fdeb2f2a2d6a250bcfe6e4f5d75e5471a3b674ceb1ea1ba06d3 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401171701813464-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e6a8a5b72966969904163496e14d77e30ff47ea6135b307c83adbe4cf9b5f651 |
|
MD5 | a1c74eaa1973d66a75c3d1269a72fad5 |
|
BLAKE2b-256 | d1a8b30da2b46331fe25926d7bedde0a0fb58891675ce2f4185ee0535300e825 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401171701813464-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5c604c8c03c06741d477ddcd22edce0e6f9be874dae5035675875092a3959c47 |
|
MD5 | 617a8e139347ccee5bc35f7ca888765a |
|
BLAKE2b-256 | d680db4cb6e3cc9b7fb92d98e10031110d9e8978c8be1187632b4ac5703e2987 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401171701813464-cp39-cp39-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0282404c0745dd771857acc984fa80462d08a4111d3efa2708ad936237b7eb9d |
|
MD5 | 92aaabf28b262b4ba4c14d759fd30f57 |
|
BLAKE2b-256 | 60952bd6f028eab3898530e8315a6283acdc5f24884be441b74b36bcb22f00d0 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401171701813464-cp39-cp39-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fbe1d16a2a9fb316f961bcec794b6e2cc1a08f2d2e4883d9a6865c542cffc758 |
|
MD5 | cbed2da8f6ae09b83c589dd6b3bb6ec5 |
|
BLAKE2b-256 | 328a0510168bce9e52d82b86c9bfaa59bf4943c569e460a96a4942c252e05bc7 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401171701813464-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0903eed9ccc4a2e2121589c47c78bd3f21119c75567cca56b522c652389e2243 |
|
MD5 | c6acf3e52fb87f314e0c2bce2a3e66cd |
|
BLAKE2b-256 | 28df1267bd9ac350c0c497a1ab64ffefdf53f04bd80b9ef4aaacca65735fc220 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401171701813464-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c2bfb623f64caaa21e6fa05a1b4707bb199bbe43349a9c2cbf571d03715243c6 |
|
MD5 | 39f5f5c8aa81bcf33b18aa725ba531d2 |
|
BLAKE2b-256 | 48ad3cfd562a5d98a295a42de080d107300eeb351271078ea4fe27307a921766 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401171701813464-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b5dc11bdd6989cf18817c183f81bd59010fe9f871ba336e9d6bb6e3cc4c6bf96 |
|
MD5 | bd13364c8f8e230cc5853a52765357f4 |
|
BLAKE2b-256 | f2f4100729e4b81ff84a8e630e2c22478a1059db6bece835b91df9cf990d9322 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401171701813464-cp38-cp38-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ef5bed0b1d1e75f40d23a456af38f1a003c4b2e8c9d4abc0a6fcea17aef03fa3 |
|
MD5 | 83146ca065f66697d4e2418713d8b03a |
|
BLAKE2b-256 | c7e443b99d5e9ebcd27a2564c1c1f83e69edaa45d9601188219d8733b071d1f4 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401171701813464-cp38-cp38-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8f4eee066a8953f2b1487bf646e2fa6bbc860e5e99dac3c443f961bbdd7438f9 |
|
MD5 | b2eb808a1e4c80aadabde558327d4fa5 |
|
BLAKE2b-256 | 7ebb1013372f497326c1fe07047149059fd2d3d02bd3a5c94797948240f35e00 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401171701813464-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e9f8dfa8286f9e16d7bc5a7f716e82a9ba73c0fcbcd12ab5c8b77e980f56ac48 |
|
MD5 | fff2ae1b6e247d150d1efa246da82ebc |
|
BLAKE2b-256 | a4a289d81a02a5ac1fd3f8f1f461f929e2a15587e88d13df43482643ff402b36 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401171701813464-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c2e49b8150a705c228afedd95b21117f866d102bf9da38d05f6faeea5d5d540c |
|
MD5 | 372875ebbdbead170e7fcd11c3c49e43 |
|
BLAKE2b-256 | c16f9e6aae03ced6bb95ed6cecca61566375ff993f21341c4937334328b61c1c |