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.dev202403011708630418-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 40839de98a9e0f39a34db372bb8a2f478e64295ccce03cadc76b5cd345dcd3dc |
|
MD5 | a484ab3a9e7f372aa87627a8b999b21e |
|
BLAKE2b-256 | 09be2b8f996ac2a2e57b08d323e3fcc9f1dd93806e6efadd6e9bcaeecf197420 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403011708630418-cp312-cp312-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 931935bd81054c32f5a46f4ae8dd19e9f11d470fe5fb01daaf4a22d61e54cbb0 |
|
MD5 | 146314ca2d6865d4e2a932c67d73768c |
|
BLAKE2b-256 | 7b7e23ccc291502e3319c42aca366c4dac2fd91a2485382eff39015e83db1d39 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403011708630418-cp312-cp312-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7ee430645e0feeadc9647793d25439d99eb352d691a4efe294fcef4e63d9eab5 |
|
MD5 | f8851afa9e2b9d106e485548fda0818c |
|
BLAKE2b-256 | b53abded3370c2bff83fbcfdad7fb0c9edfc9d2c2f2c3c956caa989c51236b36 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403011708630418-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d78e1d15889c79e35cef2d453d20382fb6bd1203c988dedca1ed7fad57ce9265 |
|
MD5 | 8d1f65ef00da356b44de76d37cbf12cb |
|
BLAKE2b-256 | 345cff43bb28dd2d2363b78d4810041ba5f2a2272a6583cde21b6cc85e04cbd8 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403011708630418-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0c0f0cec59bf082718a3e05e49f72827451c00337d80c900e6005ea03f4d94a8 |
|
MD5 | 639abceff4646bc0513abae57702216a |
|
BLAKE2b-256 | 4d68f5060beda070ed18f61567f48819715289e6494dad26638adb8b12be6aac |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403011708630418-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6346db76ea4717e7555fc4fabdd004f4f9957ee8a9657713e7fba22396818196 |
|
MD5 | 73ff61f7a4a77773302686702b6090d2 |
|
BLAKE2b-256 | f927c08c53b3c99a4563a0b57146536999758b1166e1c2f72184a75cb5aea694 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403011708630418-cp311-cp311-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bb1f963073aa361d0f294a7ca1e3d0bc2e4f3313e0189a0bdb401de23da6bb8b |
|
MD5 | bc78b2355dbd7e3d6c00b133fbdcd6d8 |
|
BLAKE2b-256 | 3832492707c049227d3cf699ace54846e3bee4ac46443db0815f07275ee0afe7 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403011708630418-cp311-cp311-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f6ca6a5302dfca6db34feca7b3c90d125738df3d3fb1de5f21d693478248112f |
|
MD5 | 2f494b1288d1f1553be7cfa035bc9dd5 |
|
BLAKE2b-256 | e5933c66e8cf1c626152685868ee860cea42eb87857cd09901783ea864c57c7a |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403011708630418-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 002166310af0f48e926b3abeaeeff7e5c871e004c65611b57335887d3e776d22 |
|
MD5 | 5c430f9bfe83c00d48982d247a285906 |
|
BLAKE2b-256 | aecf94bf530c5a9a5c4e0783f6dc0a60fc13fa5e41efb338473b62e8431e608c |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403011708630418-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3c854bcc53705cdb6dd204d49e199d27b39cc73638606e6dcd4b6be0e70910d0 |
|
MD5 | 0e5043b0d5a372148e761aecfc11da78 |
|
BLAKE2b-256 | 2051e70cfe4b1ba2d9ccb569bb86d87375512a0337f8a8a117e7e912e75debbf |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403011708630418-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f5e95fe766f10bac32c818b4d8a051ad78656cb56998a5749f96813a6936e6eb |
|
MD5 | e9634c76d1cf75bea4671791280dac22 |
|
BLAKE2b-256 | 65098946c56d08406a9d8a21d8f7bd7d1c03c0f2301ee6e448bfb261352054d5 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403011708630418-cp310-cp310-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1e922b8eb2b93262da06e79ba95ceca72d4885e65891f822c025c10ba7b38b9b |
|
MD5 | 8f281e7ffa9617791b13262a2da1ed01 |
|
BLAKE2b-256 | 29a46119eb754b6695f67145e3437cb30c9f2ad0355db97ab8e79f3a9e3ee8eb |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403011708630418-cp310-cp310-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 76b187d53b9caa97bb056232ad152204263a54ae4c69479da9ee7a6e3a0cbd01 |
|
MD5 | 210c70ffc63fce9b4937740a197b204c |
|
BLAKE2b-256 | a5853188638712d049c977fb213ae68502448e40ca80b8cfb9ca1289817d28a5 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403011708630418-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7c9bd2e0d7e3ab8f7bf4ae250c0251fec6c7b4cf0e633c89d977b5139afbb737 |
|
MD5 | d9503425feab3256b22d76b8b2c009bc |
|
BLAKE2b-256 | 0acff762db09ac8f034b6e0fa0a31bb3b4196092f130eef59370690bf50975ef |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403011708630418-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6fca9fe73d92cbccc0d24a98ae5a7d7b2ba3322838245939a10e1ccb1cee8128 |
|
MD5 | af3a256b3396661441dc0e8fa20127c9 |
|
BLAKE2b-256 | 40c7a758435ba8a528d7b8f530ce128f15a052c1c6a7bc18428dcfe52742787d |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403011708630418-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a9e645ac0ed7dd3c1e94248d3f37edb9b0bd5516bedb1061ad18a17f4724e127 |
|
MD5 | afc34824222444f07ed5b7077eb03766 |
|
BLAKE2b-256 | 1a746c4b23e096d4c9aaa8a7eeb2f239a917f3db8d4979eaa81c192f15c666d8 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403011708630418-cp39-cp39-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8dca12cb3963a8ec4530b747a4153d94e5dfcfd0e26974651dc71fe8d2c42340 |
|
MD5 | 762adb3c3ccaf3501b7d295561b62a9f |
|
BLAKE2b-256 | 69c0b2d614be142a5f842aca0029a21ea8b58c1c3bbc36a3400607c325ed29df |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403011708630418-cp39-cp39-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f8dd0fb153697ee9867fd8b857c4ac2166efc2dcb5eedc47501570a21e87ebae |
|
MD5 | 6734d03a6fbb0774b5333d365617d5cb |
|
BLAKE2b-256 | 1e932651e4fefdf89658f7885a3dcda7ac7c3b0ec92a30131c20ee00ec45a3b3 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403011708630418-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 10eba03eaafcfbf46a83dd2ec96e5b4b29cdddd649545caf4e1a1b60bd4d86b9 |
|
MD5 | 95448d47b0dbce8c6cfaa028c091ca65 |
|
BLAKE2b-256 | 674ef7289a4c7c2cdf0184d1fd5dc10870d730f69fd8631795cdbaf5a776285e |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403011708630418-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b02fe0fedb53217f54e0a68278a49fb400bbaad881dc5545941053af69d12dcf |
|
MD5 | dc1f3b058326f6614c7c1df1a396cae6 |
|
BLAKE2b-256 | aaa4bde2a711dc0503c1d1aabe7a925c2221680cc2dad3642641419b5bc50d26 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403011708630418-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fc161cd40c9c15544b0eb03d4ca7b87c5b9c810120c2b61f5f7809f2fa9d701f |
|
MD5 | a705ae866aa794e835cf8b0bdd7c5684 |
|
BLAKE2b-256 | d225589ee53dd9ab155b2bc04417e7f5cea55590a541c09f035099a91aab90d7 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403011708630418-cp38-cp38-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 45b30ec7bb6bcdc84fa241694f513692642aa5c649c112380af3453a68776a43 |
|
MD5 | 883f7e82579f051fc3b23e6b2e5e6936 |
|
BLAKE2b-256 | be84d75e80125f137f06f0dc39ff8e24fd9bbc54880c0833bbf9b58d366830b7 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403011708630418-cp38-cp38-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 96c7a7b4509a4b7f2eb352229e9650426f7f5800835f850b1ce7f7e0dbb05be8 |
|
MD5 | a9b156e532ab698f3d08175f38e35a4f |
|
BLAKE2b-256 | d770f546adf5cbb938163f0d4f4beb2c66fb9278d76d26c53b467ab42ad224d7 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403011708630418-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 087bd6d83d610f6ef6cea66062201ec60639081e443067fef82bdabe9b2e4f0d |
|
MD5 | 1cca20eb167e0cfd13fef4515036509c |
|
BLAKE2b-256 | bb91762f2814bbf824d6925e25bfe59b6abf8c10139f6c303c8af43677dd6a54 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403011708630418-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2ed28371fb04213d5d14ebebeb38487bba870a145bc52edd5c8bb8fbc97dc6ff |
|
MD5 | 6632ee58add4f73910bcc1eb2477eb65 |
|
BLAKE2b-256 | 2d6a5b4d454f9c880f09645b25d412c221457e5dcaf5a36c695a4aa4f15844e9 |