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.dev202401091704620238-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5ef005dd67dbd1a6739f8e8f55c8eebb1ec3fba6632998678321f37404be439a |
|
MD5 | b852b27680827e8d6a18228816600c23 |
|
BLAKE2b-256 | dc55216299fe12122b9bcc0e35f5abd4014d31ad2b567a4d08825188f23c1d3d |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401091704620238-cp312-cp312-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | edb34d68eaf90286fe7dcae4a4400584af3622be4f6aa68ef5333232997a0d9c |
|
MD5 | b53abf89c8b7ce3a46fb59fe5bc5d8be |
|
BLAKE2b-256 | 57c526138e6d50b11c09c25a636a875d79901e934672b82eb3ed0c909238d438 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401091704620238-cp312-cp312-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1f33b374cca46c20f703ad105c2eae9fe1e48e41ffa329239a90909f1d5bfa79 |
|
MD5 | be8ed1f25d398e57c122825e627945a4 |
|
BLAKE2b-256 | 439ed47634694e82f180db631d8394ad2e22b6fc52a0562e9e90fb9c23017a4c |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401091704620238-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | deaaf27774be2e86fc82019142be6cc4a47127816cfc279c20a8c9aafe1ceab6 |
|
MD5 | 7960ac85d9b0e7ab1b1df7568944b9ce |
|
BLAKE2b-256 | 20a3cef850a654e0514186c9b9ecae3022b885f3879fb6ae017bdffe2441d274 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401091704620238-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7723ca904eb4a8da01158a8ea96b8bccc20b040fcc90bb7c48de34f798b04153 |
|
MD5 | 4a23ec029a6d562640c1d3e3cbd7fca5 |
|
BLAKE2b-256 | 99c472783db084026702aa65b2ab4d1dce3dc46ee26b34d0cc376e5cea7a2622 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401091704620238-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2342f715b5df4526ef8b1670ee9314933060fb462f9c036ef6b4ddc4c69050cc |
|
MD5 | 2faab604a5f54aec53fa4aef0aed60e3 |
|
BLAKE2b-256 | 1b03120626f805af0f04faaadc331375b6868551b9cd296616d1bfe64163031b |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401091704620238-cp311-cp311-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2cbb3d5c0cff323802eb83a2cbcdd333ce972a4a3640aa611e9b62b2ad6d2de5 |
|
MD5 | 1d92799f2781759793d75f1514ae0374 |
|
BLAKE2b-256 | f7773cafc5d5ec43e53f6837d4dacf2f0d247cbb0d4d4bbbfb600dc2739e0f86 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401091704620238-cp311-cp311-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5706d5cecf7cf596f775f2edbb7b8bf8457635b1bbfc11e9017d37163a6b560a |
|
MD5 | 0af342d9f8a5b1cd2fb68039e0439789 |
|
BLAKE2b-256 | 389cba341cb513771db425206e71f9275a5b74c3ef67137fb4526da68fc2d659 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401091704620238-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a0078d6b61fafe08c7a1c075e2f689cbc0ec068ea89f0b3d4dce2870c8afaded |
|
MD5 | 5cb7f1b003b5ceb39cbe92c2885493e9 |
|
BLAKE2b-256 | 452b4c1113e4bf0e4b300cc604306ef783bd259f44c1c73c9bf7cb62ad649c6c |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401091704620238-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 722767ec513bd450cf2b4b054a40e66ee4f70ecdb73ae7579167c7101677663b |
|
MD5 | 5fd892c6812dda2e09e8bc8425f73b1f |
|
BLAKE2b-256 | 3bab287e068f7aadea9f908175fa84257c476334dfd0284991ec83aa1c11984a |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401091704620238-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 145bcefdef4b003c254cb07fd61210706d16d1bdad592d64fdd934b52e642f6d |
|
MD5 | 412a861af53cf87c312a2501933f8a86 |
|
BLAKE2b-256 | bd92ab5c43247f4e11efd853e723a46639c83db12481182236cc2fd921faa1d7 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401091704620238-cp310-cp310-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6fa68ff6da6be345b9206b3136703bd2017f5db97d9ed7711d4a2a07b9cec71e |
|
MD5 | a4cdd23df297e46dcc47f7e10fa0dff3 |
|
BLAKE2b-256 | d4960662f135ed9c94041b9bfe3d1188b84bfc638576a459bdbdd5b63a347d73 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401091704620238-cp310-cp310-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e5f64ec282f3557812fbdb2d312544111689b2fb45f62de5b86a088d3b79a3bc |
|
MD5 | cd420444a21d0c616b294c82840ddbe5 |
|
BLAKE2b-256 | f5d4793200ac4d022a6b16b97f821806aa7bbce9fda33c206f095b548b4fcb85 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401091704620238-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f66171e1ab87ff099b4900342a7bd63d94ca246017861ae37ff8545974effe3a |
|
MD5 | ea5c450ec1b871df783b450f6317d112 |
|
BLAKE2b-256 | b9ebd4652fc2f236c8348dd596e27b699c9e3a128833a0a420fae018ef31fe2a |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401091704620238-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 81612c0e2aac6afad66341bca9c9f5e844ed8f958113c0452fd18145b8a5d10e |
|
MD5 | 4d9592645f79637f05471d84b6fa87c9 |
|
BLAKE2b-256 | 575b40ba3fdff8526e1622ff829dd5c1ced4383ea3968ec1ce613481fc1530ea |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401091704620238-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ca949996392fede166ccac379109e85b2c38b1cbf981a158a7c4f35d33cd2a90 |
|
MD5 | bd953feb153bb200aaf3e9ae14e6714c |
|
BLAKE2b-256 | 921ee0d9939410db50f5616687eaef5b9f89446a6f300d1eb0c9f77dfa9c7c07 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401091704620238-cp39-cp39-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1d6486578758af945c21c5102f5c1123a21ca6d366ec0c4ca35e4b05589a72ea |
|
MD5 | 32813ae5b3d91d5b6da2f3e0c446adf4 |
|
BLAKE2b-256 | 531a534a99c78383abc2b8c03327712f07f26289d1d417c31e95300baf685ad5 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401091704620238-cp39-cp39-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4c7ad2ff5d825c1e7f764f28221e306ef687d417758fd3a8bf16e4e72bdcfef0 |
|
MD5 | 409d1377762f82646b031d311e756d7c |
|
BLAKE2b-256 | 710e92fc4edeae66ebda9bb7646cac7b158712eaf438d5449c6f16fc4716539b |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401091704620238-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f37c6285e56d1299901ba9478b3d3e654105b7dfb4f6639a875effc9077a5398 |
|
MD5 | 439e8c6002d2505f50c70795b3665b2d |
|
BLAKE2b-256 | 255c23d7f828863d928b9ced2b8842b5e5fc3d1b21933dc36dd748aa4aab920b |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401091704620238-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 04006a2d52110bda278ac4c25c187be3e9481371128cc79dfd8d3f3d1c8ff600 |
|
MD5 | a1e6d972bc51a05a24cb1b346bf2681a |
|
BLAKE2b-256 | e8951754242f5b65e51795690b6287f45c2427c63f024bc7fdeaece46f0f9c8f |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401091704620238-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 394638d0718ffd45b27b58bed0013b2e678df7af66b665905ec2e25a33276145 |
|
MD5 | be67ed4d991c784df50a60922822da6a |
|
BLAKE2b-256 | aca9cb508dc006a3c3288a8c702341e5b58e943890c565840c35dd50b90e6766 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401091704620238-cp38-cp38-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 93f251ff608ebff148f43d5768a48552d760c7f0350a0f1352200e5f0f2504f6 |
|
MD5 | 85357afe0663ecd4229de405bf687b7e |
|
BLAKE2b-256 | ed3370c77674d823f3208e0ef315a1292ef818cebd095ac49bf6b85d689845a2 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401091704620238-cp38-cp38-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d90d22456fa239568b27e4684047b154cc7e3a0daa2ab89373c819f5da9a2389 |
|
MD5 | 4586a8cdd082694e61f873d0cb97314e |
|
BLAKE2b-256 | 26fcf3d97de68017f3784c5087eac80bbfa9eb7bd2efa90b10af96c952c167f2 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401091704620238-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f6b0179661473a39da7742b4e2913d0dac1b2d5b91698e33001942848e1dacc1 |
|
MD5 | ae5b8ee220c1d6612cae0e8e14524da2 |
|
BLAKE2b-256 | 51827e1070d21410fd8fc8ee22cfad67643b5dd93bdca63c55e1f60d563fbff5 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401091704620238-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 485693abaa6b4b1726a9993012d251f4b1b4521b83cf9b79bf86ca56c83ca0fe |
|
MD5 | ee13f5babb142664558b7000642f0ca4 |
|
BLAKE2b-256 | 7c6824bf8e16a0169f827652dfcbc67159fa8ad48330168f130d1ab0f403a768 |