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.13.2.9.dev202406031715182293-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4f195e1f59961626a3d6329bddf24fef46760f0c1d9988e552364029a8bcdb30 |
|
MD5 | 0581c81ad4bbaa9a233852e76610e32f |
|
BLAKE2b-256 | 88ba0d770bda50ff7d0ef953da7b024dc98736e7177d0b78b2c1aff3985ba016 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406031715182293-cp312-cp312-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eaf3978bfcbaaf6b63d5f3a106d5f9de7439a7a4fd03be26094b54236f9426a9 |
|
MD5 | 6dacf5fdf51993007bbc3843fbff2b07 |
|
BLAKE2b-256 | 1d15e83964c9fc9fb51fe7d1a0599249c98d8f49023a76ee6537cebc4172b4f9 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406031715182293-cp312-cp312-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 02f7928fe0b8d728defa37bca2ba8368e3e52c9bda32d3db8eaf123720b73cdf |
|
MD5 | 5247ef105112f0ca9d89371728fce6c6 |
|
BLAKE2b-256 | 5a63f49b6c0e8300b38cee7ed5bb38c1e9121f56d0ccce583a4e44b50c1a807a |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406031715182293-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5a9404fac60e977458527437f893094231193ba8b4f488966acb7c4d99adcab8 |
|
MD5 | 9abfd2aeb2fe655bdf5cf17c2cc1e396 |
|
BLAKE2b-256 | 339b302728bf0ad997be684282a456bab8dba44fbc5c04e915ccff013661604e |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406031715182293-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 12a84939c433ff8ecb085e75739cb1d0e006224d3cabfce3407976d57caa76ce |
|
MD5 | d3aca80b9a57c63f6f6a6bc77f20a7e9 |
|
BLAKE2b-256 | f0f18c02ec0fd049d52dc0a66f861a8ae6ad599c24874bef040b4aa77896536a |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406031715182293-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 22612b0faa684004c8da331a4570dcb0cea077029af376f00fd3ccd7d01740d6 |
|
MD5 | 990a940a04d56af39cd9455def262e62 |
|
BLAKE2b-256 | 0787daecf2c58f7a0781587187890b9bc44a409ad13ff69ad7aeaa59300b91df |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406031715182293-cp311-cp311-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7e3c6d7687bd93bb06fa9ab5f045b1e6087018930abd8b179b99f91f84cae976 |
|
MD5 | c1776f2444d1380fbc3f7f94a165fe0b |
|
BLAKE2b-256 | c641d880957d96006649f1c6b0731ec2a39c622b68758a2a5c3341991f05f269 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406031715182293-cp311-cp311-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7b9d5246233c6bda46a73291506212dfb452a731abcf3e790f4d82afe217759b |
|
MD5 | 5cc90daca3ac6aa0ce428bd3d6dbb68e |
|
BLAKE2b-256 | a6c8aaf570929996765644c4e38a73e1880d8e28c43196ef331b5a5467359308 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406031715182293-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | feec9bbd5c46452d83f6500c990bd1e6d681bae7df180f69812bc8ff8d7e94b1 |
|
MD5 | 297fb658fea9124027164bc8bea98708 |
|
BLAKE2b-256 | fe7e23944a8000ba35ba7ea203d28c012688dbda5f688c99c31e73b5b8fda358 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406031715182293-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e33bb23860475f8cde33466740c40dff5954628a9cdb80c14adad2cc4d877600 |
|
MD5 | 41553fb7210b7c217e7d110ac51cc48e |
|
BLAKE2b-256 | 8174cb53db59c496ce8959efbc77b6ccb5e853d9bcf25ed5f9868889bfa5571c |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406031715182293-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1d1aaea4e8829e1a7fe1a2e6cc917e675b623dc1529a758ed700e93d81133dec |
|
MD5 | 5a3933848fc6edde20b6b8cd359c2e6d |
|
BLAKE2b-256 | dd6c6db643def0bb2593fef9729ec371780cea32f413784413650b08e3fe9535 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406031715182293-cp310-cp310-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5d1b7abb7fb275c9a36eddac79531089953f5c3902abbbca159e73827448b86f |
|
MD5 | c80a52094b113b89a2ab7f80c26b389d |
|
BLAKE2b-256 | f7dd10cd5c8394fdddee917141ab41fcf383be0e4e67fdcb561211ccd95acfc0 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406031715182293-cp310-cp310-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9f4113b391a7fa2b7a9fbbd361808fabcd145b6ba7928c36483caa7349f3e5b6 |
|
MD5 | 122fd3521557a3c1da53661d176fbd37 |
|
BLAKE2b-256 | e6868516032c4a975e84e5766d5289389c3bcec983a600076738b29b2ab70301 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406031715182293-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a356e5e3c3670839ed276e607a4af620e69130389c1e456476ffca3338f2cb60 |
|
MD5 | 127c17294fcfb0aa6240c6c22d6dc6d0 |
|
BLAKE2b-256 | 83e4694007b6904515ffbfe83139b155f746c792f0d5d62cf60aa6dda971dc27 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406031715182293-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 455531ff7fcf3617d0db31b64456f7a2d16477e48304e3d1e834a232ae8ee738 |
|
MD5 | 4f03463161f0a80238c23911a031da01 |
|
BLAKE2b-256 | 93713c45967478b0330077204633deb8c1fe0589518ce016ce6a37396770813a |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406031715182293-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3f0edb8580ab9688804898f29f02e36a1bc3632bb8b5ea3c737948d684876c19 |
|
MD5 | bd553998580757bbd0110e019f170270 |
|
BLAKE2b-256 | 38550dc3e58130c9f5fd6e9d4b922a7c7f0b304459999252e71db7be74a6f236 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406031715182293-cp39-cp39-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a2bfeb85de1864cea01d6f6a5e436c31dcd2084c97fd79a4f57d1165c0bed711 |
|
MD5 | 721fc93394282c957d412520044e95ce |
|
BLAKE2b-256 | 5fc2049464720c83331f9d6e5098f7e9656d8e5594bf567da60674b644eecade |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406031715182293-cp39-cp39-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 55ee9acaf39808b59d401aa168a2647e2942306c98273b9b9edb401fbacf72c4 |
|
MD5 | eacd2a0b29980e5a2df3435a7be4d7d2 |
|
BLAKE2b-256 | ec5b88aa7769fb137078d4322eecc1da0e90a3e9066fc91d6dd80ace45e59d6e |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406031715182293-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cefff7925a4dbda33f8d92d5c6f4361e1a846143d27e4a5ddd405fb6f6125630 |
|
MD5 | 27058286f9242027ebbec14984641830 |
|
BLAKE2b-256 | 53bf8d0bf3af8ad1158447dff2e519b3cc6f00804df546a7db1a433eff71c98d |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406031715182293-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fcf196ff061400c646e954af643e292599e31006fc46fb4ed6d11e37f649154a |
|
MD5 | 66bfe49cc0a38e8d0b5bef67a985293d |
|
BLAKE2b-256 | 784f40c870ba8a895e5676cd7f022efc83de3686bca83768e01a53dcab090e17 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406031715182293-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6e27c113d04c8b6e7a36e72f502eb696ec6680968de216d1f3991fdb8104c801 |
|
MD5 | 2e8a1f11b0b506e69695985808b54b70 |
|
BLAKE2b-256 | 1c76307f7c11a528bcebd9d10ec08bff9a5dda8b6557610b4c6c53fda463cb29 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406031715182293-cp38-cp38-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 370df1e0ccdb2fe6b85b674bdf7b173ac53e208ad1b81923cbd2e099acb1117d |
|
MD5 | 538ed59ff42692ac10374ab65c773039 |
|
BLAKE2b-256 | 510c3df80c0d4b73ab8f2dc0fb0809e2803fcc997d7ab71111e41d823bb89704 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406031715182293-cp38-cp38-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5f24583a7881574ce7313c584304b219fa6e460e1b5b60bdbc832d5a8e28acbb |
|
MD5 | 971e1278923bdf03cd86de41831b82cb |
|
BLAKE2b-256 | edeb2bde704ff387ed774a88c49657487275e7e588a8b14e1e7c68f22eaeda43 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406031715182293-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 009ee15c53dc490b05db5fdeda13911837fa6d456aaf87a9ee61730266b30eeb |
|
MD5 | 3bc5c1f71d0978bed07a02aabb4460ee |
|
BLAKE2b-256 | d914add01dff108a9638fad51ecf3a20b0139e3d3a6c9d087c778201b6ecf1fd |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406031715182293-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b72bdbb3cf2f950d7fdb2c1fee6b977ae245fc2c49e5edfaf0b6000716fe66e7 |
|
MD5 | 905edea8a873cc5adeb0866e542ef814 |
|
BLAKE2b-256 | 6407f9abf89e587a9d814c6fe9825ba8ae2288282182d44c4308c12338632838 |