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.dev202405181715182293-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7561d7cd76dda8c1b418d6fb3f7b43f429dee8f30b8fc8e3747f27a096b1b5e9 |
|
MD5 | ffd3b9df3083c0f38cb7d7f2c667957c |
|
BLAKE2b-256 | 7d3ebde203dd9bb19f2f2bdab25e54ae9302516d6a6140cbbbbc1bfcdc96eddf |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405181715182293-cp312-cp312-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 44d38b6c12522199fab90164f2d54c68683b6ba3d8e1435caa0043a6ee4b247f |
|
MD5 | f5124e7c518778f4d650493ac1a47c3b |
|
BLAKE2b-256 | c9dbdbbdf3744a99aae644a52a993399e6d69dfd138f37fbdc1178bfead6a148 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405181715182293-cp312-cp312-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1a953d1b099650a0b985cb0946c4b1f7078a287fb8dd4b371754d03221c03399 |
|
MD5 | ad559f5803bac058fad73865d0238a1c |
|
BLAKE2b-256 | f69c4d8578899a500d209b325e9bea3eef47891190204a588619fb30b2aab0bd |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405181715182293-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 233a6aa37c0dd72b9ffe8a23da40c3b93b16041ad77c78f80052f454c11126d8 |
|
MD5 | 5c3e1f386b8cf06e451f415768376e17 |
|
BLAKE2b-256 | 0ffde6e552cf2037ad7124568feafee7c2d456d266826bb7cf30a9396e41220d |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405181715182293-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c5580c7380e8e9909e4ac547529d60b64bd8a1865f220445adca67c30339f6ae |
|
MD5 | bb7e5e3673d35cb4bc0841182f5f383d |
|
BLAKE2b-256 | 975144cfd7ab216b3c11ef6326155a75cb0903f5cd5cc12e5045a9215cae313d |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405181715182293-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b5f3f541d8f36104f73581b5636773879432831671ed54ace42ab4eb60d2d60c |
|
MD5 | 5cb10441ac971af802266a475935d106 |
|
BLAKE2b-256 | a6b1f3d5bd488b7631a7d75ea6ab39056aaea3fbf8b415de999690e691dba16a |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405181715182293-cp311-cp311-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 060ab849f0c1f745a8f54fa48273b6e837851fe8bd2f5fa2335a5283a8808e57 |
|
MD5 | 329a34e8ba5dfc6d8e09b50f23e764a9 |
|
BLAKE2b-256 | 99dc2e6382698b8e2a07e92dda802346d47aff8eaea0e100d8b62afdb4c4ce9c |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405181715182293-cp311-cp311-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7e16254eab66855d177ce0bd279ad2cf3bd8ca625d5c4120da73cf5e74278558 |
|
MD5 | 82d03fda2b6253110b7071e7f130c120 |
|
BLAKE2b-256 | d7833f3e17927dc2be1262295f8c6b5b7519c369f686767ca195da6054bd2b74 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405181715182293-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 36b6a280e3452ef1843dd0c3922d1bb584bcaf1418f2877c359a07ec58b57554 |
|
MD5 | ceb9e6c46658aeaac4698c66e819b018 |
|
BLAKE2b-256 | da4d574ea9aa037652c509562801ea52cc30d09beec5d76aaa486750df4cbaa3 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405181715182293-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | daf0341f5d11806422e90ac15e3b1a1f86300f90bb95de7814e8162b73f5f11a |
|
MD5 | 383227af1572409076e63f25074a55db |
|
BLAKE2b-256 | 5f3e27226689af07ac11fc913f24f052d4bf29200a4e56ea3ac3aebd37446a02 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405181715182293-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d16b8c3b2baab5e632323058ff212c48dadf8aca988a5ae6c5f4282b143b0f60 |
|
MD5 | 2f338f5f111856e0dbe1a97e23bf4ebe |
|
BLAKE2b-256 | 1d8f2acca77c173336dac2eba80f6bca002853e7e38817cb11e6237f121186d6 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405181715182293-cp310-cp310-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8cee733f963fe67bec34155b1f9083e9ecaa8800bf6ffd9766f05ac997280dbf |
|
MD5 | 660a5814ce8976f887edf95b1c8515ff |
|
BLAKE2b-256 | f1cbeb81311215c2fae278e9c64520fa72a61753a3b6fc32fb9c9195a289bbdd |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405181715182293-cp310-cp310-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1f7f5c90a84b645963813eea59472492a661a4d951919fc44972112a7ea29bf2 |
|
MD5 | 714ae38f75f0da08889719d8940a0f69 |
|
BLAKE2b-256 | 2aa73651ac5aa31a6a96ca7c9ceb2d8e79852295ac28061adf55fe390317375f |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405181715182293-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 47e591a9ebc6edce9a9514534b79011b312b1875d8b33bb4fa2842f124ab8cda |
|
MD5 | 1d7541f00efddf037bb5fe9acecee693 |
|
BLAKE2b-256 | fac77226c05531ff45bcbba4db5e27129c797d1d9f1f00b572465dfb525b4183 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405181715182293-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8af2fce3a1f11c4ba31bb5deeaac4edbb7e28d6a6195465ad71339a1821ca4dc |
|
MD5 | d303acfe1bedb4d3793e48aefbb3c3e2 |
|
BLAKE2b-256 | d78b50b92a71867b7dbcc48d4253f97d5d2e41cd9d1f2176b95f46a8e6489501 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405181715182293-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dedd70b2bdbf89bcf57511eb8fafbfeb6067bf7da1dbce69639174f8c4b39afe |
|
MD5 | 3d6adab04ce023bc99cbc7a96683ac74 |
|
BLAKE2b-256 | 8899f8bc3bf62415078983ee69faadd936d7b4f94751f1aa14b8eafa98caa5e9 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405181715182293-cp39-cp39-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 705b9d08b004b416db07d717e00abab87bddfcd456cc70ea81d8009e69493019 |
|
MD5 | ce82d90a1eb3c57b4889963da5e07686 |
|
BLAKE2b-256 | 94380331aa6a9c4b69e0a0306471b927dcac5e0579ebf4be81868e7db593be7c |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405181715182293-cp39-cp39-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 31dda633c8455691810afcb8e7bc9691442aa72bad8e464858393d9b5eeba099 |
|
MD5 | d602591f982ea1fbd435d61b857e9604 |
|
BLAKE2b-256 | 94d58e44fee79cbd3c22f1e9344c10dd8981994a8a0a9b2da54ef5e0e1893ecb |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405181715182293-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c65543739b256d845345c21d3b8e280553b8641a664b52583a5423501b7eca23 |
|
MD5 | 9e7ed9dad47134dc461e1b3aaf13c11f |
|
BLAKE2b-256 | 7eb02bbb91ecfc7db886815bb6ec7966cbb80d63a8aae11ebe995517de09af9d |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405181715182293-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 24d8dfb00fa6931622debf28074e160bc0796b08c0e77e0528553d4bd93ebe63 |
|
MD5 | 69c3a7b0cddd030ab8d494e3a1b39a29 |
|
BLAKE2b-256 | aef13ebad599091f098c1b29ed891e136b173408edbf058721e08f70c0bf750b |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405181715182293-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 82976a857d7bdf8c0f0444d8c7f8aeade2dcec5590c24d4641ded13adfdb664b |
|
MD5 | f7e68b01d8245407433bf32b356a32b1 |
|
BLAKE2b-256 | 6a9c4791ea8117ca887415cea960607d06645cbcbd840fdca5c8ad8ce085048a |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405181715182293-cp38-cp38-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 890d780b32e99e238f48570d71f9f7dccf1f0d23f6c9bb6709cb35785eced7ec |
|
MD5 | f247e48c365b8d6094c2802cf5286949 |
|
BLAKE2b-256 | 6813cadc5f9c9c0120c49b2cba09538dc7c5079dd73f5cd776a724d94a931093 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405181715182293-cp38-cp38-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 28b1df68a02858af741437291fb4053dea2d08205b8ad1a5e013b184bbe4a2d8 |
|
MD5 | 6709d53121ea7184e7145cc65017f228 |
|
BLAKE2b-256 | d18b0c24504d993f879de112d226ad5d7eb3913ceb98b8e155e71c6803e71574 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405181715182293-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 844a235fc08ae896f196e8dfee903f42c99c9317adff600758722291743f8e87 |
|
MD5 | b1374a0d9b93c6395cc807a5efbb930d |
|
BLAKE2b-256 | 30896d38952c9af2f4a454b7ab60a50898b83b4e137ddf4f256cb47fecac3ef5 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405181715182293-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 26e8773a137f1a053ba6e2ebf7a4668a4e94c7ab0676df9551731b52301a1efd |
|
MD5 | 2c17d9ab49ae2d01c018863415f40bf8 |
|
BLAKE2b-256 | 05c449e4171db37be45f4c98ee3f523da88242f4d5dfa22a5320b8596b615fd9 |