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.dev202405101715182293-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 324722355c0d35e5515188c1e374c23fa941f22169806ef98477775edea8b2f2 |
|
MD5 | 7241b9f592460b0b94603a1db7b330b5 |
|
BLAKE2b-256 | a87f86c1195c6414a195038d728bd6f3e3f4b670b1ab4bce1d43989b3e3ed2c9 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405101715182293-cp312-cp312-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d348e6b2cb5ff141ed88129ac4cf73f8e74849e0bdda4c441dcabd101cf3b455 |
|
MD5 | f03eda1ab0af8efabd9fcd8ffb7ac0a4 |
|
BLAKE2b-256 | 86f6f3715f0b928b3f60cd590e1b0928b1390f89009b91fd7387ef7b3ae54374 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405101715182293-cp312-cp312-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | be6ccc2ba7537009ba8f29c0abb0604e0e2592452733558b48e61f7d5c65e330 |
|
MD5 | 71829271aded4d25d41925375b2cfeff |
|
BLAKE2b-256 | cbb96dcadaff9cd4c3e5dee18488346fa0c9ab8965f35ef7421c3c5f703ab2ba |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405101715182293-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c6b5bbc6ad0efd2b398c0ce97661fe2ed69180b15377b696e64396cfedd907ea |
|
MD5 | db99e22bfb838996cb26f1cbdeb606c8 |
|
BLAKE2b-256 | e3f219cc64227b7a3fba0a0835f864011b92967404817aeb2322212fa3e5874c |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405101715182293-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4ffa54c7b13faa8b1817b01c00cc1022192a1cf68b2be274ceb3b24814f7a93a |
|
MD5 | 25f394afa2e687a1c7c29867601f0ffb |
|
BLAKE2b-256 | ac3febf155c5708a764f08e4176f06f3be41d255890c07ec4514c1adae290ca8 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405101715182293-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b15674ddc822fb922e972dd9fc1abfcebc3884a869baedcdf277d90072613923 |
|
MD5 | 687cb95f661de3e0ad10caf2089a0a2c |
|
BLAKE2b-256 | cb93ca53a3c17e8a627816261c5fee661c83b8f863f94d3cc7acb4415d5f39b8 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405101715182293-cp311-cp311-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 08720370f1d9ff44e7445cb5b915c8666556008b5d1969305dc25559f563053b |
|
MD5 | 641b36d96afe5806ffd0d55d7e7dd5e3 |
|
BLAKE2b-256 | 524520962c2d379f4a64b479b3cec4e056bbadf6e9f47a0dd28d936a201452b8 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405101715182293-cp311-cp311-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 66f4092c4d1689f90c9c01c2e4e5680cc3e883aea1e07f6e2db81834e1d7c9d7 |
|
MD5 | de0fe7beee2790edfc0764531557b7d3 |
|
BLAKE2b-256 | 0e93aaa23ae252e85cc74110885defd418a78ab4dbdc015a8600ce7f2187f21f |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405101715182293-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a4df6a28fa0b292aab8fbdbec61f4cc17d15c48decfd2d419e7eb741a8e0805b |
|
MD5 | 9f334342888995075509413cbb30b8df |
|
BLAKE2b-256 | a44f53f6ca512c7d77521545dce7cb2bda1670f365bb0800a38fd7ba1035cedc |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405101715182293-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 30eee009b41842a3deaa8619b3ec412fcc0973c022960a4732464fe2e3df76d7 |
|
MD5 | 0d3d1d00e37f4d45780407090f0644a3 |
|
BLAKE2b-256 | d0b40159f775ee37ddb94a03be4c67539ed950c5146f4f946e653469f6deb552 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405101715182293-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d68e88062fc1a4bda652c8e8720eea66c0b80ee1fbc81bfc436c2dec1614ae90 |
|
MD5 | 888d88ddd3f0feab5474361aed9aebb8 |
|
BLAKE2b-256 | a3a8d8682dc5488af432547f97777091517a85e1b2fb1ee34a085532c31b4aa5 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405101715182293-cp310-cp310-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b3b625e1245f45c74f9ebaa2a7519bce6333006e74e9953ec2029f28128e0656 |
|
MD5 | 3cb9227fcc9d24eaf797c63202206d6e |
|
BLAKE2b-256 | 7cf524d0f9a7d5d0d37418cbd38d4e3421e48b3a050845126ad9925cc95fb9ab |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405101715182293-cp310-cp310-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6b1be40a64d27fe29430d39d4999f3b1331628f145421a7f0c6f86d59bd52650 |
|
MD5 | 24c522534774b7602b8ca300163302fc |
|
BLAKE2b-256 | 6874b67e75457bf2cebe2d53acb8945869b40ffb82a7eb741e9e2b1f2efbb91d |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405101715182293-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c90e3d8f94d57df9bbd036dfce8f5ec9371dd0a0cd73b3d86107e56e97c71eb2 |
|
MD5 | dec9c08adba6746fa335d729c6bfae10 |
|
BLAKE2b-256 | 79dc20e9f896b88ddd67178f41cb21d5626ef7b8c4a7f573f0a75549c8ededc4 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405101715182293-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dcae100734d05cc937656a3e0fab532724d529f1b5010f189ffd562139dcf395 |
|
MD5 | 500d00054549fa408d5f432af53ba68f |
|
BLAKE2b-256 | a53ddf29b1a13029575224020f83d6df537d2e07c97c8c1293fcfb2bc0995c44 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405101715182293-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2b238089cd7fecf104eaa7fcf436997b440c900835bab64c83198533d93c4f99 |
|
MD5 | 38f1f6d2a6414b951c604294e3d52c6f |
|
BLAKE2b-256 | 10299334915d214c257e467d35f774c9decb9ecf84b2029d0c38bb0b857296c3 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405101715182293-cp39-cp39-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 28431d3c74bcf3a1f11eb741b09d78ebbbfa8b1c9e3e74c8308b0ced653b2854 |
|
MD5 | f7279fc1c2386b60822cf2e29e228964 |
|
BLAKE2b-256 | 36a1e1639c8fa40737a14118e7879bdabb5d21a6db29722844b2636f0a8e588e |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405101715182293-cp39-cp39-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f2446c3d2c32d451edf62863b83df9703056b9a53b0764bdeb4697269cc0a32d |
|
MD5 | 1c3c2d06454b8ea44464c686cfa2b23e |
|
BLAKE2b-256 | 65957a939abc84e413724f8a77ce329bb241602771736a8a733faabda0c8d061 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405101715182293-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cc0af0ee15d0563790eaac23e7a98872ac697c30edfbf3cdda4a71cfaa30ae80 |
|
MD5 | e74084b7082575a34e1933ee24f1d7d6 |
|
BLAKE2b-256 | 59b384512c30d73cd7b1aed031c43b39aa0d8c3b0326219549bac6225aa986fa |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405101715182293-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4dd8da35bba5b96666941f12aeabdb910f466dce5c003a480072e9f154282d99 |
|
MD5 | ff1dc9a3be317451ed23c6c198fb9295 |
|
BLAKE2b-256 | 93314354b68e0cfcc934db789da422ffafec0898c4fd3cd3dd11d588d4c0b6ce |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405101715182293-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8d1c337d8f41b1bdf3d99b62e4e520479d43aed5775fb215f33fa32979a002c1 |
|
MD5 | 569c92a0f50ddabdfa2e199f023dfb94 |
|
BLAKE2b-256 | 1c7c75afb2c7b66d1af5939b1d40e3419fa2ec58e4e2e3cca5323b67c1933090 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405101715182293-cp38-cp38-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 986e1844935b03dcafb5d63ec792ed726600f24ce5c2511a13fad9d4f82caac5 |
|
MD5 | 9f995013a8e538dca9bec86048233d98 |
|
BLAKE2b-256 | 6eb6d79fe04499238a12f9555e1fa8f61b3e10a3d9fd5d8d61577f63d8edd051 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405101715182293-cp38-cp38-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 94e8e1f62a13e700f5236cdf5f0c2164107d7f2579a8fc11021262ce7719da7f |
|
MD5 | 11314d99ebbd83abd9888db1cba0f3d6 |
|
BLAKE2b-256 | af311a5cd39738139f6d4df751e5aebd73d4815eab1e93801c9ec54b7d0f0b9f |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405101715182293-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 42e971ce2c25354f9b5b75fc091c67e308918c6b69925594963b83f734ddc3ab |
|
MD5 | 1f931ea427e3b647aac9643009783b0c |
|
BLAKE2b-256 | 96fe64ffe593de0fb260c35d8481b04dd4765a86d4048d1c8c7b7356f659ac3c |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405101715182293-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 486b4f2485066e3f4e6ca52e7ceb720b17910b9b54799d6daa74694871860dc0 |
|
MD5 | aeb24232b4313434681ebab66195b15c |
|
BLAKE2b-256 | 429aea32bd2cc3325e38a5b3db6fb843da47212358491628cd455fe304a911c6 |