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.0.9.dev202404071712167003-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d9b3784bda0592ef7c3698add2e0c88799668826dfa15c0dd1ab61ef9599d79a |
|
MD5 | bdbb8e3fd32b369fbacb0ae61ee63fdb |
|
BLAKE2b-256 | dee5cb84cc65124d25deb96c55d7ae65c5fd58f1eb9ae9e0706422e8a760fa5a |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404071712167003-cp312-cp312-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3cb1127ca8a803e28d430b9557db33d12e16d93eb4155d5b8bd54ac19f1cdb1a |
|
MD5 | 090f0ce3c32ca0ea30c37d038256d54b |
|
BLAKE2b-256 | 01f9673cf01a0c0f643ad12ea161bd1511580fc639de4bfba4e2786401ccce31 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404071712167003-cp312-cp312-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 636eb8a278c46d82f8d71a09d9c6aeab7e811cdbc047ae43d613e20acce1e0d0 |
|
MD5 | 1a1341420a4a21df80d6034b1873a6de |
|
BLAKE2b-256 | 900c7f1cd5641550135061edc384a987e1837b40f39b05ca557fcb3128bb1bfa |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404071712167003-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b8c66009c3dd7553a21db3ac763997f09dbde3a9145d97cfdbaa10003511206d |
|
MD5 | 921dd700c168938cb09063b46903eda8 |
|
BLAKE2b-256 | 1db8a98000e2be5a6e867115b67afc831daff69823705840921ce23463fca6a8 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404071712167003-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6f5dcbcf0f634ecb8f5c3024866ce7a00c32216a91fba573b56aa03e9baa1a97 |
|
MD5 | fe1f83ffa7becb6e2601dd8781b6ceb9 |
|
BLAKE2b-256 | 69b4ae7af5aad265340aff6b905835c336d887c4d5fee317ae7220f8b7f614ea |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404071712167003-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7913c0d569118321855b5fa9a4cb0d0bbac3a266f78b3ccd90d8188d708c8db3 |
|
MD5 | be954fafe75f99746df8e14cd337224f |
|
BLAKE2b-256 | e4ac8e00aea65eafeba5d95303107125d64c8b5b7e423fa0ce2b4efa5f5c6962 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404071712167003-cp311-cp311-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2b783820cb02b049f53830b706c4c9f6789e618c6e9e948876dadcf2a64c8522 |
|
MD5 | cf965a82d65f5047f7a1feb098d7163a |
|
BLAKE2b-256 | ff91ceb1410c173e904cc6f1add84e6bd50e4e3876813893f6885662d9874f05 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404071712167003-cp311-cp311-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 75f54b5ca21464de92488418e1a8449e054af1ce3eac069f032b5795cd658abc |
|
MD5 | b1b162e9c180dbeabf16a134fddea03c |
|
BLAKE2b-256 | a901419e25b737286592b8c592c708c52a3c749c23416e474e865ee5179ec954 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404071712167003-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ec4cf08b4de458e7f2d48c9afcb0bac35a59e3c4653f33406b3deb24dd738db3 |
|
MD5 | c195d120a0cf9709ee4fca84ce6967e4 |
|
BLAKE2b-256 | d49014bd9eb04f8835e74d23b58d2eb5a3d2b3fc9c5b38d8d5891c1f4e298e4b |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404071712167003-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 91e8c8f6faaa3507b7902fc8de7e4ba30f8be0d2eb5aab43a52e6d33ee77e08c |
|
MD5 | 9f25b29eefdc6b0e1003457f10dd75d4 |
|
BLAKE2b-256 | 0b34b329a536ebfab99f0bb2700d597b97ba6704c37e845f535acd3c439660c9 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404071712167003-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ca814f0424b51a14456d1219d489238230b6e7b8510b109e4c6daca50cab628c |
|
MD5 | f50cf4ea83e5556a31cdfda824839b36 |
|
BLAKE2b-256 | 9465f32875681175fcfa658fa540a625a222be6b169d6d7ff86c1b61b1294d57 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404071712167003-cp310-cp310-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5f7726e804b9ed79c0ec29f114937ddb9e9858fbb4147beb1792de894941fe9f |
|
MD5 | 4bea2741452fee09d4af1638503e4364 |
|
BLAKE2b-256 | 4a9a6ee8e3306c61a23da5007c802251036893a30c084caba16bec5adb366601 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404071712167003-cp310-cp310-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | adf5955efe1112960edb173b9dc6e75277840f7ae6c349e5457a2b000a216411 |
|
MD5 | a600c36552cfb78ca4318f4a3b103c4f |
|
BLAKE2b-256 | 2c51c87f5402d004286d02b7169e72d664468483d1164182cc5cdcd8210b62c9 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404071712167003-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d126bbafb29b37268c8bd9f8904cb9c78b2be1fc7424531e81646c9615ac47da |
|
MD5 | cbfb1c39b551e791a5f743c1c484a7cd |
|
BLAKE2b-256 | b97d329d32463c2b8ec28620992313f88422fe1faaea003fba5eb0c85fc8b91a |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404071712167003-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fa26d2849ee2100a6356981af3a630de220afd25e3183964d3e4a86f2490d44c |
|
MD5 | 2b4c6d1e9d7cdb1724823c5fff717adf |
|
BLAKE2b-256 | 74b09891ac3e095806445787be0f03378f8217f72f81a9f37fb95565e828188f |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404071712167003-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b866163994c8c6ce5e253b54953a69ccc982488279653abee76fec2abfa989b1 |
|
MD5 | 47906d772412a48b3c8942ec2570be85 |
|
BLAKE2b-256 | 008b28fadd7192a856c40dd982a470b9007dff0a7304d9fa66ecd1534d8a1383 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404071712167003-cp39-cp39-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1b993aa012b8e5684d657f27b8faad6bc5aed87aff193418df396dbc022c359c |
|
MD5 | 9f51b5872d128411b3c510bb5371bf5d |
|
BLAKE2b-256 | 08732aa3c1af73eb936ec1aeebb8934f09fe87b7da9162cc3d9864686cae81db |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404071712167003-cp39-cp39-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9107544d8bd8d52c21e28c5378674a5fffc9741e6cd585af24d48669bb5f5ecc |
|
MD5 | c0993452e1e4c23f6018bac06ad1eb3d |
|
BLAKE2b-256 | a2d1da510126ce7914b4587187882b7c653ab192c8f658f15d501189f6071f34 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404071712167003-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c2c7cbe33d1d5971140bd14c285990220ac1d49aac14b52027202296781fc6cb |
|
MD5 | cf1ac61759369477a26aa64df9973210 |
|
BLAKE2b-256 | 0838de9e82011b16fd2d68347c4fdd32d06bfda44fb2e7c4c493783d62007daa |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404071712167003-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 61440eeaf93a4408cb13bdabf7aa0385608aeb1a908fa69247ab17837e43433e |
|
MD5 | 1a2681d7178fe6c0ef8c7097daf580b8 |
|
BLAKE2b-256 | 16583ff5ae49d162b3c11480f1e3f16a95b8beff89f532bd1622a4efd4464715 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404071712167003-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 52c66c0ce3da7cacd65eac57d6831a9a3c619a4462d29bd9816e16b6e709eabe |
|
MD5 | c07aaa44817711b305fb601187688887 |
|
BLAKE2b-256 | 783a8f676337b39516f77dfa1b42996dbd6fb77468da3e95fceb8827143092a5 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404071712167003-cp38-cp38-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 357b1b28187bf0765f5ad142108fabc68ad0fc2486e93504be816920f43ea653 |
|
MD5 | 5905c3a699132f701c4f802085a48fac |
|
BLAKE2b-256 | 47d95e84a26b4fdeaf7da5b56befbee00b9d206ac74a347da2d0164bc18b1f93 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404071712167003-cp38-cp38-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e9e8cc686a88dd4beaebedee8d5dc022cff5ec2e1dbc51f4a769613c66b94603 |
|
MD5 | 941f96250344dc4d8f49bea766978b92 |
|
BLAKE2b-256 | 8c3da93cdd6b884b3ebdc648e83e65047992e5c46676a86d1c7db40687516575 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404071712167003-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | be2415b56b98d8574fd07b6da4659cfd66152916fb33c3d7a6d5cbe97475a279 |
|
MD5 | 572c9a15018a700ee43745fd049f311e |
|
BLAKE2b-256 | 69f2a9a6dc0df712e8d0fab94d7012bc22e734a9abbe798f99c68b73cab58ff2 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404071712167003-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f695167f23a38ffb17292f3fd52ff6b61eae7f5a69e715e98d3cc6e93063a3b1 |
|
MD5 | 631a2c3cecccc7bdb3b94c3afdd2af7a |
|
BLAKE2b-256 | a844b906d4cf925604122df130087362b7c2d692ba5065f52f0ef25574c5da3b |