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.dev202404031711839473-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b53fc915300e2dbb072583676f519bc14d00619c4119fbc0f4e429f5173bf841 |
|
MD5 | 230ff22d6ae39cd78e3f6b87a792a62d |
|
BLAKE2b-256 | b5a01f5c576082bbffac01e3dd689915a9504facd171fe350a6dcc17e59df457 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404031711839473-cp312-cp312-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8499e22b15af537eac964c32615606c312c068f04757db8da792be71693fd473 |
|
MD5 | ee0a4b83a3e0abc6d3d05c7cdc8343d0 |
|
BLAKE2b-256 | eafc05744950b526dcd8f75bcd037702f03d05dcc1bcb7a82e493c4d828ea836 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404031711839473-cp312-cp312-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4839caad34f35f13bd0fdeab99d6abcfdaba0321f118258d59733d8f4be7cdd7 |
|
MD5 | c76c518eacc760cb043aeda0dbe5adc3 |
|
BLAKE2b-256 | c4090ecc2c84e81699f0071463e12441a593a1ccb80564520ec670084b1c3cdb |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404031711839473-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4577ceec8244a8b1ba72544f9d4c0c7c7272f620edf11347f8e2cbc834230fde |
|
MD5 | 0d2dd9c22c2629facfb41df0636acc21 |
|
BLAKE2b-256 | f53bccf9aa2701857ee90dc275b69657ba6b3e5d7ae2fd455d551db9050a47ec |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404031711839473-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dcb4bc5a536dc29ea10c7f523d0005c976c654e75ecbf2855df8913e0cd502d3 |
|
MD5 | 015206043aeb15b7950ee2062b071cf2 |
|
BLAKE2b-256 | 0020bcab1a25328872658090e8d7774d9b986327f2a58757911c6b91ee55a7ca |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404031711839473-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 32a154d47e9445a7731af6e5b0b36f39e6517216db3ea6f2a6a743aab8448f9a |
|
MD5 | ac0bb39ba037f0580229014a62e897ae |
|
BLAKE2b-256 | 3038a4336f3a07e9904a2beee43f2e8220dc0aad77f000259238a5c11cba2a17 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404031711839473-cp311-cp311-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1bde83b294c35a1c79b2c4abd6e19e80b06c2e3ad219dfb585494c2645b96ce1 |
|
MD5 | d2143a34491d06ce29a709db2c3fa08c |
|
BLAKE2b-256 | 4e6a70de17ca55ceb349da918f400b4e8adee4352476b6b0722a3015227cbbe2 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404031711839473-cp311-cp311-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a1b02d462c69232c0b7f04cfaae10c6ea85d1f9a74e81cb2354136b61c53a9e1 |
|
MD5 | af121c5fdd2b41de43ba54e9ace45f1e |
|
BLAKE2b-256 | a84fb51ab3d4c374a6546b7652e8d1a332c13d3c392fca00527d155ccf93b58d |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404031711839473-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 106bc34c3dc48bb9e5aacab55e794a4cc5949f1060bf5f6cf22ba100ab28cf12 |
|
MD5 | 2e0390ff35fc751962b755f8217fb517 |
|
BLAKE2b-256 | f86237f08f0f31c0f68018ed228e8e3c3cb4e216424351be48fa0e5ff86c8bfb |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404031711839473-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 007068974cf5210ff2b98b9a3122de97b8d7266ee333bb9140b0a06bbaa13ebb |
|
MD5 | 1acfdf0bc0eac749127c107e54e04d53 |
|
BLAKE2b-256 | 388734b2df6780db891c3cd71aad4a4e88f820215edc2dee3cf738e35d66fe8e |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404031711839473-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 951d73aeaf950c2b08a2fc9f81a8433f57a38448b8f0b28a9aeba51960e5cdb4 |
|
MD5 | a23adf9565315c55c1a8cecffd57e565 |
|
BLAKE2b-256 | 4cd4495f66d23e504fd6bcc21840d6f9a58e2a6d8f8790b4fa9d1a253c199201 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404031711839473-cp310-cp310-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d7b72e99cbc1ff3ca821e11510f706afc1070a306e51dca58f4e4929fb315a65 |
|
MD5 | 3788bb6adfe12753ba980c1c2196fe96 |
|
BLAKE2b-256 | ba3ac115cf0d603d64420617bce569f1207b72b8c0ea8aa4104f355ddb555835 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404031711839473-cp310-cp310-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ca29a09702da0cc537adc17c748a39fed9e4ed4cc659b12742804708d8a9ffd1 |
|
MD5 | 06557d371657363413955a861ac913b4 |
|
BLAKE2b-256 | d0671e93ebd585960bdb7968c23cbb6f242c2c93687392043e677885150437f9 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404031711839473-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8e5fde0908400db771f6ea41d2b52885761083c6b6b10debcb013669c02911be |
|
MD5 | e88965355cf1c73d7c80221c160306a1 |
|
BLAKE2b-256 | c71976adca8ee396b40e7f4bc76dd0af269426b2b59ad9e6c56a608d709ac20f |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404031711839473-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6b2203effe32ea73b58756e6b935584a9e70c128ed0bfb29b961daab1fbe21f3 |
|
MD5 | f5bdbb2d56625ba682b5052ed6d1d1b1 |
|
BLAKE2b-256 | c3bbabefc6dd0d8c2040571c0f17d3e903bf5c0e089b05901db18f731bcdff19 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404031711839473-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3247266ae0d458f8bb072ccf84c28cca68d186ecc1557c950ed2fb133fd15769 |
|
MD5 | 36d09db27e8c8c3517ffa39a9d7444ad |
|
BLAKE2b-256 | a2115c766462401c3547883a6e0f3691083bcb260dae9b2c635fdf47eb2279fd |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404031711839473-cp39-cp39-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b86c865f5fe7ad9a5b7558340bdbf82891a13b0546709ebc13b4d3054c45ecaa |
|
MD5 | c37be362ffd7d1ada1b21dc340c64d10 |
|
BLAKE2b-256 | 686d0a7e778aa8c0d8f707f1dfa61f40a439414c8a5162aee19a8458763e6bb5 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404031711839473-cp39-cp39-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a81f4c618bbadbfd5806a882ff1d0ee403563c5404d3761cf3bf98b78dd16be0 |
|
MD5 | 33d7481f421fb7f689dbdc9052f16ca0 |
|
BLAKE2b-256 | 129fb7fc3397cc85705bb9c01539efb880c0311419cb018ea7f0b2071bb42cb9 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404031711839473-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bf3572efd52be751009639977986b407f7ece9a23b1eb5bba196a40c201d27f5 |
|
MD5 | 575fea44856ef154089098cca43ba6d7 |
|
BLAKE2b-256 | 021e17aa1f20c0f44e0ce5242f409d7328d38ee3d9902c5b785827abdd41d37e |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404031711839473-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 99eb96c34db0d91e06c276902ba6666c0d14c48d35037cdf25e83c528c0afacc |
|
MD5 | 3b3a57848a205a5371c1f22bc2f32cba |
|
BLAKE2b-256 | c874071c923e79dacdfe1831872fb62b41cc61dbf208ee1f6297f904d2553a79 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404031711839473-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 14fa2eeac2d9b585a9cdee98aa83893351b6e238a00b90724915abeda9949f1f |
|
MD5 | 0510e80ccbd0ce8987fda55cdb6e13f9 |
|
BLAKE2b-256 | 95dd36350eb2d00e37274858236101aa10b4cc12e2b773eb9c6699535186dd92 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404031711839473-cp38-cp38-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fc68ec11318e2f952df7c2eeef42fbae6c937e03c2e3155be9883afb860749aa |
|
MD5 | a04f79ec24348c8f7d3a4aeb6a7a858a |
|
BLAKE2b-256 | 6701ca16f82eb8fac89edb5ee3663339c794145ef363909eb996d7990b63a2ce |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404031711839473-cp38-cp38-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 352dbc1f480f1f3f4045127e34d8fe5b16e11b68e5fd67d8e4cb66c3c5042146 |
|
MD5 | 65379613b5e1eb16ea9ec3c7146085ee |
|
BLAKE2b-256 | 9715c4bc3d950191b20c9d8d02e1585edefc45dbcc29c29c72de5a81c1e13eb3 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404031711839473-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 349876a28673ab6867a5bd62b78aae888db2c0596a3d3c8fd68efe8b12a16fcb |
|
MD5 | fdbf3a5d7f0fa3f76a5b86c28be337b4 |
|
BLAKE2b-256 | 5024fbadb2cf53596695c8ecb8e73cf998089401df1e20739de25014c0cbbb52 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404031711839473-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a9fc360656dcce8aa458226799e0ce17f9f498dcc314a25381e2d787b4d0a452 |
|
MD5 | 0a50b49106773598cb8803299bab8ce4 |
|
BLAKE2b-256 | bd80e6c3944f11216327718307749e6d9e4972e128c6ea0afe72cd96fa8a8706 |