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.dev202401311701813464-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 437e665346dd2a81350b517bde0fa92960d2b262b1ebfc0f579c228649765c2b |
|
MD5 | 8319e853ce84a3865bef03663cba6326 |
|
BLAKE2b-256 | 5b7576911cc1b3268856a011ac4d3001705fc9d3f2519d0b324474634df008d7 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401311701813464-cp312-cp312-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 72c313c03776cfcf7e34931f7125291aa94a09bf99796a0f5aa7517517fa28f6 |
|
MD5 | 4233268a7e9f95c60a5d712445bc9b79 |
|
BLAKE2b-256 | 6600d7a8be09daf324e95eacf1657467a91ded175c1d244c952070ffdce88e4b |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401311701813464-cp312-cp312-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a06c03b2b7312d7a74421a549ba1d155fa9f965524f0cc58cbc96ce706315e6a |
|
MD5 | 4d95d2baf6d2c3f9526a63067eae2e5c |
|
BLAKE2b-256 | 7e753d68c51241cb2bfa2a477bc3960c73e1b1c6c2af7befc30edd8ab0f30c39 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401311701813464-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 74b23211326a7456b2a06e9e39869554fb5e870e6daf1b40d01a8171de64e686 |
|
MD5 | fa2e51fa44c309a89c54f4a274f330df |
|
BLAKE2b-256 | f219055c545e1105f0df8b2d0925106d593c084aeb91687b4f4532e73dcf2764 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401311701813464-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e2b985f71f364ff82f7dd2f39b3d6e0e019a0ee70b119b63c73d7424ef63e35d |
|
MD5 | e66019e8ade78efaa6be46b122426d55 |
|
BLAKE2b-256 | 36240b3cc12e49c9a969aac132304e1cb21549104e12124e3ed3eb3fb27fe9e5 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401311701813464-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 506385bef1ef24fc9e238feef130da11acaaba2979ce1cfef18492310200695a |
|
MD5 | dd50bac0f5979018d7dcc521ac5670d6 |
|
BLAKE2b-256 | 1fc27ca1ff76858692ca97635679d0cd6d2386f30414fcd7f21e15c58a1aa989 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401311701813464-cp311-cp311-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1220e97e562959de7a6e9901b71757b78ce0e7372931d5cc2d2469ee3c70280e |
|
MD5 | 370318d173cbab05d32ab9f2da62988d |
|
BLAKE2b-256 | f09f7329d99e62a92821b68fa20eddfa44b9bc27894ed7b121f2a4a6955a9f09 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401311701813464-cp311-cp311-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a8fd21c09d0792d28d9c729fed4426a0a94f9b29268f8d065d41849a33311a1d |
|
MD5 | f3d43bd2cb16186471b26d7043e63ba0 |
|
BLAKE2b-256 | 54dacc3f27b20a419eaa5277f8aa27f7124e9d7e3aca0f62471c6eaebd73b330 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401311701813464-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | af066a7a9d423faf6992c485a2f758b3cb9f7c09f536461ff0fa3cead806bec1 |
|
MD5 | c8553b41fce741fa23eba799d93e9655 |
|
BLAKE2b-256 | 8651c9e2227dc8c20e18ab435e4901b2f4928e7505f08165ea6ba1144c78a423 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401311701813464-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d22314001a89c12b75c2d3e4d9de6344ef07cbbcdbc459136a99efcfb35f13d8 |
|
MD5 | d48f0dbb5a09ae63d829e040756d5ea6 |
|
BLAKE2b-256 | 4813b9ac335ef4073951fefaada98a6ce52b571a838b6dc74cc75a8d73aaa254 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401311701813464-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0571d17adf776085d5958fb9aa901d2443cf7813b5ae8acd3edcf207a18ea540 |
|
MD5 | 3e81dd1c287edd43d50c47748c157f9b |
|
BLAKE2b-256 | 54c42840684142dc23ef8356df3d4b67784ffbdbb3fcd94c736c9b2964a93b1b |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401311701813464-cp310-cp310-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 883f8d6c0067975348808f8a82b05528ee29a674fdeaa47140443baf6195cd22 |
|
MD5 | 3afa841aa1f75b900104281ce2e866c7 |
|
BLAKE2b-256 | 8335f28efc014953bdb2b651cc65920cd71189f022955d71374b7b7409229e22 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401311701813464-cp310-cp310-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3a97833620e47b87f50b679ac5c66f7df3bec488d054c296b62e2391c20c8070 |
|
MD5 | 06f94f2925239a79c3b6c9ea8f184c63 |
|
BLAKE2b-256 | 58d857386a0e6e234f9c7e83e2843875d9e91d26b7d025ba64bb7663bb615a91 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401311701813464-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1ec0c76e53dca6a3ee37610c03d813c718c52e5b03b86a6a2944bb36b9eaa829 |
|
MD5 | c1d670831001341face481eeb7d2909e |
|
BLAKE2b-256 | d6d14649c1229f9f37b1b156b56281ffc4fbbc28b5ae492347ca602b25d10535 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401311701813464-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 66d2274bd3099d3677c305d8c962c5a83c0f9f85fcd01a867a15b88a9d3665f7 |
|
MD5 | c8e71acca841e35a3670e195cc8164aa |
|
BLAKE2b-256 | 48eb85659332adce82c72522f69e3668692985a6684fd3dc6db1c0a2ba1adff0 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401311701813464-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d32db9db82fd444feeebea43688740d6e8deb73c401c3e391db9941db3465a34 |
|
MD5 | 716db5dbbdf52598d39cf0646dd1b2e1 |
|
BLAKE2b-256 | 815d772ae6b93889df0aa4c8fe1ca0c772f6e06a3c06b990827d636287b2b429 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401311701813464-cp39-cp39-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 07dddfa0846f4e1db130572d9e8d72abebee6ef9f4604f64a5022e102a0559de |
|
MD5 | 903c8eb4baefbfead5c008af115e4cc7 |
|
BLAKE2b-256 | 597bf9bd0fd24186c1d1c245b5f41fe26c8ce2c016fc1656e789d79e08762ff9 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401311701813464-cp39-cp39-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 47169a6e07511be8eab7b1a4b1d88c0950da2e105a88701b94cd5e78ed3f06a4 |
|
MD5 | a521287fbc10d11df5a14185bbc44b60 |
|
BLAKE2b-256 | c9b7effcfd9332b19ec8b21ff289a0b273ad75ef48a9a93692c487e2a66d6c44 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401311701813464-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 30e4afa092af2cbfd5f05daa0a025d8048fd70b72fa680c2f9ebb22e6bb8bf8b |
|
MD5 | 7bdcac91c46f53046803228a74b19911 |
|
BLAKE2b-256 | a668ca06ac0edbf508ccef78ba72cabe1e19da55b9f16abc5a16fb589e897a61 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401311701813464-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 232b790ba58d4cbbd22c7949977b05d15e9260a3c76a8e129f62a1404554c438 |
|
MD5 | 5671cb459b8843504849fd766d8bcf66 |
|
BLAKE2b-256 | d8aeec19111447332c7b0f870d510a20684da0a81726e0365abcc7dc1f8ff6f5 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401311701813464-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1700702e34b48d4dd308b35400935549c292365d102fe737bebcd61b06602010 |
|
MD5 | 7d9d7e0c744e3a61aedd8698247010bf |
|
BLAKE2b-256 | bcf427f3512a304529a3598b9bbe86619b4e1d500d560ea26a2f9165ac164799 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401311701813464-cp38-cp38-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5efdd9778375b1ed4be776a76bff3006fa341b46d2630b1b6efc46fc972cc617 |
|
MD5 | d0d0274614c1eae662d5cdf2f2e4d740 |
|
BLAKE2b-256 | 5dada307f90a275d31523257ca60f2e4ac482225773bb9c5453934712178c415 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401311701813464-cp38-cp38-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7ca6deb676ba1d6a526357b66d06380b2e680fa7f71fbd8f415dc5c4a2da5b0b |
|
MD5 | 90ea29f1660283498de235cced24ac17 |
|
BLAKE2b-256 | e9a20e1a5711f3a340985bbea60d8f8753e521a1093f7201f9b89df7016caebb |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401311701813464-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d900bfb2b5c7bcf391e630a094fdf0821bdcac2f0173721cbcae13bdcca98ff0 |
|
MD5 | 6000d75b16878a08c51f19f31e59dc13 |
|
BLAKE2b-256 | 29fa72fd438d961c02737348785510d06123c82d3381e41b6482945ce5e84bbd |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401311701813464-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bb8fe08bd066d55b03e55aed2b82ab4c0495fa046268f8af7c26339d0924a5ca |
|
MD5 | 86213a6441e85300dbf869d29b406b7a |
|
BLAKE2b-256 | 2f75e9fc6683ccc133a030f0b6da4f17c2cfd1c740053970e0073321e632b203 |