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.12.1.9.dev202403171709747362-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8e667fc5ce19828d8c244a981e0ec7cfac37b103c5ebe476e757e7a097655707 |
|
MD5 | 6b7194e9646f63f4dbd717998053a60c |
|
BLAKE2b-256 | 7e03259dce735f89762a216a701935766acc0c2abb7a39fa6e7611d20b66802b |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403171709747362-cp312-cp312-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b71c72d1ec15e625e40f2ebbc8cbf21f22d18b6a749e02d84e8e86ed145dfe98 |
|
MD5 | b07f0b48479109f985d76b9663c6c6ec |
|
BLAKE2b-256 | 7ab0b4cfdf5047a18cf268034296ee287231a3892b6e776aced309e5f7581c39 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403171709747362-cp312-cp312-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eb71ee3cc2e31777a9a69efdd9511dff630acf2c59326f3fab5b65ef57116810 |
|
MD5 | 161c9a8be4d379176b784b6f2508595b |
|
BLAKE2b-256 | dbd0c4a3fc35723a2cbe291899efb144b42a42a8f62d4ae9b341379b8a4cfae2 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403171709747362-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 556b9d0228e596ccb552a43b5422c43f3d13a3871e1ffa20699e8dd24d49b88e |
|
MD5 | a11c1b0c976089a3777327e7796564f0 |
|
BLAKE2b-256 | adaad1ca49550f550de42a95887c8f33c4a2301a0edfa87a02fc49f4b79b9383 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403171709747362-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 909dd6900e1578b64be359d3d778b37d77558071710a0a91800dde6c36cd4d92 |
|
MD5 | 80d78945ef361023a2b4d52f4de637d8 |
|
BLAKE2b-256 | 9ace637a4af21dcdc5e378306bec265004e4fcf736490d94a997ce5403205b24 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403171709747362-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ba75711224313e443aab4058a43d0d4a88568b490f6e927c86b0f9473fc3ce7d |
|
MD5 | 150f091ada696f439d5b0137967e795f |
|
BLAKE2b-256 | a4f9335daed0d81de60a35dac7054b625bd231829a1d548ccf003abb29bc7a2a |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403171709747362-cp311-cp311-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0cc2e6fa2bb7b24efb3dc615c2fb4437ae45c265fadf4d983665814924a5e61c |
|
MD5 | e66543d844f37b135a3e3daac43aaa56 |
|
BLAKE2b-256 | b0c3b5bdccf374723ec8d6120fd748c4e389055184df1d8e1e0217e0e8851eef |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403171709747362-cp311-cp311-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0d74c192af0636a01dd6198c37bbe72b9a06929e007522b0ab67de3317b4f52c |
|
MD5 | a9f2a79d9ffd7967e16335e8b4f1ee45 |
|
BLAKE2b-256 | 1b849039a6f758f72a518aef8324a3f753198a7085e4a7a32b747722e82d3fb8 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403171709747362-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 39ceb7b7765ee035f18df71c1ac0c9c9522dc836ca13acba478fe43c593f5ed3 |
|
MD5 | 1cc7d2bb3feed6a555b5bd8b6bfedb6a |
|
BLAKE2b-256 | f2744036cba4ce12f4419d09182056515f1f5660fe95af916b53b95d69532fed |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403171709747362-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 84d933566f9bcac9af777bfb816babb1737d3362d50152f90d35c0f1b801be1a |
|
MD5 | 6207fab0486871a1ba5768ccbcc99824 |
|
BLAKE2b-256 | cc557b64169a4e138ce90a07bc26606bc574bd3af157d05e0485a6b458ca5a66 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403171709747362-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a9255009f850c5e672661048b69aadf7dc8306a115ae842a4181a74355fbe4da |
|
MD5 | 5bb636c45907de9e841ee7b2d730a8bb |
|
BLAKE2b-256 | f2fb14b3168916494032190ffea1172ce85fb8ce25d0f76d57c476e57d9d7032 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403171709747362-cp310-cp310-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 68c81d6141962c9769b145a4288a9f2dd8bf0112c7d82b513fca998b40d03008 |
|
MD5 | 8f4abd009b86142bad25a46714026338 |
|
BLAKE2b-256 | 0ad514d0791af669839c074c9559b5b10d39c449c81a29c91fc0b7f2d700c0aa |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403171709747362-cp310-cp310-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 050ab59146b802de0c8dafa0fb45880eb1998390e270b4457225131785b61fb4 |
|
MD5 | 14f0a0a4f3e2d6ee4a2289602bc2f092 |
|
BLAKE2b-256 | 17fc729ced7101855b34a4dfa8035518fed6300ac5eaa19528210f394f0b5694 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403171709747362-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 275ce9fd8d5b490162cc613628da2d9099c183cb26e23fef6a9e714ed330a9a6 |
|
MD5 | d6eea9210dce32b0ef7cf908a8871473 |
|
BLAKE2b-256 | 2f7553ca5f53057138686145454364aed72cdccd4b1421c422e020b6b0ab2af1 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403171709747362-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 814f51a6a6417065228b97ec7457038a4a08da3944849415a0c8223c5f75ce71 |
|
MD5 | 48bd2a3f86d930d82d688895668986e7 |
|
BLAKE2b-256 | 541db5307f608a4cf7d7e7f2474757ab39619dc89fe5e06665a62013a2229cee |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403171709747362-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2e86a50e7f3bbf1ecc21922025ed7fb59a500132d9baaee08f52b058a65e3155 |
|
MD5 | 25a9671453c915da7d24f7cb636f59d6 |
|
BLAKE2b-256 | bb66ce4debd1257eabb269bcd199742ceef32af54617fb1a85eb99195367be17 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403171709747362-cp39-cp39-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 923d3e7a5672a13e9ebd0ce65fbe9b2c1872cf78fe54ebb4aeaf0ad9f1f3186c |
|
MD5 | 11368c371a4d1c54c1244f68e06032ff |
|
BLAKE2b-256 | 8964fb57b478a6ac7827f386f29589eb29bf759256303b215c6f314fc860a1be |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403171709747362-cp39-cp39-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6c8d5a7621d542127be56ad40ae9b5cb68ac404d5bcdf081110adc8466e67937 |
|
MD5 | ca4f173f773d0387ef5224ffc73d8f7e |
|
BLAKE2b-256 | b8de9122147145eca4e1a7c56bbd7154258fa7a393f585a4beab5ff2d3060df0 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403171709747362-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0d2ef17a979927256844641fc73ee0515c5c71742f430ae66f35a072d91b59ea |
|
MD5 | b1662d7158ee0b3e8f32b7f6e818dcea |
|
BLAKE2b-256 | 55dbced69efbcbddde38b9730d806ae3da4cb16b4cf78a7c7a4e5b75a49d384d |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403171709747362-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c0dbf5092b721b9901101f782458ec9c53db115a01df765a267639c05484a42b |
|
MD5 | c296d93d00e5becd3fcedba8f51f3f9f |
|
BLAKE2b-256 | 7c36c0f811eee4985d5e3e5839405f7436cbf21352c9e6eb97e79d49fd25d157 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403171709747362-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 52ac601d4cd45c879e8b7c61cdfe8d032ab089b8f97fea7e680b2016842065f4 |
|
MD5 | a356ffbb222f62b9c7ea985735e0174c |
|
BLAKE2b-256 | 46388cacbc481a55f842b7ccb45012f96969a58f6918a8747a637b033e04506c |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403171709747362-cp38-cp38-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fbc3ade2ed4e0607693113e57cbc8503573741c8157e3cbe20a68329e348a835 |
|
MD5 | f40bc1ee491f455c2fff731b3e928796 |
|
BLAKE2b-256 | 341a0b4edee3c5ca47deb72e35a079f404a25528e77bcd628b1891c93b8dd4c8 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403171709747362-cp38-cp38-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 66a93ce7e8d8f5ca04fc6fe581431c6736c2e9fde7764979583fb144ba78144f |
|
MD5 | 42653302a2fc536724116c639c469bf1 |
|
BLAKE2b-256 | 40bee805dca0790d1cb49f8863e99dacfa81ce96946c6a3f4dd20a2b2558bf5e |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403171709747362-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c47712b2a87477b13a05b35a428b7e626dbdbb87f83f250e5d3a65b0cfdd502d |
|
MD5 | bae799ab89fed2e0765835764a5d90eb |
|
BLAKE2b-256 | d381872ff05e57850f8c005965558103c484c3488d311c13be5e354ea46d8817 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403171709747362-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f0f7e61410340c98e8fd95b57acb7ec4f836cd39f3235d3c77156928852b9f08 |
|
MD5 | bc3f36e929631aabf44b554640cae1dd |
|
BLAKE2b-256 | 5477d2686821f7a3a6e67a46c64b7f7afcb61cbaabd00e9a3b4a85c5b04c5c79 |