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-2024 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.14.1.9.dev202407111719384100-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bd55f6d53ecfb0292a7eb4f3cdf1e89ac645f4a042c8dcca604a781824ce8533 |
|
MD5 | 944eed9c7421ef5363ce860899404359 |
|
BLAKE2b-256 | 1bbeecfb1ebc415f34472d6f49eac84c8ade29751f68f26c2298c6b98227026c |
Hashes for pyAgrum_nightly-1.14.1.9.dev202407111719384100-cp312-cp312-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a2089821c77d51246c0c42152910eb9e27cadcd02e428d3f9fa4741547dee454 |
|
MD5 | 58d7dd979490322f6c338aa5a031602f |
|
BLAKE2b-256 | f80c665424e9f5f88ab1207061bab9b6a087dd3fe7055f9f8fb6662cfea35fd9 |
Hashes for pyAgrum_nightly-1.14.1.9.dev202407111719384100-cp312-cp312-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7b47ceab7d078d55ebeac4bef96fabd484a465d0642de5c074ea729f338daa39 |
|
MD5 | 9ec015606843ebb8e4c5b7994a23279f |
|
BLAKE2b-256 | e8c9a14932e10e8aec4ed7975a4c2578812afc0337485631ce798dfb5b498b31 |
Hashes for pyAgrum_nightly-1.14.1.9.dev202407111719384100-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 97280e38e1eeda7ad55bd4565f4e586793622142796f976c5c9ff4f55b8fbdda |
|
MD5 | 4e4532a0b36d76307a95692b84b272d8 |
|
BLAKE2b-256 | f96c868978d092d823303926d5974cdb5d62393dd78a3285648927426929d0e2 |
Hashes for pyAgrum_nightly-1.14.1.9.dev202407111719384100-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cb7de0ee4f2056e0aa67df9a60e20c06367eb9c4ab428ccdef7968b32262b7ff |
|
MD5 | 09fe70e49a21d0a8ca260e5c4fb1f84c |
|
BLAKE2b-256 | 240f2cdf56c984065eb69597e68f5ba3152a240ff81d249185f46e161a974bc3 |
Hashes for pyAgrum_nightly-1.14.1.9.dev202407111719384100-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 80e28f5a57650e356307bacddedf2186e5821205b60b0b4a76abcfc394c3e3bb |
|
MD5 | 90a929ef85b21d34f7e5045d05da143c |
|
BLAKE2b-256 | 761279f6b1d3b2f4056cc668673386e72b6475892e45aea25a8a26d9b09846ab |
Hashes for pyAgrum_nightly-1.14.1.9.dev202407111719384100-cp311-cp311-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d8555ea9925545fa94aa28c6a027379ecf4d4739b876a37fd78531efd69c87c8 |
|
MD5 | a256c070e65c2945ed42985e59f93101 |
|
BLAKE2b-256 | e3000dfd9018aab7ec6048060d27088a990db3242015b5cfff086b34fc22fe46 |
Hashes for pyAgrum_nightly-1.14.1.9.dev202407111719384100-cp311-cp311-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7003e3c715539fed08b3c2597bc9331ef19daedc06b6b6edf52d11b0699739cc |
|
MD5 | 34baa7ddcfcab524bede30ca5e8658df |
|
BLAKE2b-256 | 2fbbcfda9d86c8ec16c8f2289a0a3852b316402294e3b9b09043ec4629da023d |
Hashes for pyAgrum_nightly-1.14.1.9.dev202407111719384100-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 16d0a68a7dc26327a60ec869bc977e7c54c770a04b2b555c8871efcc272b4590 |
|
MD5 | 01efec7ee5a0f16e2932ed0c499cf43c |
|
BLAKE2b-256 | f0014943daa01b6368b885dec0117f6724408c1e7a24aae583c4bf2211517025 |
Hashes for pyAgrum_nightly-1.14.1.9.dev202407111719384100-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 20e879441179d0c9bfc6d7f37f9e2059018a31944fb9dbaffc8e348b6f6d9d32 |
|
MD5 | e97ff12721164e49371b089d2f30c767 |
|
BLAKE2b-256 | 06ffba1b26df62b7179a4606a4a8e962c3496467be6e07cc56e2acacf96f315f |
Hashes for pyAgrum_nightly-1.14.1.9.dev202407111719384100-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b359919d3833b82b40fa6cf8bd20bdd90a66530260a4cf194ab1264a5e7f7fe5 |
|
MD5 | fc6bc9d581039319e2a218ec8ff5d1c0 |
|
BLAKE2b-256 | 5b86f32008b2996751ba81176d5cd10160609dbc566c380d4d4adfa8d7e86d1a |
Hashes for pyAgrum_nightly-1.14.1.9.dev202407111719384100-cp310-cp310-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 01e726acfda87334c90b55c771be381bf23bb2c8483524c211c7a513de3643d2 |
|
MD5 | 8f54cadf62db0c61ce366bdadc625b31 |
|
BLAKE2b-256 | 00ecb5fd5f896a9e9f25170b73f45d4f2872a144cce265afcf3e615efb229231 |
Hashes for pyAgrum_nightly-1.14.1.9.dev202407111719384100-cp310-cp310-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b059d8fe588dc3aed4757b635759d545c93930b7b682a473bd7a95b2121d305c |
|
MD5 | 44ebdcefcc02fa79ad4b2e149ef6d33c |
|
BLAKE2b-256 | a16bf3392363d5c8fdedb77613dee95d0a846fc42f8558a5b8281f7f6ed6defb |
Hashes for pyAgrum_nightly-1.14.1.9.dev202407111719384100-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1ab05c8508188f5851535f8847d5858e8a1d6f585f9f85749b6575e6611e91e5 |
|
MD5 | c216a4934867e5e83367d368b0dab97c |
|
BLAKE2b-256 | c0cbd44f9a31d1bc5caec0f8893563fc760db47bb16d5c41c289916d8638c455 |
Hashes for pyAgrum_nightly-1.14.1.9.dev202407111719384100-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e3b7c9b57cc5d83b1aeac527031f078bcea0dfcd71fa8d34b1d19b424daaf65b |
|
MD5 | 1654f068374e9c25036eb50cf5eb1f87 |
|
BLAKE2b-256 | b338bc6ef3a9ce9260a91ddbf0732ae8dcd5d7cb091673171a31c00c187c4c4b |
Hashes for pyAgrum_nightly-1.14.1.9.dev202407111719384100-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0a1b329af504fcce26bf597081f7d7f6202be336ca3eb4ef1fc9dc03d58c65ba |
|
MD5 | 71d499e97ca38c286a7a5bfeff2b482c |
|
BLAKE2b-256 | 7efeb72eacd12036a4b63a767c31c838a464b5f4284f8ca6a01413fb6cf99406 |
Hashes for pyAgrum_nightly-1.14.1.9.dev202407111719384100-cp39-cp39-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4e252e5c6f167f14cd5fdfbe499dad0c7a4e8457dc8723d652d6fbd98dfef131 |
|
MD5 | 9765ba70e4df649a7d76e6eb5d34abb5 |
|
BLAKE2b-256 | 00c8a4f16757a9c45af0fefab52d652c1d0a69e594cc909577029a742ccc745e |
Hashes for pyAgrum_nightly-1.14.1.9.dev202407111719384100-cp39-cp39-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d08b92ae88e8952e31e366c444f9459da258ada54189519b5a25acc1bb3aab8c |
|
MD5 | d5108d75f174940a9f9f17dd88763371 |
|
BLAKE2b-256 | 20cb204c0248310820a703786b12728234e43141062a4f1ef9154acc8e779229 |
Hashes for pyAgrum_nightly-1.14.1.9.dev202407111719384100-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3eaf44dbf5d0709dd22bed8c50bbaf65e1bdffcafdc3390ce0f64cba9a8af641 |
|
MD5 | af140ce4b3e4a8b48e5011eeb93839cc |
|
BLAKE2b-256 | 21d142bb4272a14f8861d818c2758f127c36d040c18271511d7ffce847d86a75 |
Hashes for pyAgrum_nightly-1.14.1.9.dev202407111719384100-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d7124c99a05da2a0b336fe0da78e6b5837ed84a59a8bce8f433b25921256e55d |
|
MD5 | 7dc6cda1308d9e02153fd3ca1b73acf9 |
|
BLAKE2b-256 | 110b13beb90c03057067433b3fdfe68237e4093683fd9c901ff39e66c566bff6 |