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.dev202401161701813464-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 53eaa48616234699ddf775a1bebe9ac62fbb0cef1788f31d9d4939a90306afbd |
|
MD5 | 4ef1d0a732bda79dfbce7b560f7347f3 |
|
BLAKE2b-256 | 04e3824eb850b74df25c2e412b765ada3bd655ee2a901607c046a299fdffa90c |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401161701813464-cp312-cp312-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d0804c4e2cf9b35fc275e8273f522f134bf8d8bb827e0b3f6495ae436212001a |
|
MD5 | 5760f56185f698528500d717645c9253 |
|
BLAKE2b-256 | 17415a451d88482790c2b142511289ccfb55451bd705d4a38213654b0d2b33d1 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401161701813464-cp312-cp312-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 804aa247894dd7d3ca231a9bffe992f29d4c8ba959374e93789c42564ee79763 |
|
MD5 | a86b07a90501fcdd498149a17fcb3f2b |
|
BLAKE2b-256 | b951645b10a0cd513577402a3cfb8396e1ced2f0530684c99982e28afb4285e1 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401161701813464-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 719d10f386e0e7c34e5bd492c0a06d9758c7691a4e9652a633fa13747eb2fd5e |
|
MD5 | 41299534f39bc4c65061167659804be8 |
|
BLAKE2b-256 | 1e4205000bac91af11d910b506424915b53246dfee7f286a59a9c0551653b9ce |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401161701813464-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 17e8f31178e6ca08618b4de0ef4c5b82c33d44a1a7f66c951da68c2d9e296b0b |
|
MD5 | c3a31cb545829a9c78ffe2f5531dcaa5 |
|
BLAKE2b-256 | 29eda0f1f14a0f9d91c914772ec65d7fc563b3c26e9ec230a525021242dc08c2 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401161701813464-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 05af9066215f90ce538e9ca1548128aaccedfd4c0bf81a4f41679fd737ada033 |
|
MD5 | b603bc7b8908f3101be445d285fcfdeb |
|
BLAKE2b-256 | babace5497f8b88b2a20c1a005dce7ead23df8525391546c24a2bb0db2d1df4c |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401161701813464-cp311-cp311-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 62e89f9f0069626f1f49370077def2956f428337fd1bd82e554dd92548dfd9c3 |
|
MD5 | b25d833b96d9f392f2ceda0ba663c15d |
|
BLAKE2b-256 | 8b5e50aef7dcf0769ff2f9ac4960e995e8252af00903f93e914b2f1c5bbd3110 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401161701813464-cp311-cp311-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6d04246c465b8a558ccab14e80472f13b02689f3d16dfe2550e125431d3f6773 |
|
MD5 | 6489790044454aace159013b5765a3bf |
|
BLAKE2b-256 | fc995f5b11f49ed14854c2bdbc0c641248e3a3e934c9663ff4263ceeaab52899 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401161701813464-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 15df458f82b23fef7db73a5ff127715f254c10f407d7d9fad835cc29c92e148d |
|
MD5 | 16ee80ad8bb0ec9a834b53bb9e8d9f4c |
|
BLAKE2b-256 | 959c739b30f4ed395de013a5033ed71842d5e7968a2ca9f393fa56fee960917b |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401161701813464-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 53b626471ef3ac7eb35dfb5ad697a5be8fa42be2b4d6160caebba118304757aa |
|
MD5 | 293f3014bce764706478a1253ef4021d |
|
BLAKE2b-256 | 1f6c0f5f6fcbc07236a25f1e388c6e5b6b65b7e3811747979f4916167a1d9d7e |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401161701813464-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 37163fb4bb4014c9921d6a564db4eb02cbaaa81f3fd41a489e2ee9ef396ad460 |
|
MD5 | f58ebe0e180e2ec21b38d88e27ab147a |
|
BLAKE2b-256 | 87205128bc2c188a42100c3a6d72681730bbe1ecd528148b198e1973bca5d53f |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401161701813464-cp310-cp310-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1db00f8fb62c57a6626e564ea2fcef2de9b4c4fe5ce1df62baf0799a5b975739 |
|
MD5 | 9d6c7ca3cff228002682346523b229e1 |
|
BLAKE2b-256 | 96cd7e53d26f8fa321ae14e9495c02fead1e9a310c6a708756a5733d36cb1397 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401161701813464-cp310-cp310-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 415c7a257bb31b0ecb049d4cfb5e053a95faeeb95de06e26ded2825809494a46 |
|
MD5 | 738908f229f4f2e4b5101821a1e2d9db |
|
BLAKE2b-256 | e550ca938a533ee3641311d9e114c0c890537b67a06e50c0d796e8194a310046 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401161701813464-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 985a653659ad4fdfff0656b1bc0fdcf5bb4a58c150ba77e6508afda46852b350 |
|
MD5 | cdc1f32c4172b1f485fbf71ff2024e4d |
|
BLAKE2b-256 | 36106a2628cb1ce491037a51f5e05e00a6a8de94c3a3a3d769cd73798fca960d |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401161701813464-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3b4fe8306c77559991f79bdb3db337082b0bf13d2119d86f33a6bfdbb0285a0f |
|
MD5 | f0b9aff7c74d97e5d3aef1718413187c |
|
BLAKE2b-256 | 7c835532ee3ee32ed4ee75ad473a65eb16fdcb80a14389a5019505e4d9cf0534 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401161701813464-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d552a9b502d2f967c2f3e1668c4cbcfd172e66f131c24350f97c7023380c3afd |
|
MD5 | 98a06ca20cd92d57b7ed85cd8b1f2a48 |
|
BLAKE2b-256 | 078b5138aa73aad0c28aea91ade23307dc8438098cdc856d5046f49daca157d5 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401161701813464-cp39-cp39-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4bbc7183c83c67c5909352b4baba6ceb180876abdc16a84126ae7a0edf4a107f |
|
MD5 | 10127e692575ccd8003be4262504d83d |
|
BLAKE2b-256 | a7c611352d328e17f4402dd494efa99f0cde7a9274b41e15728e15668f5fc6d8 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401161701813464-cp39-cp39-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8fede65340fd6ef41d9b922fec0bb375c26f80d4b712d36381b40e86565d6eb7 |
|
MD5 | d1fe27b785b0ca12bba66bcfec2950c8 |
|
BLAKE2b-256 | cd800b08b17a6f36bf8c0a8a8d077ef036042b510697554df81f1a14dac8f7e4 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401161701813464-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 03ba1c99f75b0908111f1389f54676c979e4dd0bde1d9f3adae32a4772007c43 |
|
MD5 | 49db80fa995a38e91821f5ba4dfba7be |
|
BLAKE2b-256 | a9789c3e2c77b38d4500449a06a3759f7f19d4b0349c36c3a655ed609ede465c |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401161701813464-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a6868f400b13f09ca3849eec08c2eb44182e60ae9594406fcbef9ffadb711eb9 |
|
MD5 | 5afe650cc3d96931eb618fc7278832f2 |
|
BLAKE2b-256 | 1acd94578b99d8debadd0dbf0b877430a77cc3c52a4f00a9af58c4299bff876e |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401161701813464-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 00c1fe5bef3a8d399596fdd966aae901397a627e53201d2bbfd8bae5edef1895 |
|
MD5 | bb39c98e98167aece9fff6061aa2bf41 |
|
BLAKE2b-256 | 3d7263b3c8a019de4b99a22629b08144b2934619736c4c1e43da1948f9d90c08 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401161701813464-cp38-cp38-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c3367bce779b92112eac03a2d309240f447d019559e62d596afaca039bfccb3f |
|
MD5 | f22ef3f26df50418f910659014309fbf |
|
BLAKE2b-256 | 9844c718e75dc81d65fc0f60c1cf90400aa8bb77e6e7e589b63ea07c94dc1d35 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401161701813464-cp38-cp38-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 825dbf582eae57392f9309d6f739ac08f0525dbac3554bd5961a3aa3fb4be19a |
|
MD5 | e3eb1a22550618c0471d57f5a854ff6e |
|
BLAKE2b-256 | 26cba4497ae7ffa59b1b54b43658435f477cc34b3a0e0c435c6ced17dd432fbc |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401161701813464-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 46909d247928248cc32ee65e98b9887370b49ff503103915f2b57a25bf24f52a |
|
MD5 | 946e023294b3adf45b08254b4f8e82ad |
|
BLAKE2b-256 | ce52de1bba084be10be31fc36dc747f23965e8bd26514aef9e5b9e473e04cb57 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401161701813464-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f816703849e207e87623a803eba6aa48409aa126fda89e01504209b8d8bced94 |
|
MD5 | 1d25af21f7d0638e048d42ab6e0e56a0 |
|
BLAKE2b-256 | 46d8f3ac59e24a4c12ebf2643777e516aca3431156302698c4e4addff86fce95 |