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.1.dev202405031713370971-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ae231126da87e972c5cd71a66c0998407dc067ecde44340fef32a44bdd89041c |
|
MD5 | 731dd39a5eb417cb2a07971192ffe8dc |
|
BLAKE2b-256 | 089a39147f771a33575e7dd428fb24dbe1b4509aa493ce3555c8c19bc4e20612 |
Hashes for pyAgrum_nightly-1.13.1.dev202405031713370971-cp312-cp312-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 05a301b6427c17fb9744956266bf0886eacc5d03788405798a008de0156b7652 |
|
MD5 | aa4174f21f6cbeb181b2ffc89cd90a76 |
|
BLAKE2b-256 | 714c3135cb4d060a56b3e842d36e0ecb48258fe2dcadd4de17dfb804899ef76a |
Hashes for pyAgrum_nightly-1.13.1.dev202405031713370971-cp312-cp312-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d2bb01d11bbacb15441d1ba2471878a4144c8ce9f5f4934b1ec375481508bfaa |
|
MD5 | 001dd38a1d522a89c3b8ee24436423cc |
|
BLAKE2b-256 | 146ba309bdd3e3beaf54fae8461b167a52152397003ded7f3bd629cab1778054 |
Hashes for pyAgrum_nightly-1.13.1.dev202405031713370971-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 64437b17e8262d75f2e92fd4698736cba4f5ed2b0c9eb50761dcd27d56885dfc |
|
MD5 | 4e34262a310920050f8f12a6fcb613d4 |
|
BLAKE2b-256 | 0832a13e8fe7fcc28e83279a6df69a0b49444a76dbfc23d3ead0f827f9741379 |
Hashes for pyAgrum_nightly-1.13.1.dev202405031713370971-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 414eebbf1987465f234a3a3055ee592ebb4b3ef3c9f81d90770a6fb119c64b08 |
|
MD5 | effeb698997e6441998d57f8be6d33c2 |
|
BLAKE2b-256 | 9437fb0ca9020a8a9e43842093a8063e570979f80201c018cec6ab88ba4ab0b7 |
Hashes for pyAgrum_nightly-1.13.1.dev202405031713370971-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f0789bf7d8eb3bdf4e14e5336e5d340185f9e7277c627af2d7fac83587b5802c |
|
MD5 | 08081d88c0ad289f916c2fe9b44c52cc |
|
BLAKE2b-256 | 92b0420600b32270b54733bfbb005fba9fbc6c3de4cae097f0d1bf7eb8266655 |
Hashes for pyAgrum_nightly-1.13.1.dev202405031713370971-cp311-cp311-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | af56bb923e6ded0f3d4d1c125bf93c9611602a4c4f64c46bd8e1fff105270195 |
|
MD5 | 258b69093dd7a3535e80551d4018fa4a |
|
BLAKE2b-256 | 142e4e554992bbf6d1000d0c9767333d6fc5298960f11d46db071a42b81d151d |
Hashes for pyAgrum_nightly-1.13.1.dev202405031713370971-cp311-cp311-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c81a569f2216bd408d64a3efe69a24e6160f87d15efd719a57f483b50bf1a825 |
|
MD5 | f787fa235bc2546c0ac88c9ffac88d14 |
|
BLAKE2b-256 | 4de6a050a3165f07cfe797ec040cf56c43fbe6f363ec641e0e22ecfe74422978 |
Hashes for pyAgrum_nightly-1.13.1.dev202405031713370971-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5cf5c6b8633c1d90c26e0c6eb34238a8bf45ae7976270165f41def34bca32ad9 |
|
MD5 | 9e60d910550019921524831982abbb4a |
|
BLAKE2b-256 | 2f28fce60bc854095bf311cf6d78fcbf27e80a9a2c7f22900cba6249dbe81116 |
Hashes for pyAgrum_nightly-1.13.1.dev202405031713370971-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 983b9046cea999afc597d030c2edfab799eb77d9f86e370e322e05943798757f |
|
MD5 | 3c9d4eb82bc29602ef9741bd6541860f |
|
BLAKE2b-256 | 666101ec5126d134238b04bd7b86ae0491cd6faf2041667e71b51abe650e29f9 |
Hashes for pyAgrum_nightly-1.13.1.dev202405031713370971-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cddd92d7c06502a04abf607ac786fee9153ea7d0502e629bbb9f115e15fe549c |
|
MD5 | fd3af8f45e1a97ec71590c580bb11590 |
|
BLAKE2b-256 | 08dfbb9e750e71342d0067a5642ef90e0d664f09d6e0632f156b1973e749ef93 |
Hashes for pyAgrum_nightly-1.13.1.dev202405031713370971-cp310-cp310-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c4cb12b4075c793beedcf692da2b63676f78d06e78d973c778182210950d8c85 |
|
MD5 | cc86695a909cc9177a1b2ddaae005b68 |
|
BLAKE2b-256 | f3ded77206156095bf8a514313a8336d8295e8e83477c044c345927720e11bb4 |
Hashes for pyAgrum_nightly-1.13.1.dev202405031713370971-cp310-cp310-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8ad91f09cd46859c08e0b8cf65442b314bb23017de23bce9e7c0564c6e2b1bc0 |
|
MD5 | 682332a36415ab7eece4f6e57e90af43 |
|
BLAKE2b-256 | c1d7e076dc34f632328e20f65c15030dbaf83b5f52ba794978829cb8c6d58be4 |
Hashes for pyAgrum_nightly-1.13.1.dev202405031713370971-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2f565ec939ce805cf367cdf354d49446df0de7bfc827e9a4210b2a95f7ed50b1 |
|
MD5 | c21ed2992997e5bd5963ee4bb051eeb7 |
|
BLAKE2b-256 | 27210d610e16f97ee422d69f2855cde8ea66006366a1da22252502b689f6acbb |
Hashes for pyAgrum_nightly-1.13.1.dev202405031713370971-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ecece86efff7bc710f2ed0b021950d9cbc48a63eca5a9369c54176e2e9666049 |
|
MD5 | a225de29fdbe5e274fa28cb2fe056fd4 |
|
BLAKE2b-256 | 7dcc244062789c9219706ecb6cc7439d0fd3eaa4c3e7e50cda27c55f858fe33b |
Hashes for pyAgrum_nightly-1.13.1.dev202405031713370971-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3f9d15cd0fc96436a990643fbdca1adae1774d3297d0d7335ceae713b6a9ba27 |
|
MD5 | 596e67cd4debce783deedb7754da5303 |
|
BLAKE2b-256 | 149ead41def4c8a1118d8d5e8f73484c9f234e7f6ce2d3d40db595ed374e2e92 |
Hashes for pyAgrum_nightly-1.13.1.dev202405031713370971-cp39-cp39-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 724d1bf2d63e2882065eac07cf695f1a09c0f82bb7de86230cdf8b6a98bc4788 |
|
MD5 | 0541687a6a4622674e62ac611d68cf18 |
|
BLAKE2b-256 | c7f34d60a5c9fbe41f6b25e4b66ea688aa7c7f11a4a663189f994738d57cc5ac |
Hashes for pyAgrum_nightly-1.13.1.dev202405031713370971-cp39-cp39-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dd73093c3831c31ed8fed2f1568368c4a266844d909d45ce615b066b56c1b496 |
|
MD5 | 47b25964ae212aa66ea37bc69d35edce |
|
BLAKE2b-256 | a7bc55f713a57db99142644466633cd27c8f889e4f53af732b5384a27b643bce |
Hashes for pyAgrum_nightly-1.13.1.dev202405031713370971-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6ae444ce68ed40dc30e6f44143ec70350f6a658173350feea1e4395191ca7b8b |
|
MD5 | 15b1d4ac8c7d70754575233222f08993 |
|
BLAKE2b-256 | 8b97487c528efda930e6511745a5cb3b1392d3cb9dc4c2379fed49207deb8b3a |
Hashes for pyAgrum_nightly-1.13.1.dev202405031713370971-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 77b677374b3a76a078e1ca3c1cf427b39c2e08aafefe3088b587016f64be5126 |
|
MD5 | 485918f13cd604f72e888b7e8f65a482 |
|
BLAKE2b-256 | 5618f377dcb7dd27641e13913b97cd3a4fe13cdc03344da623a135ea1a36e6a9 |
Hashes for pyAgrum_nightly-1.13.1.dev202405031713370971-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bad07474230cdc5cb103bee43f84cd85a8cccec99b794774bbb269db12bc0d61 |
|
MD5 | 0007f4ff218312b0209d9175f73ffb32 |
|
BLAKE2b-256 | d245d43cdbff1e85ced9db3db91f1ddb732696318348df610291b5baea8a4224 |
Hashes for pyAgrum_nightly-1.13.1.dev202405031713370971-cp38-cp38-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 739f5d5012f0bc6f592843a2d640c993745aa7dc99c533a55c3cae4b984a27d1 |
|
MD5 | 3b088a14c7d0d85536c14d2f1ff084e3 |
|
BLAKE2b-256 | 25adf1b2da22128a35c008878b3a1f280e3eb0d59e55eafd5ddb786a328b4f3e |
Hashes for pyAgrum_nightly-1.13.1.dev202405031713370971-cp38-cp38-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eef9db6bc9d25b86b76c27733d8fee71966b7d62d9218e3587f37de8eafe06ad |
|
MD5 | ba27a04c404f4ad70ee933aa2e2b964b |
|
BLAKE2b-256 | 46fc488f0191f84bebab2ff9aa6be4bea955ee2751f292b805b8df56438b602d |
Hashes for pyAgrum_nightly-1.13.1.dev202405031713370971-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 32d804d98af3409327df099656f78e2dd0781f3ba33dcfc53ce4afadea7b23d3 |
|
MD5 | ffff6365427d14349ea0d3dc049ee668 |
|
BLAKE2b-256 | bb03a12c86f05517f17eb1c456ff51697de9a9c6e0cd9dd520b698a4efff1656 |
Hashes for pyAgrum_nightly-1.13.1.dev202405031713370971-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3bf1e6c2d535790e4bcf4717e4a1e844f1eac2b09a5f188611681dc57e29f16a |
|
MD5 | f56aac35587eae41c43eaaaae1df5060 |
|
BLAKE2b-256 | 3c0ea736e08fca233bb21907c91a2b321095fd0125f5fcc986ebe82fb759456b |