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.dev202404011711839473-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a164818e641d1030e21d46c4879572987fb9855b1109a8ce13cc61a466e05738 |
|
MD5 | 47935a1e1e837b2e49b6fb703ba8d33d |
|
BLAKE2b-256 | faf0332cb82ac6152099d36ac75110429add4d6f12040a7757c49362cc91457f |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404011711839473-cp312-cp312-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 61db924dd32c24c6a22fd50aaed62519f0d32cbba1b1ad6e478059646e4b15de |
|
MD5 | bb86d1ed399a32efd4571a75de573cb3 |
|
BLAKE2b-256 | e73ed1ccb3f3beb3ac4c12b6a75e372bb5b55e9218dc9f41f734be3cf85259de |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404011711839473-cp312-cp312-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5f678a8f2614a6d4d771f1eae05f88dc7c1300975597722a2d0843d21e9ee548 |
|
MD5 | 8002b696acaa738d2171a1d1f2a15a41 |
|
BLAKE2b-256 | 770eb377481e971c96e5d4792de7993d47a17a78012a962fe9092b244641d1b0 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404011711839473-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a3a0c8d4d721e77564e3d14e2ab7b2a0d8bf725b58c90f356536db7c4d5e73f9 |
|
MD5 | fb92a7c055e4031bb48fec71efc9507d |
|
BLAKE2b-256 | ae581838079d9272bfdd1c2dc1cfeae5c159a3d8b084ffabf66f864543152bac |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404011711839473-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 794f014ae6751df24b05ce9077774589476a097eb86f54d3ac2034b16724f116 |
|
MD5 | ebd27337ad5ad4d145dafa5dfeb5f26b |
|
BLAKE2b-256 | 60571a657efcffce7874b784158bd319779e6566e1027e99448b0bbb49c3a9c6 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404011711839473-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f8b51edc112312c30b33049a9c8ba920fbe3dc613c86a1cccf440c2cbdb930b6 |
|
MD5 | a25d82cca96cad9c7bb27344d86c75a2 |
|
BLAKE2b-256 | 22b923e8d5c47c89917e3d8d3c55753c7795a4272d8b863e5cfe0ac80f32ab8a |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404011711839473-cp311-cp311-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1a20c71e6242f9e37d2f16515a9db87701dd0b0d4c00882d01bdbc7380548a8f |
|
MD5 | a4f5912624036f0bd715116a79581cb5 |
|
BLAKE2b-256 | 270ff78ff1b55fce3f2057fa30913afbd239076af15836fd9b28011ecfe186a4 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404011711839473-cp311-cp311-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dc184fd14f00200826d5960c4b6b64e03f22ffb80ee8664b71c6485600335235 |
|
MD5 | 86cc25a0273a7805302038086f3fbeb4 |
|
BLAKE2b-256 | 4f90042fe7a46a77fee22eeeaedd3fe27db64c866a1127ed62f3f87a2383a8a3 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404011711839473-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1c0f563eb33687945e614cdf908568ee0da25decc7cd390a46678ec65cd9f328 |
|
MD5 | 6d0494ba33e8511a3e52cfae9147b74e |
|
BLAKE2b-256 | 6165e5b79fc8e017ea978d3af487a1ec9f81bee47ca090441f1fd67ad9cd50d7 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404011711839473-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3887f3540b2481d9b89a550e13dd5dd19c29052cdb9da40a4bb62e5f91e4e65a |
|
MD5 | 23a1b5b98351a8280bf69c54ae41a3fe |
|
BLAKE2b-256 | 077ffd6cd818eeb7a034a3c36be525202505de11b56d28700f46ac8c61fa418f |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404011711839473-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4586fd4baaa73915c97c9f5ee1fff5a6d6ceeecc42bbc979500b8952f6669b3b |
|
MD5 | a606d267a7affea6c9a2b09f9752dc4d |
|
BLAKE2b-256 | e8958decfb130fafb6ee1a5ca378ee580a054e80d653fe2e9d606a8f2480e706 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404011711839473-cp310-cp310-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8de2488f1035f204b9aa16c671dd3481d2893d904a4a1226161ba40f7e4a9fdc |
|
MD5 | 17cc0a4aae6a2b54172912509ce40bbe |
|
BLAKE2b-256 | f0a19aa18c2e0d3bec48b11cf9eead5077e42153984bdcc12b214d106b1eca12 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404011711839473-cp310-cp310-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8e848e523000e3ed8c11156c0153c49ab3fb7374751c8dcf07c699f78393a2ce |
|
MD5 | b57dcd69ca8e76862092620458f22174 |
|
BLAKE2b-256 | 737147730db9842894a9decb96ce49fa5f7b54f2328d602413421e0e7cb5a7c3 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404011711839473-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a5434e6e87ef7c42a808bbee3ef10c6dc60f9c1a764dbb6da9e82c814996e32c |
|
MD5 | 3659f7757c967ed894558ce59e0baea0 |
|
BLAKE2b-256 | 14fc4842ba14f80ba9c9828c81308d747b29eff4f9f60d62914d8d5e63f3002b |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404011711839473-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9ca23471ea381ed8e8692b2818df56fdd888a17b9910ac139c89b16042db0316 |
|
MD5 | b64711069d3d78a8348cbb541b3b3a72 |
|
BLAKE2b-256 | 14caa0b3a1a696d5a9e0736f1adbde7b26437b9f5b46efc4e0f3f534b00d2852 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404011711839473-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | aa90a52ff0d300411aaa740e4429f5d1c193a1d1b950d7e29f135d6cbc3aee23 |
|
MD5 | c325cd3ed2980dbb270aa68a7eaf552a |
|
BLAKE2b-256 | 7e25b13d346521a5eb31b3c462d5927b282dec06790ed77a8b343da18fd6da92 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404011711839473-cp39-cp39-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f199058a7c7913ab781fe167e34d33a5dcde7c8f902d1d397aaa1537579c2357 |
|
MD5 | c314387b925a534ccb62153034c72a90 |
|
BLAKE2b-256 | 2d27474ac77222d3991e573389c9e2a3bf26bd2d10c115f03a7e31bf70a5c838 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404011711839473-cp39-cp39-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 58d50f5d92d81f772f1db50be00aea05ca28dc1119f0921ddde4678166ecaddb |
|
MD5 | 078a58342cc00d1c635ad0a07be65555 |
|
BLAKE2b-256 | 71309fd8dc943883a7f41a8b2eb0c7c933e4e4e018105356cc63cb609996f8db |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404011711839473-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dd81e9c6493133b321a7ca486f06d4387e4a9d4383de7dc3cbb83f0d4920c1b5 |
|
MD5 | a7ef35eac6bc7b760d101479bbd5ef82 |
|
BLAKE2b-256 | f4fa650a109529d9e71f66a722a7e49c7bc9eca6b262bfc6c2657d07f3c9bd85 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404011711839473-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e725a3c3f11567602d41721ba5f3d379aa35384963f4268b7528a47750f87825 |
|
MD5 | 0b0c4330289729e1e265fdfff0b6aeea |
|
BLAKE2b-256 | 802984d0376011d3f81053beca3fe0e8de0c87d0358ace4a2ea15f34c6568013 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404011711839473-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4e34816056c2a47eac9d22536be3046b24d25c2c2bd0f082049e7b202b43d951 |
|
MD5 | c2dcc5c057f053cff8c65df605cdc5ab |
|
BLAKE2b-256 | b34ca754488cf11646ce0f0db851e89148afe4de2732f860a74d63ddfdfc55b6 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404011711839473-cp38-cp38-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 817eef8368efba1cd989b8c9500e0e0fe35ad62ea9df32307e08d55c6b244e52 |
|
MD5 | 3280b8399bf0624a1c6cc905fc6f4e3b |
|
BLAKE2b-256 | 8ca58be5a4b37c8d9965e1cb02f95be939fa4ba779d7dce5251dbfbdc43fd16e |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404011711839473-cp38-cp38-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 85bad83aa9f7bd66a317e4a0e7c18bd016b133e7d5890b922001a1893e03250a |
|
MD5 | bc18e25068a89e4c68862f3e38d33ee0 |
|
BLAKE2b-256 | 6e7385414fb54ac1ff40cebf855f2b8a01959aef0abb8c32eb543168aa31e2d3 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404011711839473-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 17feb46694964f7a1d627462150a704d4a4cbfcb39b75688bd92a8ed75e31763 |
|
MD5 | 7e756970e8fb17fe441b5637d70f8902 |
|
BLAKE2b-256 | 704f33912a0424ecacfe9eb0bd7d71e45acecdbe721e144fc2aa9767e80d7b49 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404011711839473-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 988bea2acd55c3ea4163f6856c41cca2a51da3654be00b5a35fdac0dff647ced |
|
MD5 | 5a8f922f1acff7e3ae980dde419ba2ad |
|
BLAKE2b-256 | eb3f5ee39de6ed5c0c170d829d9fe3982d9307aa220aba443c097de51fa58d55 |