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-2024 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.14.1.9.dev202406281719384100-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | aecfcb5232e7abba4ca62d7d38af9752c0c98c3e0452eb6f083b1bafab8eefb6 |
|
MD5 | 19298d6af302c064577f3b0c414a4b92 |
|
BLAKE2b-256 | 1fe89bede529c874a71b0eb7f5db8c12299c3b5cf06ad855ff881d13768d28af |
Hashes for pyAgrum_nightly-1.14.1.9.dev202406281719384100-cp312-cp312-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 094d1818a22b3bb087cb53a97e043fd4f6a49380d8456264a3d24c3957daa1c3 |
|
MD5 | 86867107cf8f3085ee2ce5df3940a6ca |
|
BLAKE2b-256 | a69f701b288af77c7552eae3f4f8d67678d860359c93f93c54ca407651b79a4f |
Hashes for pyAgrum_nightly-1.14.1.9.dev202406281719384100-cp312-cp312-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 88074f2ec05252131db562e4e9c095649030e7e5d86f89496187e8d06bc5cc90 |
|
MD5 | 6f11d530cded88727268e2a6601a2079 |
|
BLAKE2b-256 | 81bebb0f5cd472f2e6901baa656e5f60469c31e099712d4e5ecc6a293b726fa1 |
Hashes for pyAgrum_nightly-1.14.1.9.dev202406281719384100-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a513755dc7b0b4214e96f501826e3d3df627ce0e129ecf8b10e9746edcd26580 |
|
MD5 | 67c6aba6579476472069b8fdfdc5b31b |
|
BLAKE2b-256 | 616c225d166b889c58bb5db3ff4fd9f683a6f3fc74a0f00a1dcc0ced2b533fb3 |
Hashes for pyAgrum_nightly-1.14.1.9.dev202406281719384100-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e157a33f63aca6dfafc427902a550053fe4a5a40e3f1981c9a64f3017347e02e |
|
MD5 | 7697ea04d081e5e25f89ad6bd694a48a |
|
BLAKE2b-256 | d373e5b75415a7e8c72238c0e665fc35aeb28894d49a8aac04f39d7e02e7971e |
Hashes for pyAgrum_nightly-1.14.1.9.dev202406281719384100-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 26cdf3e1f947f40fead9d9beab88ce9b7fceb80ea607105c89b853f9f89c055a |
|
MD5 | 7cfcd654d7ef355587e9bbf32680c027 |
|
BLAKE2b-256 | 86fecd181762a19bedea4b5b5aaeda2114bef49dfd4465ad49ef1066006a8bdc |
Hashes for pyAgrum_nightly-1.14.1.9.dev202406281719384100-cp311-cp311-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 03aada57164ca6f6c47dfdac7049ab411b24e0facbe1eb3f433c640e67e2a6f2 |
|
MD5 | 27d58fed47cfa5f37c64a3c76c9be971 |
|
BLAKE2b-256 | 4985c7370ad586c66c2cbeacbf77284d463dcc9bc8633cd22ac251f5cf863a88 |
Hashes for pyAgrum_nightly-1.14.1.9.dev202406281719384100-cp311-cp311-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4d56908402c06288c59f6c21090aca26f8e40258ac1d196ad563cf9aa185951e |
|
MD5 | 2e3674413bfc7012b250a86ad6f4c39d |
|
BLAKE2b-256 | d9abb73c0e4c3f6630ad96f407924e0f3e569ff384cdf7613da38dc283e119a2 |
Hashes for pyAgrum_nightly-1.14.1.9.dev202406281719384100-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5728bc133f6458b95f64cc1c162cb826ae97cee8419bdd05f9085b0c55e91bef |
|
MD5 | 280ecc4bb44a294a28c64fbd162b32bc |
|
BLAKE2b-256 | e5c4f5c2bb313dbdd8a95df90e8d96577f8fb20e98035ffc8ae5a9ea86ce4799 |
Hashes for pyAgrum_nightly-1.14.1.9.dev202406281719384100-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1ecf317c7e36749ae36b0aaa79a37c8ce5865ca0a03d466b7ddb2093b47e2d67 |
|
MD5 | a5a667a79a93f7ec7bc37dc451f0f658 |
|
BLAKE2b-256 | 1b31d32f567d922978c6f79c729288a929c8fe58aeb31d3a713459a6d5b7dfa8 |
Hashes for pyAgrum_nightly-1.14.1.9.dev202406281719384100-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 69763a132d7104d480bfd45031b91df08a44e8c44c97e0b1cf645c96e162ff70 |
|
MD5 | 9b44e18d100e14ef533dc37454c0071e |
|
BLAKE2b-256 | a61f51c996e7908424e2c89126cadb197d1538367279f1bd04f506de30d90f9d |
Hashes for pyAgrum_nightly-1.14.1.9.dev202406281719384100-cp310-cp310-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b68c3baa8f6d560918ebeb2f5dc47b5fde59fc4bca1437899acfbdea7ca1b215 |
|
MD5 | ab103ebbda3dfa0196668fa831edd950 |
|
BLAKE2b-256 | 0e6880965293b6358eca62a9f69d29794ceb034fe7325f016f9a0267807b1052 |
Hashes for pyAgrum_nightly-1.14.1.9.dev202406281719384100-cp310-cp310-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 781987673ada2f65960ad92da2bd212f9735bd1b402884080a43bfb53289a130 |
|
MD5 | 4f53290b9b415c91f261b19ab31b58ea |
|
BLAKE2b-256 | 8b79b57f205fff73ff521be0dee92787a01ccc1b36e3f6cb7ae933ee9bed50b7 |
Hashes for pyAgrum_nightly-1.14.1.9.dev202406281719384100-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b37618432e57d998e6e98dd9612a74639831968826c81486b0250891d268a6f3 |
|
MD5 | de464a1e9b90d3a1daf5307cc0619d8c |
|
BLAKE2b-256 | d2e131c15f0aad200d0ce239eb8071fc5ae365e100e7c6c1dcf8030fc7354108 |
Hashes for pyAgrum_nightly-1.14.1.9.dev202406281719384100-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ee056b130c5fd96b8854d3e0ed7ddae78de94c9390aa3966cbc07e3e48ce4245 |
|
MD5 | 133b4c418df049d045d3a4ad2ef54dcb |
|
BLAKE2b-256 | d5922301c33a882a9b8234ea3771bf9ef588afe107847c9d7664afc4af87d365 |
Hashes for pyAgrum_nightly-1.14.1.9.dev202406281719384100-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d699a56b5a1ad53f7aada8c7d8c6a0dd17062f79f2d49a41c3a894685c4a96ec |
|
MD5 | cedfa89c55309a301b65af503808e08b |
|
BLAKE2b-256 | dab61d8af5cab2fe05103646bfdd477e324a6023b3896dc845ead43a7a73b328 |
Hashes for pyAgrum_nightly-1.14.1.9.dev202406281719384100-cp39-cp39-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2b13f487268781fa36e64dbfce87b5caede0e647d641548d8945dd83f94ee7f1 |
|
MD5 | bb54a5c8118c1fd79e972f305b5439f7 |
|
BLAKE2b-256 | e6d0740ebb48ad78cd63978600c3f90e0d09c59c8cac6a771a082f66367d7a13 |
Hashes for pyAgrum_nightly-1.14.1.9.dev202406281719384100-cp39-cp39-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6296c1272f88a96b56f71be471ace3630cbf452775cbd5cdcfe39cd98f70f194 |
|
MD5 | 444b809437d3ff2a00348461a9d9b34d |
|
BLAKE2b-256 | a32b9c1d95f14cc22d0004b69a1f9f54462bef47f93bd98f7233ff055ca7da8b |
Hashes for pyAgrum_nightly-1.14.1.9.dev202406281719384100-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bda952a49499b3bb10e50e23b526b92e788189ee5eb9e55c888f787fc9440cae |
|
MD5 | 1fe5b052610e22c00d72ea7aec327e0c |
|
BLAKE2b-256 | f6b06fb22290a239b9f4a2ecd567367eeddd367394dc59a1ffe69ea55db2ee5c |
Hashes for pyAgrum_nightly-1.14.1.9.dev202406281719384100-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 916e8435f1f14af0d1387a77779013dbb9c0bca35560f0dc9b568f5a48bd4f0d |
|
MD5 | 69491e80b96033ae15b04e059e310df7 |
|
BLAKE2b-256 | 17bfc7e0c01f70ff3aa8211f453f268c2aff99631b3182c823fe8b7fab8974cc |