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.dev202405081715084036-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8f6873eb7a8d5a5a096bf37ce44e66297695b6e673c0f8ad2d3d6ed7800035aa |
|
MD5 | 780c38b58acea62fdad556904ee5acc4 |
|
BLAKE2b-256 | aa1feb5202dd14dfbfb3449a65f032db2845ed06ddac5324fa7ce00fe7092352 |
Hashes for pyAgrum_nightly-1.13.2.dev202405081715084036-cp312-cp312-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 963228ab1b512ace482e8bd95f960b1f645c15b95ff8f50c597c13741c8ff253 |
|
MD5 | 4e696777cd0fe10ef2299f01bd1e0a67 |
|
BLAKE2b-256 | e3a03cb8bf56ea6c916fb2d9222747e5ad9e501eb4f8d8a44e9c825de417f630 |
Hashes for pyAgrum_nightly-1.13.2.dev202405081715084036-cp312-cp312-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3aea6d05041781441b967d67101f5e93f55a2746b316b2f61ce77cc3bc4fdfb6 |
|
MD5 | dd522e6060df33fe3ed8124d9ebbc8f6 |
|
BLAKE2b-256 | 857ffc1b8ea71d3f898342da8585ac456c20deb5d2a4efe9c41f605b9259c741 |
Hashes for pyAgrum_nightly-1.13.2.dev202405081715084036-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f65b5a89a5fc0b56674c240dd8cc8c810d913edeecdb213d1e9820e2042b357e |
|
MD5 | 57d305de3de4d61e9c00c6ad65ce0ed5 |
|
BLAKE2b-256 | 73bf987cf6cae2f9b250e728f287fd7034549a0cc0a4828417a276e3d6e1dba0 |
Hashes for pyAgrum_nightly-1.13.2.dev202405081715084036-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 835bc7dc3e37a1cc941f93df3df8b71faec855aa3ece47f2ba07eb82492ca5a7 |
|
MD5 | a305ced3ac87378855ca3c19f8c0835c |
|
BLAKE2b-256 | ac4f0d2bcd3da2b893f9462c412655ddc259fd90a27510adccd9b132970646bb |
Hashes for pyAgrum_nightly-1.13.2.dev202405081715084036-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 618716d7b1dd403eb272f33b66a69832ee63421af2fcd8b07a8807d9b7c19fca |
|
MD5 | 4b811e97942c12106c91cf502ba4fc52 |
|
BLAKE2b-256 | 4cb306b5cd5febfaaa50fd755a9a7dabb69b080f1cb0f4758ac350a02c413785 |
Hashes for pyAgrum_nightly-1.13.2.dev202405081715084036-cp311-cp311-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5b3f291287e691dab5cce70ba33636e1c443e0cb486486fd867148de923660e8 |
|
MD5 | 390f9dc3f53524255e05a76fcc39221a |
|
BLAKE2b-256 | f84457cf6e642aeff02589e1fee319ac5bd16789704d0e632a4e71305b4f2556 |
Hashes for pyAgrum_nightly-1.13.2.dev202405081715084036-cp311-cp311-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f05458b3a66b3f43f056950cd0de7e8c291167bd32046e67bf7ca41ad6111909 |
|
MD5 | 8c9df9a23bfb28e4c1280f6d0ef31fe1 |
|
BLAKE2b-256 | 273e498264ccc5dc02a1188b36f47694b1d0284274a32a0c75fed3199303772a |
Hashes for pyAgrum_nightly-1.13.2.dev202405081715084036-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 85f354eb934dc5a6f6c34860fcdd2d49c97195ac5a854724eb5d523b6fc91755 |
|
MD5 | bc49d16966a5751d88cf6345da1efdc4 |
|
BLAKE2b-256 | eb07a2185b5491f174fe8ac2b00c4f6a3a009875f78b28fc43368a01cddf9c73 |
Hashes for pyAgrum_nightly-1.13.2.dev202405081715084036-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f3650c9d3e6a716c5d017e8a3df5354c72d5b1b3a900620a1c80ed5fe145e8fa |
|
MD5 | 95e3f0e6e3119f5128e42a791a500895 |
|
BLAKE2b-256 | 61392f89a7dff65cff47e69af579838662192845dfc8bd17405ae1144b70c631 |
Hashes for pyAgrum_nightly-1.13.2.dev202405081715084036-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d867c2d039c3325572d1c8fd0e7d0fc4b5a3fdfd2889879145f8e0165dc5a207 |
|
MD5 | ed217f5a980b4ce2a6edff280208e1fd |
|
BLAKE2b-256 | 644722699b5a388feedea64ab4c27683a3d85ff149b04eecb18cc51eb821d500 |
Hashes for pyAgrum_nightly-1.13.2.dev202405081715084036-cp310-cp310-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 950edff260b5d08a80cc721b1dd8bb047e15263d2eda306ca5f70f3d8768a8cf |
|
MD5 | 1ec7bb0dbe19618b49684280e1ac1478 |
|
BLAKE2b-256 | 804d387bb4fac74578ee3e4a8b40c15a05d9b07cbda848667af554f520145209 |
Hashes for pyAgrum_nightly-1.13.2.dev202405081715084036-cp310-cp310-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 65d6695894d84fcd97d622d7c5a9c3dadd9594543d82df40e12f5336682b9b7d |
|
MD5 | 608d3484793f6cfb80baadfe40089908 |
|
BLAKE2b-256 | 1cae4483252a7127e51310971fef322e41dd17f8fbac7a49f28b0dfae4db66ab |
Hashes for pyAgrum_nightly-1.13.2.dev202405081715084036-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 01120ccb11a47b609035ed71bed464cb46bebda91f5cf2d4cc8993770d3a2d62 |
|
MD5 | 28574c252555dd85f82c738375b72f21 |
|
BLAKE2b-256 | 340132603cad8b2a897e55f0351449e2d797a036b127600b7f5ecd090dc4f523 |
Hashes for pyAgrum_nightly-1.13.2.dev202405081715084036-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c05c1cfa34b6e750bf5b641f9aab32c1ffdbf09e20dfa2928ac75d451a052963 |
|
MD5 | b1d51bce6b77273de1a13fd9cd2cba7b |
|
BLAKE2b-256 | ca1c5846b84d492585a8774a68b7b7ed675cdd6bbd6d34700830f42d9a441fd8 |
Hashes for pyAgrum_nightly-1.13.2.dev202405081715084036-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3e92f9c3d259c6f72fab79c06e735c4779500088d2e6c97017638357478cea9d |
|
MD5 | a39ecceb58bc37e6056ddb49a95ba63d |
|
BLAKE2b-256 | 3febd48f76dfb66ad6fcf00a0380ab14a9181c0aed3321d560c202b9f1467b91 |
Hashes for pyAgrum_nightly-1.13.2.dev202405081715084036-cp39-cp39-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 29f2984f3aef21300eb038663763b6b97c9cb0a3b496a8f9a7139851831f710a |
|
MD5 | 9bc12b7dfcdf00b5236c5568c8436130 |
|
BLAKE2b-256 | 399501f237252acc9e29e80e1cd1b04b511d0d0fad15aa36cfb98aa0a18d15be |
Hashes for pyAgrum_nightly-1.13.2.dev202405081715084036-cp39-cp39-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 40c7b3c04ea04654d07d9e9b541f1db652b3bb64cce0f0cf178ed3cb58cb8c37 |
|
MD5 | 87e9d177cbe89a2a82c99d8655010467 |
|
BLAKE2b-256 | 6c29a532ce41a99409a49e503bcd5ab8b155661d13a5bba6e6160ac72d8175b8 |
Hashes for pyAgrum_nightly-1.13.2.dev202405081715084036-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 07d88e6b3a9b9e672ec9e6486e1b1f550b996f91559a339ce3b47a4c068951b7 |
|
MD5 | d4a5d46335aeb77002ef4f3f4eb7469f |
|
BLAKE2b-256 | b72b76ba45c552d95e64e87e0d3337fb4007491a89d7c471b18d343f0a6234ae |
Hashes for pyAgrum_nightly-1.13.2.dev202405081715084036-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a2403f4624f42bbb3162318829d6c687d07ebc92da793e5c050a561179b22127 |
|
MD5 | 75b11690e3aa6408233050520e7e9b79 |
|
BLAKE2b-256 | 9a5f942aee957f48140429da9e84af191c9836c01ae658589de630c9b8f49a16 |
Hashes for pyAgrum_nightly-1.13.2.dev202405081715084036-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1f111c697dc5d30f46b5a609352990768c0dddb486e87a9ad5b46b3645959f6e |
|
MD5 | 57ddc7f4216bdb20a462b81f9a5c4bf4 |
|
BLAKE2b-256 | d3bde7d1658c0022b059b2912471a9500db4ef79688676152caffa119712dc21 |
Hashes for pyAgrum_nightly-1.13.2.dev202405081715084036-cp38-cp38-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 43b1e61efb0c7cde9a9a2740c13bcf34f325d808ff7ac639fbba59caa34a2ad5 |
|
MD5 | da2bcf849635bbd5abe18d02dc3ab713 |
|
BLAKE2b-256 | 013fb3de3b3aea821cf1026785c9fbea7f56b8191441ceb86dbc5c943b57e4e2 |
Hashes for pyAgrum_nightly-1.13.2.dev202405081715084036-cp38-cp38-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b5ff287f3a99edbb2e7e631100abe478ae0dcc39888909213338ef167e9a914a |
|
MD5 | b6c5d6d6c7184c63c5d4ea129346dd30 |
|
BLAKE2b-256 | fd46deced7287d53f693ec1363dafe73d8b2c99d83e19eac5d309569cbd9df1d |
Hashes for pyAgrum_nightly-1.13.2.dev202405081715084036-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d419b80229abba6e18b82ef0702c7caf7ef31bdf9b1e4970241653c47a1b4dd7 |
|
MD5 | 62be5a71ad544a9c4484ea0034b7dc7c |
|
BLAKE2b-256 | ee9732fc853f70b5abf4680ef8988aacc07a27aafa9156a9d98f4a7a623af249 |
Hashes for pyAgrum_nightly-1.13.2.dev202405081715084036-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fcf883112c11135fdbd83f2d797642d146478c126ff5ae814f8cffe8214b5ac8 |
|
MD5 | 90cab237e862fe033a2987c539fa47c8 |
|
BLAKE2b-256 | 3645af36b58967041edf7e5ce9793998102ea703ffb4612d1961daad933faba4 |