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.dev202401271701813464-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 996cffce502c4b88d2c1a6aee51045e35788418433a7b958d9752ef9fa61a37b |
|
MD5 | e839f1a899bab81c2af66e1c149bdaff |
|
BLAKE2b-256 | 2f748b8015dd0ae3ccc068b3807bbdb6417f86be1cfd04548074b54a74f64f4a |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401271701813464-cp312-cp312-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ab72334bc7c8b0c8594faba1c45e541c4f9f72267b3338708ebe6fbe811c4081 |
|
MD5 | 0c23da7af74bff1bdcdcc8f484548530 |
|
BLAKE2b-256 | 5866f94e9307532d498f48f1cfc0bcc26bab0aa957ef9fa9589dfa094c9cfc35 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401271701813464-cp312-cp312-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d94e9ffc51865e43d07fb80c049eae0950b9fe7d0d6ea4f4f2b491345743a3ea |
|
MD5 | 0bf7b358c91b5a4ffacfb9111e5fa9c4 |
|
BLAKE2b-256 | 283392d2ac085037d403f90a4c78f756f7ef4442e52e835ec3bdda1fbc2b306c |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401271701813464-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d3820f8d8294b16690f2ef56b00d631324e6a57a4694bf644876fe9fb306b24a |
|
MD5 | 7a82355b8630a6b0a964d916be954069 |
|
BLAKE2b-256 | 917d07587c7478a2232005c6bc8b06fa21b522adf46633a166a4b7323935e312 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401271701813464-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b711986127e3cf213c1620414bfd2a672a74b22aab96abdaeffd50443a49e451 |
|
MD5 | 3654971e8857532726547343f929ad2b |
|
BLAKE2b-256 | 0a322be8c4faa8b86138096eac074110cc81b0c9c79b3f54c16365c0c0b9fc9b |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401271701813464-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2c707c114af1db9b17c12001c0d4d59f94d464f8f217d0f3869cf332c5da5ee3 |
|
MD5 | 41e187e5354f18098ae27437f8edb1d7 |
|
BLAKE2b-256 | 6c4346fef5bd8f7f96dbe509e9cd921fa074120d3e8892d78689ec57dba9404d |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401271701813464-cp311-cp311-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 816561753f9fe64637b232c7e622ead5b3de01d56331c751e2e1b60b49a3eaa3 |
|
MD5 | 095ef80ce34d35cc8037c6d6bb076afe |
|
BLAKE2b-256 | b0710e38b10453bbeb4e8426b4c040de54edab03b538f437c62514b66b9f8044 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401271701813464-cp311-cp311-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a92c70ddee47c9cae194c244a32c62d808997376148ac62019675c67b2242c91 |
|
MD5 | d412f943cc6c27f99102fa6c2139318c |
|
BLAKE2b-256 | cd0224f51e281d1ca8cdef160797434df4a1eaab58519cd2b98c3c0fc0342922 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401271701813464-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 62f1cb72f40ea17c626dbef07e6b233ec410e3461b23d720483945c8e8245ad3 |
|
MD5 | b45a9c09a3447f998b13818756e6da1a |
|
BLAKE2b-256 | c57cf492ff26ddbafb8c82da08eaa6a5d6fe7f689e0297c8576c69f64b937f03 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401271701813464-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dad5baece91eb5a9f6aa7d91c89c296021bb67430227f41fa864daa4879b5f5b |
|
MD5 | 217544360fee63981138465ce715b55d |
|
BLAKE2b-256 | d82969d399bafa832ada9711bac007761da9e6aa861ccfe1443d3e122180a627 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401271701813464-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1bcffdf90d5aa2f9f4e3984a1d190d262ccf726fead7602e158bbd0198f38e86 |
|
MD5 | 35a16514f0e661b24805b84fc96458ba |
|
BLAKE2b-256 | b5652612c838f56c293b84b805fbc7cc047194381eeb8d748f27691610a81561 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401271701813464-cp310-cp310-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cbd43e353615606e07f8296b008a802ed90601a87e9b95f4f3d86b1b456b2bcf |
|
MD5 | 97f5258dce037e59481445f25071dee2 |
|
BLAKE2b-256 | 948ca89156cfaac1191d2c76b62bbbcd58bfd4fe8005256dd3c3d49ed5c9278b |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401271701813464-cp310-cp310-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e4ef4b6b191b63ce40f0f7458b07511a3d5ed33568e7d95d722721befecaf936 |
|
MD5 | 233aff99feae97b359ce8d94d50c7bbd |
|
BLAKE2b-256 | 6d2a3a35c3b7c8b4cc6c99a0628e9e2e447bd38d1725065246cf5ba6fca3f98f |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401271701813464-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8234f74f33967fe072cf90c8d39ca2c8abc610c909a6cbd20ac726b6e615d671 |
|
MD5 | 694ac9183b74026377f45d196a266a90 |
|
BLAKE2b-256 | ec22657743c87443ea0ef465630dfdfed25377aca7dddc305e6d9a36866154b9 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401271701813464-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bbd0367271ffbdde6bf71015680e7d520a9448824acaebb1add24add3cae363e |
|
MD5 | 5e7074d45819b9f865a87bf4e7f5ee2c |
|
BLAKE2b-256 | 95beb78146257ab5a0e15145f636da88172e7163569e43c74430210a3dbb9381 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401271701813464-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e3359baa77f8d4704d5e3a7513bb66adc7ec04ec7784576a208afb07f62550f2 |
|
MD5 | 0af74085a0274a2bda7d3f6270a55f98 |
|
BLAKE2b-256 | 109e948883f1eb671854ea7dc44af45425bdce1a94218eaca4ef03b9ee18d8f4 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401271701813464-cp39-cp39-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 47d6bad67a71f164b25d828cee0b9d00cb006ea9d277bc88e02a006036c04f91 |
|
MD5 | 91bc82c391c8a27c21c6e49be3a4bbd6 |
|
BLAKE2b-256 | 4b802a3840491c2bb2c75d3330bb7741e409f9f6a507b744c1380c551415e683 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401271701813464-cp39-cp39-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 76e9ed8e7ca4fe0fae6a26abb4ce2a789cacdc229b8d1a598536bdd0a170df7e |
|
MD5 | 666a38e4ac6d5846d7d31416d6376ea8 |
|
BLAKE2b-256 | 2749ab4c7fd6c0ec767c0f92c8218d7815760cce1a21817cb3a509fe63627f9c |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401271701813464-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a6553b1d75de4b36c9f3b79ece7d79befa46df888f237f9a35e9e2233600a3cd |
|
MD5 | d4ef99e7aa9a41d13da017d141c4e8c2 |
|
BLAKE2b-256 | e5fe35ff9e752659176904b67970ee82b29b8a610fe025c92a28220919709591 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401271701813464-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 069aa0593e43aadf7d308342fe288b0d2ad6f0fd90d163fa5f1745de8366f4f5 |
|
MD5 | 13a2ef6456b93ab9e63dd18ac7e78350 |
|
BLAKE2b-256 | 2ff35bc8c730254a0b36cabde3230b6dd5216cf5e0a5bbc8cc3e3efb798d34b8 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401271701813464-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3bb55eb36794080692541128308f8cacf485f04e03b8cfb4e51c4de42ae7ad5e |
|
MD5 | 016b228cf25435e340f73f74515b8235 |
|
BLAKE2b-256 | c457ce23159759735989be2e2014d402144ebf1b94574415de61c4a6088762f0 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401271701813464-cp38-cp38-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9563e95ca7dff09ef9d84d77192c7fbac17ff3993228da8a86cfb832fb9cc580 |
|
MD5 | e72abab8472a0faf07d84342d42acadb |
|
BLAKE2b-256 | 8384a0acca2926d45f9cc8ecbecfb03fb4d9f16774f13cebafced9e4960ae74e |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401271701813464-cp38-cp38-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cb301bc0abf302fe118df42300d60f5466140756616ff676115af7c1817bec15 |
|
MD5 | 2301121cb24a319d20c99e612137769b |
|
BLAKE2b-256 | e24a83d15498dab8f933d5704c611278114da6c250e6a7c58aaf9bc90620bbfd |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401271701813464-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 34aa9314b6d8df26c2cdf577c5f44a6e30b64ba7075743753ed51e039a8135d4 |
|
MD5 | edd74fbf78bc9ecbaa047015450466c9 |
|
BLAKE2b-256 | bb6ecb9fb948ee0aaabe79dc451600a8625080a86c0dedb14190f070e2736980 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401271701813464-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a5bd1d4d1e844ecd903fce1ecc8ad8762e5bfc68e10fa851e2413db4ca35da4a |
|
MD5 | bd1c6407a7a082e7699bd5bd5d5d4016 |
|
BLAKE2b-256 | b8b71a59c2e4f87fb2aa89d6327bfa3f48abf938ed99b6a04cf5b2e5c7f8c39c |