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.dev202405211715182293-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 01597e041f1f086360e27a2f64c094e1acb9af511fba31c84d06b942bc5a7d5c |
|
MD5 | d83b2f9bad47fc7f0f6cc496d6f72ea0 |
|
BLAKE2b-256 | ec4199746c7e732630de1f6112079f993979b73c3074f7713a53957da2e6dcb8 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405211715182293-cp312-cp312-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f6338d85118c5481fc87413cf5aa66660e19d1a1674cd76167f979c162a419ac |
|
MD5 | 010af1d765411f79ca96c818da8733eb |
|
BLAKE2b-256 | 8d809d24013541569d5475884ab7c76d4161e4c42c03a6eccba92ccfffb8ede7 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405211715182293-cp312-cp312-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 468ee9d178002409050fd33b871d95863b94b93f401f5fd6e1d9c45e4a75dd11 |
|
MD5 | d10f8f24d4f20c80159dad0553c084e6 |
|
BLAKE2b-256 | 4511fa3997c56f4f55a1060eacfc3bde042e722197ac2649eece8a0532409671 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405211715182293-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 552d69ad2dfda6d9f3223768aad9305979812b19cafa89fc22a6558b23dbb25d |
|
MD5 | a52118564e057af3aed2fef001e9552d |
|
BLAKE2b-256 | a78cfcec9bbb7645f680cef7678361773a50baa839a27db5108dfd310c5ad651 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405211715182293-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0d19a2630703805a1bca03f38743d5a78f75f874867c4bd365cfcaf960645560 |
|
MD5 | 2004c3ef48ffa23d6dfc58f77f46fbed |
|
BLAKE2b-256 | c15d68184eb6655b226260b9a3879400a261c40ffa39a5d161a1e762462def91 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405211715182293-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3bc4c1780a6ff56a30a1245151ba79931acf04a9086d70cbdc4704a177da3483 |
|
MD5 | cb083865b97b6ec42b59a301e64bde2c |
|
BLAKE2b-256 | 92ba0d588178e21ff4570b5cab56d8b91d1ed6b45686a277ab3d65f29eb8a874 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405211715182293-cp311-cp311-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 780d1f8f0f4900bf26a09c70518fb8c8895e9f4aeb4e78cb08958851ac7c885e |
|
MD5 | 96cefb26404b06fb460a13aaafcc0b26 |
|
BLAKE2b-256 | 2fa076a052734550a06ec9796c4d919339728365f64be0e0a53fefafe8488dbd |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405211715182293-cp311-cp311-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 73a5d8dff101a6b978a601f3b544e26b1765c7381fe800097d7369e9120eb8e6 |
|
MD5 | e186635a34edca8593cdb281e1be41d7 |
|
BLAKE2b-256 | 1f7edaa15cc75f38f7f5493e1ace44588e1344a8a8b6dc551324089b3e04cd51 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405211715182293-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c2a968da92ad6838cef5dc2419486ce477aabc30a96b379fa8c7aa567d6a09b6 |
|
MD5 | 90702fedc902bf40da36f5a615801fff |
|
BLAKE2b-256 | ac587b89777073bfffef018f66fec54bb07f61cee6570d2ac5d4c0bdcabb945d |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405211715182293-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7dba861022b3fe75232ea83eb7d42c1f0857c6d00b0a705ec1c15b3d48a89ee3 |
|
MD5 | 6ac7ebc595d89f4783dec703143d7e56 |
|
BLAKE2b-256 | 663d3e9c56ec7c6be02d06aeccff90674543302d3acba15c0a09cd3786b900e4 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405211715182293-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a9716fe0d3383c6be14fe953f5a6d2b99cd615fe7593f694d72705188e758f08 |
|
MD5 | f777ae93e617168ba9a598af0ca6689f |
|
BLAKE2b-256 | 4b7e4c40c337e925be06aa8609e92a36f19fed645d061d2f1c349943f9ea969a |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405211715182293-cp310-cp310-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 59f29c064009c94da65829588da02d19b22a556064bf10222cb5b2a4b6e8b1ad |
|
MD5 | 9b83d55c57e37185b20d4cd5447c5d46 |
|
BLAKE2b-256 | 937171bb08e1516bb8a49c1e5ad6658023877bdce8873a9ac2e8545106860f9a |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405211715182293-cp310-cp310-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8b8360c62d31e1e0a1a05e9210b274b509b3d1551d37740e10c23af819b9ab7f |
|
MD5 | 7be13d9c7f14ec3bc73bf53b948ef1f5 |
|
BLAKE2b-256 | c06425d0cc0ae7dc9388752aff72a45530294b59539dd41668006d98dd0bd2fd |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405211715182293-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 95cbca75c2449f444b3bbfe86118805a31d4f8b6f5bf7b90cfd28daf61e65960 |
|
MD5 | 8d9aa5bba22e61aec15d2297b92c6f27 |
|
BLAKE2b-256 | abd8d36efba9ceb395bb9e6d3c8f3adb93da6183d05a3494a3fd685c3ebc518f |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405211715182293-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a3c07d38d707a63d2114ad86953e75d8e5981521b85d56dbaccd17726f4510e1 |
|
MD5 | a6be68f05f36116ba8fb88e5cf8b6c1c |
|
BLAKE2b-256 | c6a61295b684dbdfd2f2268de0ca1d859ca93b33405e6b5247daaa1397f5d43f |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405211715182293-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 474b799c8ce446433bc842823037f81485203b4bdfcb9cd1a484f8a26cef6048 |
|
MD5 | 25beff05469b44eba473e8bab4d474f6 |
|
BLAKE2b-256 | 028d97858be2032d967b73cc8440a3026b4f395eb9e47aca43a1eb4b5750fefe |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405211715182293-cp39-cp39-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2037038304d391b1ebb83ea65b879d5fd2bbe4e65bede5d848bc6a161016b37a |
|
MD5 | 482f160923db6e15b414d50e551c0ea0 |
|
BLAKE2b-256 | 1994cb26cdf4b0030949dd0ca8bf08dc8e13bac3d056323d211d92f4811b1ae7 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405211715182293-cp39-cp39-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3a555161ac51444dbdf08e895f8e27bbb94bc7e230b216ac52f7bd976f7c544f |
|
MD5 | 62ce521a317fad7d6ffb6be6ff1b9810 |
|
BLAKE2b-256 | 9b6512507c717b949242b8fe01b741c5d14a0b25255fdae93b54910c8a9636c7 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405211715182293-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | da5835711816c8929557498911ae05dce8c14e67f096edb847fbe6b89734135a |
|
MD5 | 7186df6de4f64c06ea5f68a9fefd94b2 |
|
BLAKE2b-256 | 0cbea8270a912329abfa737a7aa210c6394dfcbf6966ff09446c6aa325c08ae8 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405211715182293-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 313cb0673c49aab073663b4a62d51f1f132f03c0937375b98798ae1ff286a33d |
|
MD5 | cb75e69d143100d228a85b76fb8cedff |
|
BLAKE2b-256 | 2ada2a29ea7bf16bdd9da6102e591f7025e3d05a6ef48631211ec0c1c1a5b0fe |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405211715182293-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 662d71a5d49c82e2f4406469ecdb9a404369dd2c51b7a4b97e028ec2dc06ee0e |
|
MD5 | 4ea90cd30d2772216a90ebacbd3ee6cb |
|
BLAKE2b-256 | 9b819d646e4532c7e033b0f898e2d6a5920ccdb22ae2ba34c6d0c8c769d748f7 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405211715182293-cp38-cp38-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | abd8b8b7858dd53683aaea1449a528a3d2f3aec1d25e2160b4eafcf38b12eb79 |
|
MD5 | 22f99b6ab29ee8c2150ce88a2f212e8f |
|
BLAKE2b-256 | 876989d5f8b463d0258ffdd1b5caff49e1566c2c937a79cd170b77369388212b |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405211715182293-cp38-cp38-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 77a769d44ac894c2730617827e9c8484859a92ef7553f1a9824f228f15dbdbfb |
|
MD5 | db02f39ecbfa6d33acd776c0485c6c1f |
|
BLAKE2b-256 | 438283a43f9452f77e432965f66fadd4e1de1d406566165b5a2c9942c7fcd1bb |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405211715182293-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3e21c3f3c779167a07d9f8930ff637445425585a41d35da7896976e96ae54cdc |
|
MD5 | 30ec7cbb774508fdbc550e150140e9c3 |
|
BLAKE2b-256 | 2e9244309fd2f0c4eed1d5a6a62cfaa3ce840c19ee00dc6657df6c34032a9388 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405211715182293-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d99a85ca0bf48204b63a7f4d991df050e701ffc0422331a44c8a411b072558ab |
|
MD5 | b66465d7e8806e8b80c7275173ea8f94 |
|
BLAKE2b-256 | 36dbc224ddf00c8c9915d8cad7d167c6059eee089c4c251bf503921d064b242e |