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.0.9.dev202406211718113029-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ce27234a927569da9bf38b978f6986d34a57be9f919ccfa9dfcb883270f7df0e |
|
MD5 | 15ef83214b609788a2dcbf4eb7cdf00d |
|
BLAKE2b-256 | 867760c9baca863c1582c3bfda3d9bc26a3d8200102fa0dc168840bb42116605 |
Hashes for pyAgrum_nightly-1.14.0.9.dev202406211718113029-cp312-cp312-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 042380020ad5f8c24e24752f324a27e7ff4361580087c98970531a843c04776b |
|
MD5 | 4c175526580e9821e6f055cda27d1255 |
|
BLAKE2b-256 | c788259139352565437dc785cfc830c57edf2e08f73b361c4872bd3f65285227 |
Hashes for pyAgrum_nightly-1.14.0.9.dev202406211718113029-cp312-cp312-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f251012f27e0a76dc1c8e425bd41b7e4904276922dd33e2110beb26f080683e1 |
|
MD5 | 6114566f65a825c8b96e814038e1452e |
|
BLAKE2b-256 | 855bedb0c3b926a2dd1012826fe76b608133db39921e86cb4644647b3c064a91 |
Hashes for pyAgrum_nightly-1.14.0.9.dev202406211718113029-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 039c95e863781e6b8a6faf5cc21db93e21a9579956ba590ec52e840d3962f289 |
|
MD5 | e688de4c3313d2d1dde6527f0b44ee15 |
|
BLAKE2b-256 | e19a1d7e3400d72f674003a2b3f64418f4687b8c1a82c8e3b0667259aa60df4f |
Hashes for pyAgrum_nightly-1.14.0.9.dev202406211718113029-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 68adfa7d246e7f0b333f53a0766f2d1c87a0092366bcfa76de40409e29919c5d |
|
MD5 | cf72419ede27821090bd5f4c53ed38c0 |
|
BLAKE2b-256 | 5c0d908b0d4a1839ee8839b21abed6a66052a027d9d73589dcf3fe6d6f5196a5 |
Hashes for pyAgrum_nightly-1.14.0.9.dev202406211718113029-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8943985cf45ca62f1d046bb20946ddf7398cde8aedd69896981d34d13ec08bc1 |
|
MD5 | 336b4d63904d817511e25b8de99c9c82 |
|
BLAKE2b-256 | 4c4f5a8e8b43337a126a2614f361d1f6f547946bb20a303396f03d65afa69445 |
Hashes for pyAgrum_nightly-1.14.0.9.dev202406211718113029-cp311-cp311-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cd8e4f078d5660d303240d20f2a7b56be05d0c07110659a65e24b056fd9fe492 |
|
MD5 | dbcd824778b39da1c49616007580b217 |
|
BLAKE2b-256 | ba8dcb669e119342888a66ee2b0a4564032fdb045d5bac0eddb4c13673bd7613 |
Hashes for pyAgrum_nightly-1.14.0.9.dev202406211718113029-cp311-cp311-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0b167a2fb9242e98da5021fd6219f14967383baedf286a4b928448cfb835582b |
|
MD5 | 27e94414edd77c36e168c1986daeb98a |
|
BLAKE2b-256 | 4272ca19e97b75fa6c6206178363f1c0627455de284da4a8f32d48f453fc4624 |
Hashes for pyAgrum_nightly-1.14.0.9.dev202406211718113029-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 20cec8bf47fe683b6df7840b45b32f1dc0b11cb06f4ee4cebd3d387a934a5fc8 |
|
MD5 | 561dc3af4b263e418cc7c53e0bb8761c |
|
BLAKE2b-256 | b03ff6639eba75dc788666f03db097ddda13fe7b8e39a3508716c7fcc4470f29 |
Hashes for pyAgrum_nightly-1.14.0.9.dev202406211718113029-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 493a245cdb89e1aa51ecc51744ba60b88d02b19c8feed61cc6ad699d472832ea |
|
MD5 | a85ed83b2e521037e0d1921a5ab0402b |
|
BLAKE2b-256 | ede77232a424d9527a32e20714e7460a0f1b687cd043e09310bb0409d61c78f2 |
Hashes for pyAgrum_nightly-1.14.0.9.dev202406211718113029-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | db37a1019375b864dab8dd9aee12efbb5a128f8f530208b71e3fdb507084bf4d |
|
MD5 | 3136faba50d50f95eec135249cbb23c8 |
|
BLAKE2b-256 | 5dd2b56854f45c628f6c09660feeb896c33c257c92ca356549076a36d77972ca |
Hashes for pyAgrum_nightly-1.14.0.9.dev202406211718113029-cp310-cp310-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c2e542c846b956c8d51eef4ddcd8691e18658865973042f6582990f0a6240a8f |
|
MD5 | 116d771432efbb25cc2f47a09df5642e |
|
BLAKE2b-256 | d776c68d3afe126d20c5cd117e42176e7b7881180b84fd718013d0d0d8333a4d |
Hashes for pyAgrum_nightly-1.14.0.9.dev202406211718113029-cp310-cp310-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 48bedc99c25e76828ef89cf76cfb4786c18954b97cc3de2d40eea6c758059b1a |
|
MD5 | 6cbe764753fe7edfed5fb1e64106ad21 |
|
BLAKE2b-256 | c4aaa24286da3bdbf0339cf6828dec54002b7e2f83b075e74b32b4b67c91dc8d |
Hashes for pyAgrum_nightly-1.14.0.9.dev202406211718113029-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c154b664594da6311f05ee4a5a6c2dedd8107d8004c2192b4bcb5a318b958f19 |
|
MD5 | 82803c435ba1d612e0bc4b8c360c9ba6 |
|
BLAKE2b-256 | 8b9ce59c6d8f90885ed5666550a3414fabfa1b00dcfae5d3608cd7337e3d1abe |
Hashes for pyAgrum_nightly-1.14.0.9.dev202406211718113029-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | faffffac844f02e5834bbb8433fd5cca4d72424d7f1f9b59a092b2ccbdb885c9 |
|
MD5 | c171e6d6751bd53dba8ca326bb3ad009 |
|
BLAKE2b-256 | 30fb281822a41d59d8537c36bb94bb2f32ae01bfdf1886dbba8cb551ea3851ae |
Hashes for pyAgrum_nightly-1.14.0.9.dev202406211718113029-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 745d4f69c7323933652875a24b2bc642dce8e8641c7fb6608cd5d9640d628134 |
|
MD5 | 78d799cf741c0b635b33473428b850a8 |
|
BLAKE2b-256 | 618db3082647dc049b5799a82dfbf5b29cdb51f542caba930fd824743903ec21 |
Hashes for pyAgrum_nightly-1.14.0.9.dev202406211718113029-cp39-cp39-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fb82683233f2f194d83f6e22721ad56f94e60a295e4cc7a0bde312cc420b3291 |
|
MD5 | 5dea55d5f13e6eea7c0750e74f2aed72 |
|
BLAKE2b-256 | 505883214df64cbe57b3b022200c8be360c1f39e0018e63426b468df45f92a3f |
Hashes for pyAgrum_nightly-1.14.0.9.dev202406211718113029-cp39-cp39-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 445475574908afd939d3a5fa95ba63945aefc4ecd8f285a26fff1f535951aae8 |
|
MD5 | 569d01550121fed106730ece9b992500 |
|
BLAKE2b-256 | 1f3a845ae478b5ad71a434f2abd6edf3801738a592620d9c7c47bf81d514fc98 |
Hashes for pyAgrum_nightly-1.14.0.9.dev202406211718113029-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fe8c0885c5e22dbabb588de85387ed997a6f88581dae3975a979eff83fe71977 |
|
MD5 | 3de15870e1bc1256f0de5e9ae52bb246 |
|
BLAKE2b-256 | 06fa91f6de0eaf5a5b4fbcbd5ce66ec717de81bcf5939e05ced78af77ef2fb78 |
Hashes for pyAgrum_nightly-1.14.0.9.dev202406211718113029-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ef43c0f8207e45eec642f6453d2cae71ff757b118eefa21c95f67c0ffdaf484a |
|
MD5 | 83da65b2af3afd70e87c5bb9771daad2 |
|
BLAKE2b-256 | 890aaca890db38018dc72acea864679223640078f850c375c3b876a9ccde2823 |