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.2.9.dev202406011715182293-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dfdcd09f903e566a312ccb9de1d0ad7d9b25836981a10433727122279404477a |
|
MD5 | 83ea76ac5a4edaec3915892daba8a9d9 |
|
BLAKE2b-256 | abdbb2d6ee4e1a7378e9e9b3162d59f952e76a3696e13c7f067561800f59c677 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406011715182293-cp312-cp312-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 83cd10ca5328a7df18b0965bd6d0848c558ac041ea72aef934a6ecf193cd5fa0 |
|
MD5 | 555f0ec37d7f179f82efbec105a55483 |
|
BLAKE2b-256 | aa05ba929323c7f07a08ab5669fc0e586c984261ed2c86de937956a4f8dc61db |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406011715182293-cp312-cp312-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 22c8c4c680a842530497362dfd3046e1ce8141ae163ab8339a09ea66a718749c |
|
MD5 | 048dfbf1a4b56f80b45bc91786777f9f |
|
BLAKE2b-256 | e5f120c93180bd8425f5bf1e065524b253cf83c34af5e467f89ca46082692e4e |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406011715182293-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1c2d96826e370215a12d9e1574643f5da82c4502ce73fc525bf600bc33593c26 |
|
MD5 | 1c83808e0c7756d00a3983cc4c6d1df9 |
|
BLAKE2b-256 | 30e1d55373fc46de2ebc657d141512872e0a4903d00c7873a3297cac12bedfb7 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406011715182293-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8feb98a390facb0ecb678eed4b43447c6a20cf75263d8e43e131755d29473389 |
|
MD5 | 3976872a2035ba715e2ac59ea952e27e |
|
BLAKE2b-256 | ac5f73363dc89b855953c95e5c1374f2911cc9ba50789c8215469955041d7fb2 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406011715182293-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b23fb325f42896e201c43dddff8f8c712c700af2f5f6a626aa15685dc60e3778 |
|
MD5 | 3e3fee0244f9f90f663e20a71de12d38 |
|
BLAKE2b-256 | 26840bafd05e9ff986f421b750db388eb27fd9a9a864617e8a5c694aea401136 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406011715182293-cp311-cp311-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7894e749ef05339576b8b209a515b78a21e0b5db90b517e65dbe9a195d0fccc4 |
|
MD5 | 3bb30bcf92f5e3f6c7b3e10d2c31fbb4 |
|
BLAKE2b-256 | ae9170d574a73de41a8c88759889e7829601ba3c6a85842d93a7d6edf67bcf23 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406011715182293-cp311-cp311-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 038852f6503a2284d97a80a9e6444d93180e7c54c97297792e2a46c1caee04e4 |
|
MD5 | cbd605e91ad3b5d6e0ac1cb39bfeb49e |
|
BLAKE2b-256 | 04451d96f1b351bc8fc69f7390b7bcf0885a90fb4ad8336447336af3e5cc4b75 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406011715182293-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 59042b2861cf2ab43ad584a3d811fa635a151dd28954ffb59805393f76bf2448 |
|
MD5 | 83f65e6f62f34970af73d152be29891d |
|
BLAKE2b-256 | cb31f3d28799ecc07311244e88012bdd9e12f222fa5c91743c32ab1e16cf324a |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406011715182293-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ef871fae6aed4c8fa8da65edd0bfd6a0d13f5565183dafcf400d5840357a7ce4 |
|
MD5 | c8cf01abf6198acf4e27cfdb76bc6d24 |
|
BLAKE2b-256 | 76b474f108618bfe3b7b46f34b1ed201ea89abdc8ac24d34e7ed18f206744a26 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406011715182293-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eab7e806e11be018adad410ba438cff91675bc130a14a5e3bdf7901ebe019de4 |
|
MD5 | 9eb870407cce134f3dc8667801e2a5e7 |
|
BLAKE2b-256 | 3566e626da780228845b8a80f59aa0343b85c4ff8c9ce6450f9e41eb8bb3367c |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406011715182293-cp310-cp310-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5ee46f094e0f25589a7e376e8b9fe13385636fb318fd569e1d692fa9907c1fc1 |
|
MD5 | 0ca5b85a42935be5782986e5a917cced |
|
BLAKE2b-256 | bf7cadf2e4a8e3de736e86e7e0fde18e9cb1a32b6389b3ced1d726dc66c240a9 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406011715182293-cp310-cp310-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3db379d7dcf03064201401f28f481daa79c7a5594151428cb81bf9fb6b3d6d56 |
|
MD5 | aeb8d1ce263fd5b7c539b0e26623545e |
|
BLAKE2b-256 | 0c986b9e653f3430c6d808a6b54cb1b6190f95234e67f55afa14bd5cc513d171 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406011715182293-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7b74442a91dc400439287852b29040855b633377f58e05ffbb3c7a9f18b25824 |
|
MD5 | c6b5a3d29d99fae9e45b8370772ad075 |
|
BLAKE2b-256 | c69c3abc256b9224a1a390a4c4bf19580b5730895ea0f720c4bcb94a363c46f6 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406011715182293-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4a4070bec4f21b00ec7d84671486d4ea8452c0f1afde0a6fd6ab21330eafba3d |
|
MD5 | ce11c0b767cf6fb8a44a6799b0da5024 |
|
BLAKE2b-256 | f55c2c1cf9d9e6571487a8749a221ace3bda993a3c9791f5a894d8588dc6e55f |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406011715182293-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4d3db47369fe1461b37ea7253173357beb089aaf4bd1d6983ff305ad027125d7 |
|
MD5 | 9d47c38d7deb1f89e54aa210003159e8 |
|
BLAKE2b-256 | 55e10bc970c4a8c387989d2b753e26f4063ee3d815497a910e79df7ef2cb68be |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406011715182293-cp39-cp39-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cbdc22d50a33b37dba6579837fa0443ec189b140cc7e0376b8f417c671566858 |
|
MD5 | f8dc847cbe317b90f2438c8d4a370a26 |
|
BLAKE2b-256 | e6cf823b19ddd3c885d61a66c732c94f7665a1f6987af83e765ecbe442152b0f |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406011715182293-cp39-cp39-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0f81fb3065ec9a2a6232a2db96ff89b6ae61c4b3f1ed2bd38468f4ed1ea1ae21 |
|
MD5 | 903f302087a10f41bfbc355f95723d35 |
|
BLAKE2b-256 | 1975ae8e863d55807db023e480973976d34f9a9c0efc3a02757b582b300dc7a5 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406011715182293-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4d8ff56a91888e6b770cca8a23229e59124135c4153b9f9e2007b34495efda87 |
|
MD5 | 3f995fb5d540dffd9ceafd636d4fa5ac |
|
BLAKE2b-256 | 3f67bca26bf7c050bdcd207cf15b45995b7a791a36dce57c58e11585b1cdbfb8 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406011715182293-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 21d8d93a23c2aa0e9dde929c244f5f59270552b9cfeb630a6a2260c42b648d48 |
|
MD5 | 510f3adecb0353d23c94e8ec79b999d1 |
|
BLAKE2b-256 | 02e53a60f49b3f5d42769f612365c57715389ceb838a8dc86ed51990d4bc9a1f |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406011715182293-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7ea3df184aa55e5ab4986614cd5cc50073c2d3df2354533f723b3a9c65dcc27c |
|
MD5 | 69391ce0c729bd33fdc23130c92ee85a |
|
BLAKE2b-256 | 8f55c6aebcda80b5da04618dad611daa63b77c7ed5165766c0abfb95e7737a89 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406011715182293-cp38-cp38-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 94a95864fd90bef935e063c2aee225f63485fc131ce02f1f715843933248638e |
|
MD5 | 26f0dabb67718df7ca303df74e7dd6af |
|
BLAKE2b-256 | 7a27cf92b905c24ed9c5feb564435ba3e61a5542156555510c22bf1d235ebc8c |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406011715182293-cp38-cp38-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 612a7acbd3d959a1993a17b9c9f9d6f9a34840fb654547660114bbe2b859c9b7 |
|
MD5 | 693641fa3bbb20da346142059d6c9926 |
|
BLAKE2b-256 | c67e8fccfe6aec7ea0b6c7997b676e64fe4498deb2b044a381d8fae335aed1e2 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406011715182293-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9e9c8a1c21bc297f6470f65f6c97472e21ebe4e0675669e8b76905b29257ec32 |
|
MD5 | 008f961701dba810a911a42e7cbceabc |
|
BLAKE2b-256 | 7cf0921f973d179469ea660494f897960633ca46258b7d92181775644402008f |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406011715182293-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 60ea4581ca083777856fb6441132afb5fc29a4d4799eb7cd7913365952e1985b |
|
MD5 | df77e62bc07be7fa324eb2a469a5860d |
|
BLAKE2b-256 | ee12ed263060a6423607f6f738846aeb05684f9d3af3a8d71646bbae7d500e89 |