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.12.1.9.dev202403151709747362-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fcea7a54efd01113ba2be75b976dc06e6c952d45ac155d1ccd009c7bc265e111 |
|
MD5 | 544e88a5c92b270fc0852f53f61cb733 |
|
BLAKE2b-256 | 6d567d530741cc22de8fe470c412d6c19c3b6105a18dfc3909a43ed3ee7a008b |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403151709747362-cp312-cp312-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a93dca550e1e7ab1754ef0841f645b3dc9d0ae6827a6542db1abed1948625644 |
|
MD5 | 75d8681797c08d01e02ee641d7a4185f |
|
BLAKE2b-256 | e48bda2eb545540bdabc13f283238ec4d6d0ffb916bd432bb61474e5af014e78 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403151709747362-cp312-cp312-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6fbc912509cdf29a7052b593076972c439ba0b5e42a4fce77a03de745d3e2567 |
|
MD5 | e3e0417a261e6ade15ca46fcf501639f |
|
BLAKE2b-256 | fa9459bd254e36178e41404df6395449cf73cce2670a211243d3eea337e4f00f |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403151709747362-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 746b2f0b53f6eb9bcf141f6dfb69b81fb1365bc59f3bad27866824a360798035 |
|
MD5 | 2715dade7d2ce8114c2789904dbbcb8a |
|
BLAKE2b-256 | 0f5afc2d8fa77a529ee9bacae2d6f16b9fce8b5aabe942dba116f51707ecee90 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403151709747362-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 773002ad0598d795fdc369266a0db9bacd73dff9a0322c84d6b510589d31bf46 |
|
MD5 | 42587fc334e95041e22ae45996f82e7d |
|
BLAKE2b-256 | 88e7dd9bde34e1d31e531b71a49293fdc62b6da11d02e185b84f50c91345507a |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403151709747362-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dd8390edd6abe9b6c1a9c08751624add6007f91d35ba7bc6f3b67ece202460ca |
|
MD5 | d9d7d4733ee838073b710d807471a8a7 |
|
BLAKE2b-256 | c7b90d8a0e77ac12b6c385eb13ba86799d7d7f323a0f9dc0279f68d0b3f4cfb6 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403151709747362-cp311-cp311-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2189df781bbbcf36bc850e009e76bd1e03d180d08c9d4c34d3e8cf57da87fe60 |
|
MD5 | cf6f75ddab8920b366ef79f8f0491fb6 |
|
BLAKE2b-256 | 69ffd46cd7efa937e9d9efc489c435e81375bf60d34c6d0b917b32a4d4bdb4ea |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403151709747362-cp311-cp311-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a2df0fe3629f97abf201f489c10e286de6cb82acb49036f3bbcc9fd7b0a13ea3 |
|
MD5 | bad4f536c46fa6eb17f939f9e0e3667b |
|
BLAKE2b-256 | 069179128d7b2c9b01c9d2454fd3fcf9c7aef912451d52beacf61de57c6ecdbc |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403151709747362-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c8bb78a3c3831153e588d09b57141247a99dd3d05af7e8addaa40e32145c90ff |
|
MD5 | 5da10e5953857621ca133082040b3fe0 |
|
BLAKE2b-256 | c029c56f573c09e10486166a047bae947e34fdb7020d8a56bdb9cd1c3a07380c |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403151709747362-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | aa466349da5f54694317a5f622a461fb4e15986bfa858e82f8bc1f7e5a2e89af |
|
MD5 | fbcd80fd78fd9ab17e98de852b8457f9 |
|
BLAKE2b-256 | cad11775d64dcebab8ccd2433fedcda2de1104ec7c8e2f01b2dfecf17c8653fb |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403151709747362-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a46ceb9d788647e47607264fa188e15966cf323230e5b98a24cf8743c46c9d53 |
|
MD5 | cca6d3a01521bd1770d563bcd870767d |
|
BLAKE2b-256 | 6dcee9af9c666f7046ee66f76c3e7f5ae3337f92f4ddf9605d59321a5c3a8313 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403151709747362-cp310-cp310-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | df7aeaa4cb09731f1f1a8d6aef763d7f3c6524ed9f058015a214f9d7336ee361 |
|
MD5 | d4b3345346c6144d0bea606bbf47cfd5 |
|
BLAKE2b-256 | d35d37aa3907e536d44706d444ab7cb73e00a9ffb7d8154c38da66984eef2ebc |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403151709747362-cp310-cp310-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6277ec991d8e958a9a23e8886cb03c4c582b9dca5f5e3b1393060e781e7fbf85 |
|
MD5 | 802fcdc9cbb06af06b199d167b1e6a35 |
|
BLAKE2b-256 | 0f920ee510a65adc062d827c89622368bb7c4334620044d63c185861a68e4105 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403151709747362-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d8ea6d01166e60338aad2bd479ec0e7bab2a7dcad06f7080f097ae34ef6b2758 |
|
MD5 | 498292e22f900cad229d1e3a0680c59b |
|
BLAKE2b-256 | 85c759a163cc6dbf5795d24edf2a70c090ed13af367671d77a127aec983ceeba |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403151709747362-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 80bc2ccf0f371f915d4395d2befaf10e1cd62a9dd25fb44612c14172988a6617 |
|
MD5 | 6e43afd1eea1b6813ee0fa55c2e73c0f |
|
BLAKE2b-256 | 2b64cb6856b2d298b0b35e3ff33059008908f4a9f630708cedc40501749e751a |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403151709747362-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8087c0a5b10458cbedcdde88fbf11d8f7cb22216d9695d0a34ea77fcbe11e7f2 |
|
MD5 | 60d3ab9c0b9fedcd4d3071bbc59d0d7a |
|
BLAKE2b-256 | 1b6fdc3735716a081b1c1b5a2d53ff3dcaf723ce10ceb34e9c08b5cec02e8a51 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403151709747362-cp39-cp39-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b677756cd7d77c39a16bacc3ef6093eb31f7d18faf6303ed2e52b55664ae7e22 |
|
MD5 | dec1c46286df2235d29df96c6da261f3 |
|
BLAKE2b-256 | f2eb393c74f14d6090ef14db8f40aa82bfcdbecb7ed05cb97d19dd55de92a009 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403151709747362-cp39-cp39-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5b6260830ba465673993ab9355c7af0c7854c793c4a88d03c24809f4aa5b013c |
|
MD5 | 8aee7e50777949ba75d8a8aefc2f334d |
|
BLAKE2b-256 | a555172c854422984993aa5997c8754ba668f9fd87d490d7518e77f890a3f1b4 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403151709747362-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a1710a0c54195bea85ec881fdb7c0047b5a5be835635c082c479941d69fe4d97 |
|
MD5 | 4bbc205abb5c58a1d4a87b967ea124d8 |
|
BLAKE2b-256 | 8cf3a0dd321a331f5f8e3d0ed4c148bd71ca28636e84f25ac9ef7f8b713f5989 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403151709747362-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4e55957d5a41be5280ede90fc0d8b8c59b7521653151d25cfb409ddc02f8fe8f |
|
MD5 | 4f2c1e5bbea4ccbd5e73a057d5c866ea |
|
BLAKE2b-256 | 618728490102d7bbb72c2b9ce16b79f6c56a4feebb0d329c675150324ad760e6 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403151709747362-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 875f4684a053ef922be37aa5fb2627ab69ec8790df576b9a2bffe06ce2cca9ef |
|
MD5 | 4290b0eba14bf2c99841f6d5d2af2703 |
|
BLAKE2b-256 | db7b2456a0fe96f78ec7b970d9403d28c05b67711be3e1aecfb9f37ace8b1609 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403151709747362-cp38-cp38-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | db0e14631fd9a23ba499222e7a5b909c18212e0c2dd97d6c81e14994b3105fdf |
|
MD5 | b67f38b8d9c6203fe6f51dd1347400fc |
|
BLAKE2b-256 | ef2211f0054429313298c383e07f59af9a6cb2d1429f4d8c0eaa69c14a2913b8 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403151709747362-cp38-cp38-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 41b11d7f9078904ff2236ae319f6af4153ef43573b3841ac887697a477019cd8 |
|
MD5 | f8e52a42ef59ff3c43d1e077e3b6d85c |
|
BLAKE2b-256 | 52861612068a08e3af8d1e26d10697e0af72cecc7498a73715c70874a2832ebd |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403151709747362-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 172da3e7295ff24662c4d8f12c7f89911f0a9d4004b78216af084e7e0a3c1976 |
|
MD5 | d42357c00fa7b0c0c1c53d19388dc545 |
|
BLAKE2b-256 | 8ba7f2a9ef413ebbf41699a873511d78d21f0db0ca9bc60ebd2ce0167104963b |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403151709747362-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b74d00d6ad15c327c7380111347e72cc2f4b85d762f54219c40160578f907588 |
|
MD5 | 41a0df1fbab67a693841a0843cc70b3e |
|
BLAKE2b-256 | 99994064e37f99d03f0fa630bea64b86899545329c8771226b84b94dc63fba6f |