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.11.0.9.dev202402051701813464-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eb0ddf9b92761459c06380c6bcb7a98eaf4e6d8be798b449a738d1e0918531a6 |
|
MD5 | 9e6f3a184616b04879b920a6cb917b20 |
|
BLAKE2b-256 | a3d59c6e8e80a67f8299b9472fb66a5ad4680d5bae95e637d5bdf80159e2f26c |
Hashes for pyAgrum_nightly-1.11.0.9.dev202402051701813464-cp312-cp312-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e247f705bea84824a120a4807de0807428b1a7e982c7a8a17aefe54b502bcb13 |
|
MD5 | cb7fccff6bee6a55515c8ab31f5daa3a |
|
BLAKE2b-256 | 2d81dc42760c80a393a1ae31d2daf87d2db6e5c6bb602e5a474ac0f78cf26a4b |
Hashes for pyAgrum_nightly-1.11.0.9.dev202402051701813464-cp312-cp312-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4571aed3fa2a4bf9f732f6520560024fd8905e5611574c76ce4bfcfd44c8636f |
|
MD5 | 4555ef664e870e8cbd406deed3659483 |
|
BLAKE2b-256 | 73dcd95a6a3969028e4499105e9a1234dce260130be38059a449d9d6ee391cd0 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202402051701813464-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 06232f048de6417f0a0b6b25fc9873ce36adb69617b4cf6544894818b0e5691f |
|
MD5 | 5a52f6c70224e7bb5cc8f663082b0dd4 |
|
BLAKE2b-256 | 9e266e1669fe98adb794266bd4730b9bdf9659206e473ae82131b867141e61d5 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202402051701813464-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 090a15f6c8294cee1f94b9e7613b2dbb17f6d956bef535db003101b27564024f |
|
MD5 | e738222217e5f239f0da643ea2a58d87 |
|
BLAKE2b-256 | 0029661f16f20b708a6d95c5e17acd3cf18da6d469fa27d64ca141a16f509917 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202402051701813464-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0a1a7bddfb36e6d1f56a1052efca6751db6d6ede54dd8ef66f68732ca78d9f95 |
|
MD5 | fcb70f89f348502e3ab9ddfc4304f5f8 |
|
BLAKE2b-256 | f8bb4b209595a2ee4310ac5fd0ab3c94dd3ed10156e06bfb47c14c9983cdd15b |
Hashes for pyAgrum_nightly-1.11.0.9.dev202402051701813464-cp311-cp311-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 115e10d933bfb15344915079234b380908709cd03bf66cfc0a1f7faecd543d7a |
|
MD5 | 98bbb06602f55df2e566eabc48871e98 |
|
BLAKE2b-256 | cae0788d5b163c3efd656d9754015d1b4dc56d6febfa3e2bdc28ce768b611be8 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202402051701813464-cp311-cp311-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3ff73d545d0e4fbb6528e21fe2ea9cda24302f631392b356e67fba5c6ade2033 |
|
MD5 | 688bb27061e09089cda60288ae297009 |
|
BLAKE2b-256 | dd6154716be754e301da3a8f2c099b9d5082ed180ff408c7265a32830b7a5829 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202402051701813464-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d6229c6d7fcc84d6d6ebac5fdfa8d6bb70dd7e20c60d6022e18873e1b6f01ca9 |
|
MD5 | 9671acbc707933e3ec9c5a8cd726c197 |
|
BLAKE2b-256 | a2b91b65d26d72e4039e7d10d081893944fdf43ad399f3a364dc04a0f881db1c |
Hashes for pyAgrum_nightly-1.11.0.9.dev202402051701813464-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d83754ccf51aaded890158b7dd8f213da5917d8dfb87421b0a22e5e4e0c319c0 |
|
MD5 | 3c584214301524bf800aa5d647951fec |
|
BLAKE2b-256 | 60f19f62632ee1dd0e826317177a7ef73e2d650678ec7dc43b9f893e0264c6c9 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202402051701813464-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 56b14740ec9b6fc49beb8fa7c6122027382399adb61ae0642f6ae1bf083c02f7 |
|
MD5 | 056a387324e00d798f7595765d0b6e2f |
|
BLAKE2b-256 | 3683de3f6d0f97fbd9eb01b37df07d47aa45441b9d3abaf01d35ca0644b6b789 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202402051701813464-cp310-cp310-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9b45ba36dccc3b3224d4a2f36a20538c8cac2314151dd70491a7aa5aea723c5b |
|
MD5 | 5aae8559ff47cd7f94c0ed2dc23485f9 |
|
BLAKE2b-256 | 0ed422b1c49cb461efa3051528061620a612b999dbbf8b5a4b667037c8737b0b |
Hashes for pyAgrum_nightly-1.11.0.9.dev202402051701813464-cp310-cp310-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | da42ea5720a3ffb8b151ec64aea2201bfa0484319dbe2ff8fa4734795cde8a9e |
|
MD5 | 707c942ad7859aaef458cde237010c24 |
|
BLAKE2b-256 | 3f300755223875ac2c8ad6474c37e06abf694e850b0e4f739601b8b449ccac10 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202402051701813464-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 954fc87453a05ef601c131820c7db67051152bfef7c5ffd4cf6edf6e2524ea28 |
|
MD5 | ec0e09b3c45d97b13e8d392c4e7aeb9e |
|
BLAKE2b-256 | 1f3aea369db2dc0cbb8624f389621747f5f1b7f8bf756362d417aaaa55ebe45e |
Hashes for pyAgrum_nightly-1.11.0.9.dev202402051701813464-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ce6ee9daa6ce773c3fb2cf375c35dd6cbbf1c16bac744955efca2ab015fa162f |
|
MD5 | 983c60cb5f3ab4ce150ee6293ab93958 |
|
BLAKE2b-256 | b7de4c887cd11bc4193704a6dc358f104e904dd6cd03404e0dc218f8633a36f4 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202402051701813464-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 24bf7968a4df935d9f4e174f5ff48b00152cd0ec47d34c2557a492396f79a2ff |
|
MD5 | 4f2054917c487409f910f5013b34e218 |
|
BLAKE2b-256 | 3863e175e81afb88c49150f51d7e586cf7273559393f011fbe1e573e3ff21081 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202402051701813464-cp39-cp39-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f09b9b315535a1acc30077c6681e876f0171cf247bbac89a1b18c1fcac0d675f |
|
MD5 | c56e9f3ec1534380e77b404cf7b26597 |
|
BLAKE2b-256 | 18d7017a495f7abcae49f1247899c667cb853f48b0d97a95ded674463c546955 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202402051701813464-cp39-cp39-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d13fd468274dba42258cfb00affb0389265ed97ce043d171417a390f15308f61 |
|
MD5 | a6e89b020cb744cf10030fa7b806b27d |
|
BLAKE2b-256 | e2fab86f2d5a521cecfb227e2332e91bd73825fc17b271efeed9dcbd27d4c05d |
Hashes for pyAgrum_nightly-1.11.0.9.dev202402051701813464-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cc255e027fea980ff2dfb189bdfeb34683d8fcb94e53f1ee88b6e5814a5f3b15 |
|
MD5 | dee2d45e33ababf53bad9cec0556216d |
|
BLAKE2b-256 | 46e591182947d13353e77e9587848234c352cf24f3e07ca10b194ab7cfbb0d35 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202402051701813464-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e6f62966ff4520f8116632ccb832ed8c6d6a224caf76a923cdf5062728fe5a21 |
|
MD5 | e407f8969f186e49b2bba64ee7c18442 |
|
BLAKE2b-256 | 371c4494914a916ec92865e12926481bed9b7d6dce7bb3976757e3319510b853 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202402051701813464-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 90298962774f56ac3f7015533aa0bac538511e7ddde2e5cf5cf679d9752b327c |
|
MD5 | f7ee0305589f090c58dc8e74110f04c2 |
|
BLAKE2b-256 | 29640ee652d3d4ed219df93667798129010609fceed94dd4ada7e0db3ecf8b01 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202402051701813464-cp38-cp38-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6fded8a602a7918e306b24a9be0a7d95040820579344cb73800f56bc952e3ba0 |
|
MD5 | b34a776728de8d8755707f28d0ef35d3 |
|
BLAKE2b-256 | de94da0e61daf86fa5cfad7a8d665cdbbc206bbeb9b1894df1a56debdc0dfd71 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202402051701813464-cp38-cp38-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a6f6183013272bd436153d4abe4a28061011cd31a06ade430c781c21d349e66b |
|
MD5 | 80b777fb3d218ed3f84fda38ec21aa34 |
|
BLAKE2b-256 | d711faa47e7d4e78cc8cc735cff5efde7437c799e72dea555b8502242f7bbc00 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202402051701813464-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 467a89445444d4b0e91d6f08ded966ee90cde0a31536de5f55af7b54ee34b7ac |
|
MD5 | e8dd50d33d46a2602841b1e4592c7103 |
|
BLAKE2b-256 | 4ba5d7120d49dd4a0918f86ff75cb12aa9bbb3cebf08fb8404d69c62e236fdc8 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202402051701813464-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 41af4c4d7ea254176991cfecc389d7434b39dc3e7383d7cd0546ffa9c642c513 |
|
MD5 | 6a0f7a13a853498cb240470cd9dd254e |
|
BLAKE2b-256 | f6963bad16829b95e2b31d60a77b4e5468a03694f662fc98659bdc14c7ac8b5f |