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.dev202405231715182293-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 05ebe12036b709f6cff5592930c5907f8096a6ef231e31cdfa88d035d450c13e |
|
MD5 | 1a8ef98b412fd3dc42dafea4dc453c1e |
|
BLAKE2b-256 | cb199dc879a286c11bce4244eace1202085f01e9c4758bc1cf3aa1425fc2f244 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405231715182293-cp312-cp312-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7b999b5a5f95c142e32acdb49a93facea92761b5c62b1b33caaaa8b23d7c25b8 |
|
MD5 | 825d46a780f155a9215bf0f08b0f1935 |
|
BLAKE2b-256 | 3fa48acb64da6db000728031c663ef0d1dede5f2c2de2f8e877346010923333c |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405231715182293-cp312-cp312-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 59e13d714648be2ca45f4f85fc31cbf9011be9596dc168dd8220ddca5b7bdbcf |
|
MD5 | 644a973e6d5c40635e7cdb3f2576b5e7 |
|
BLAKE2b-256 | 8d0661cd55b32d8eac28f034fcb4860bed82a04d70aabd4e67550e5cbedb9fd3 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405231715182293-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 925325d833a23ebe2db5be72a8bff2693d920ae482a834d1bd5e3bdf52227de8 |
|
MD5 | 1f6c5c48e043a975c3b03e5bed60e46d |
|
BLAKE2b-256 | 0c397af93aba352a749873550ffd2f45246aec3f75a76329b600d856cded8714 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405231715182293-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ce71569858237fc93c50a54918557998193c21acafe2b0495cf4ab74e0fc68d0 |
|
MD5 | 0b6166376a474d5e445d89c37c08fb69 |
|
BLAKE2b-256 | 006239e6c25b693ae37ded914448bd5d72beaa0e5ebda99db266fb781067b7cb |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405231715182293-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 639345080bfa997d3666aa167fc39a339dc2a0d2958cfca8df6760b9a0ad5872 |
|
MD5 | f59c189e3a010c6df0a7f1c4b8f99d17 |
|
BLAKE2b-256 | 986e1c00b0822441ebdd06ab790fb5684fc4e9056022e86e24edbd9593580edf |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405231715182293-cp311-cp311-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 59bfa797919adebc7004c76f08f2752a84c0a5f9da5b1eeaa9cf0e5a06503b6f |
|
MD5 | db3ae3bc7e8557e28f3d4603a2ae23ac |
|
BLAKE2b-256 | 996143fa5122c47584a02ae0e5f26aa8c82bc91fe2cce44df6bd319bc937a3fa |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405231715182293-cp311-cp311-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 72ffdb8f459d34cb182b0aa06cb2c7a40128b7e0efb67a6086119f00365aa886 |
|
MD5 | b9ec7b61086ae4ee048694a3d99d888b |
|
BLAKE2b-256 | 3ef6340bfcddb85aeea7d63b0b2cd44b73716682a3e119f8cbdd8295708b885d |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405231715182293-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 832dd2926e569454edfb4dbcfc8465889257916da1a3cb2680152b75b3c606f7 |
|
MD5 | a4166d3d079bcecce8f0c59382ddc09d |
|
BLAKE2b-256 | eded560a86e7396dfbb1e29ec371824e6cebb9b97a7692f32d19172b7814cfd1 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405231715182293-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6cf850350302342972dc996ce9f0c53c76e4f877fd8d81c8c5deac17ed7edff3 |
|
MD5 | 26507d8a45b76bd8f804acda09095021 |
|
BLAKE2b-256 | 37ba2976141fd53f261aeb5660bfa0f58706f908de9bf1ce6aa6a998ddea0b42 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405231715182293-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 82726ecb2f14e18654869ea9a21959a1a5cb169923cadf49eecf186c4b3e0724 |
|
MD5 | 0ebbe9abb1bfc258f8e5ca14c92553f5 |
|
BLAKE2b-256 | d5d7f06eba6d796c0878b36e2eac5cc6907253b16925da8ffab230de82c5928f |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405231715182293-cp310-cp310-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1d4f963a81db666b4baa81c712dcd3c60dec2fd302a3bb70b6e73543920312f8 |
|
MD5 | ab93b0b2146e9f05c85fd36c9e7b4a1c |
|
BLAKE2b-256 | 5fe4ca61ea5c8484bcff134637a6d5908342041f6d7473203ae2dbf7990322ee |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405231715182293-cp310-cp310-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 85b91eb40968a185cb6730283572e27321706b0976dac3f1b8c50b6df49375ae |
|
MD5 | 01d59b7a73c88fcb6f68195871cc6d9e |
|
BLAKE2b-256 | 6426c72274290bc19fc8c82fe439dcb1d12c8714f325a5e50fe8563f1d0c8865 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405231715182293-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 276528a972a3e2f019258286587324febc1ca123f750d6d8c7b19c25bec2d406 |
|
MD5 | 49647f696af4159a2d485a4ebfe9cf75 |
|
BLAKE2b-256 | 2ed33f4b3bc7a35717115f5db16d2958cf0f407f34f7b5f9de57cdf5e766af2c |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405231715182293-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5db0fa4e9197d1b2f85db8960a2690af18d3d9efcce7f27bed55f6775c24d666 |
|
MD5 | 7630a594db9a099681a1dedac5eef720 |
|
BLAKE2b-256 | b754e5b54fdd4099f635d5f3a9f365ac400392d422af548966f679f7d2326662 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405231715182293-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 96a4c06317125c6612ccbc540d47cd7ab9b6ae36ce09363211ea12122890ced5 |
|
MD5 | 9693e5ad6c3df5b7abaa104e570dabde |
|
BLAKE2b-256 | 81e44764790bff87cbe21ff98c54984aa781ec5057e96a910863b5eca5e32221 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405231715182293-cp39-cp39-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 250ee31b129fb82cefe0b52306d50914ed8ec5823919fddc0443433a67cd2bf0 |
|
MD5 | ff5a20f3a70c24794e8b1b0f675a4fae |
|
BLAKE2b-256 | 9490252f89b216cfed66f3eee414ab73bc0fc342ed14bea3469e2ca1d3807f57 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405231715182293-cp39-cp39-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a3d1183be160fa247f4f08bdbaad2a967b5391e218db60b4fc2d335172d1c208 |
|
MD5 | f8a7067767c9cf33549deb26ca812b05 |
|
BLAKE2b-256 | 44863eedb76dd86d0e144346b972b2c7900530a19aa5ed32d283f035475228ef |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405231715182293-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b54aed3d0f3be6fc95f88a8f21c1c5fa822d70fb4903ba10aef9f34460eaf1a3 |
|
MD5 | 0adcd9465e36ab41915fd700073711de |
|
BLAKE2b-256 | 3100f41e09e5b6ed9056ee028bcc919dd79401c7ff64bb7e02129a6bf44a4bcd |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405231715182293-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 069cb74c40c68cde7a487ebeb5d755fe381edf868875d5a66131f72b247cc6d5 |
|
MD5 | b3385473519560a1b5a42071edbcd6d8 |
|
BLAKE2b-256 | 2134cf0f5e51769add76f405cd6a4b1684fa00af294bdcd5bfb91a673471202a |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405231715182293-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c35f77c4bef11a17046ee1056c9296eae6997ba38c9c3898357f7b9943a87d6a |
|
MD5 | d344feb588a785b7d13431c253a224e0 |
|
BLAKE2b-256 | d974479100c9d071ddc0fc69f471e52baaf88219f8a5be8e0812893c25942ea6 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405231715182293-cp38-cp38-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c295c162a165b81fda0f2449636951ed22198a4d5ddd8c18fb3c30da7d392c87 |
|
MD5 | 0711ea1b95335f84b80b9d4098f5dc14 |
|
BLAKE2b-256 | e6163c7093ca859df689a96cea32ebb617ff31fc5d547f2a7cac8021b947ee11 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405231715182293-cp38-cp38-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f383fc646147ae4ce4858d41ad50c533047de89a5135c5f0734d681b647156e8 |
|
MD5 | 353fb8722f42f03dc1ed422b8cd4f770 |
|
BLAKE2b-256 | 36ec8f84da1710b36a607ba7084c4112196d2da39c81e8bd57f966c1c1ffb33f |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405231715182293-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cb32011524af981a4eb50581e40ea7d41e0f67a860ee294b62e18c5614b64002 |
|
MD5 | ffedf59d9e1a1276d179ad58e000b0b9 |
|
BLAKE2b-256 | 189f186b178b0a05571a4eed074466e7270bc5f7e14eb2dc3c10e3f7977c9ce8 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405231715182293-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 37a1aa1fcc39f8352d03d22aeaeb1d99bd08593b40696907cffa6b1335a378e3 |
|
MD5 | ed7b1323b7c2d8d4d15f7781da079769 |
|
BLAKE2b-256 | 59e62937409b366f7563d50cea129d0f786c8a940f7f4feef341788669bf7662 |