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.dev202406071715182293-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4a30a78f39047e08d4cc855cabd21deec4b8bfd9ff527fb52e37172c2a1ef38c |
|
MD5 | 2bf1e9f18d5b167600a85a400365a6cf |
|
BLAKE2b-256 | 98c3ba77b4fcb13857cd1767d13cd0bfc900d0fda4a76a69ff5c5c67fb35a6b6 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406071715182293-cp312-cp312-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c3d15166c393a0e80c0e38c54b99c0d5d8584a4942acacc7ded7749d080e6862 |
|
MD5 | 5347d183ab244b38f32309f8a92d609a |
|
BLAKE2b-256 | cb58de133cae64011cf4b18b5711b581f6372f202f76c0c8da64d02c81d3318b |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406071715182293-cp312-cp312-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 630c4a12078bd897f5987c904fa9af74078c033b3dcfed1211c8a7c57d5546ae |
|
MD5 | 61c1fae8844e5d5cb8becc1e641b03cc |
|
BLAKE2b-256 | c81a552bd2d9eb4bdc17277feb2ec8be62e5dba83704764a9d499c308c5709a8 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406071715182293-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b7d49db19380b0551a240fb46966bcd090de5fb033509e0f6f42eb996c74edb3 |
|
MD5 | aeedda91e750691bb4e513644fe64e04 |
|
BLAKE2b-256 | af35418d2c46b943bc6dde443836e013705dd6f9cf4f115904e280370e4acf1a |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406071715182293-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a13b824f1a49e47b88b04c8a6cf1ec3d79b930b701603382c7a0dcea43884389 |
|
MD5 | ce844e4ee6ebd396eda5eb122aa0a880 |
|
BLAKE2b-256 | 430ce85a4523fb52ae91a3a7b642045b9282b28c361695b2126af2444fdc312f |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406071715182293-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 06d203b83910d8b57dd3e54731f4eac0006a93dbcacebf3f2e769ca50062cd23 |
|
MD5 | 221ac03792229f48da498a575606db39 |
|
BLAKE2b-256 | b93e4160b020c2d33331af02bd42cfde9e62fdd3c59d6a0fc7cf7f7678e46952 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406071715182293-cp311-cp311-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1b21f71184a3b05d33dbba38a1c148e7e97164acf2dd2c26c2db2cd86738b884 |
|
MD5 | 66ba6d89d2348b2cef5d0df231b77b62 |
|
BLAKE2b-256 | 763d250e7b095c624264ddce41a9d454d1c660d19fb8736b206a8494afbc1280 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406071715182293-cp311-cp311-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b5f1ade0c935db324e07e44abb91704248344f7fc315fe1d848852fca170f17b |
|
MD5 | f5a80bb6d0c896722f87f206cfe75029 |
|
BLAKE2b-256 | 956ce86323f588434fef516d2515ee449adb5603d0e3b3d921e6cbdf73102009 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406071715182293-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eb2d419e07d4ebaf4c8fdbd6ec9e725603872c943a2e1792938606e9eaf50683 |
|
MD5 | 621e40c51080d038ee27aee18029a55f |
|
BLAKE2b-256 | b80d629daec6a6b7be3c966ae444bd866a2fd7364ac3e688a9c9acc5b1c7be64 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406071715182293-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 56f18d770280b7c45a19a00410bcbe4a8f23f54560ab67a636851114523dcdb4 |
|
MD5 | a330b0b9a1004aa15fdfd3df6ced027b |
|
BLAKE2b-256 | 95ad68b19f1072158af85f02c6a8c2f5035ba173991c4c8f09bbebd1bce898fd |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406071715182293-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 38a0af15165eece8d8981537929e83dcb72b2258b245be0327159551b31654de |
|
MD5 | 1faf41838eb014d764b44b9348ba686d |
|
BLAKE2b-256 | f325cc14ed72737430dd7a954ef4ef9da0dee2764c35ed88acceb7622546bf20 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406071715182293-cp310-cp310-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 443f661ee03c91dc41bed5824f9d1c62b9d1db8a8301398b95e596a92ab0af5a |
|
MD5 | 12bc72fb825fea8ee8e7261c157a8378 |
|
BLAKE2b-256 | 3d5f4edfb7d26bfdd6ad36c05cfad2150e42a0735edb840e67ca27f803f9b992 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406071715182293-cp310-cp310-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1d8f1cc61fe46a37fd2f6bd7e4a1cc4796a3dfc31d1a1bd5637bb92784c4e1eb |
|
MD5 | 285923f63e8e9a2722df9fdec4d20a38 |
|
BLAKE2b-256 | b9965601037e04c60552296b21206e0135b7ab959bd2f05ce268a00d71bceaa5 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406071715182293-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8ee99041e5aa622896515d82694049adaaa45ddda266b318df0a972f860735cc |
|
MD5 | 27f06633483443d86dd33a2109dcbe11 |
|
BLAKE2b-256 | 4502ccef3a0ac3332a52f6fad4a92a3da4189a9c54d484e84296dad0bad85060 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406071715182293-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e044863c7dcb629e768bd967b10919f7433f3bfc7ab60ca2d44b0f703b996d8a |
|
MD5 | 9f882dca2c97325ef27eeff5502a70a8 |
|
BLAKE2b-256 | dbe251b3945b0e00c3d45e746040ad4b344c3f96581afb64453498b1f010bb83 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406071715182293-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5ff546aa1e896db128fed70580075f82b70ca9c290af3c2c30137be643753085 |
|
MD5 | d3a332ac590065dd9fe3be4fcb1e1993 |
|
BLAKE2b-256 | 0d951b9b4593918d8b75bfa40e3b35945a239260e660b225a244591c2f7480d6 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406071715182293-cp39-cp39-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1ee0635556290eb1cfaae875c92d1db57caf1a9c94200a883221fc575b79a65a |
|
MD5 | dcbdabd67d65022fd99b1c410b21bd2b |
|
BLAKE2b-256 | d9784c0c20433e78a332c8c122bfb57869a9e49ea18831d9c3dac2e11ce4af2b |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406071715182293-cp39-cp39-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7b09042c98e8fa207a6cc7bdf7218de248c40dde30b539d6f7858751e066d610 |
|
MD5 | 721d8b59c58884ff9a202b2e460d7ca3 |
|
BLAKE2b-256 | 94252c898539eca23c921d5feadeabdf99cfd9fe76f5abf343ed0411c3308992 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406071715182293-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c17092d1c5187138220eac9a54620fd5bd773eb62436efb54e247cfa836b36a4 |
|
MD5 | 12cf6c202dc63ce10b836ba1b86707ad |
|
BLAKE2b-256 | 0c9149852f9a489c7729bf843e7e76eb95cfd25c15b4c962422a66fbd351cd36 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406071715182293-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 12bdea2693ce325b2f45d124aa4796e2ef0845e92f813a4e94faaf43e705ff23 |
|
MD5 | ee96b38f448252259c84d2c7878fbe88 |
|
BLAKE2b-256 | 3a1bec09134dd9a4e5378d0e4bbefa88b25fecd8a91439854e38b9eb504185c6 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406071715182293-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b6648c3a99b99ceac21c48befbd7a153e88f8725c838432ce26154a3aba1a63b |
|
MD5 | 936a8d4fcf9e9ed43c8e7899ed1dbe5f |
|
BLAKE2b-256 | 7dda8cd7a81722bb84087e33d965f4824432cb04bfa348355f2f6894aca83c5f |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406071715182293-cp38-cp38-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8b4b28486c7d5616257a41311790043ff6098537b31b0063c2f11aace9b34999 |
|
MD5 | 6e9538ba1276cb847226780cf0bd1a00 |
|
BLAKE2b-256 | 2caf6eefc84f60cf7c9770c4b7b697229382736fbc106d0fd952cf3b71632baf |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406071715182293-cp38-cp38-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1cb59f8505d0c8c965f42d7e3a054c95693e913d4be60b385de4d1aaaa9ffdf1 |
|
MD5 | 7b7aad8ea0933fa0b12d6413287d9b20 |
|
BLAKE2b-256 | e081fb549f45847af26009068096f185f8588f0cccfa5034cb8b9e0d8232d1cc |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406071715182293-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2f3e3fd1d19591dba905576a2b96dbb7290bf78afb33a607b70c870f47c8ddfb |
|
MD5 | b9e15b4f0863d81ff016a881ce417667 |
|
BLAKE2b-256 | 3e570e3ed6562406686644e7b09bca422978dfa32c23873e20c764ab43381a94 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406071715182293-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6823d490a1d2f9fd5c75122296fad07e50484cc81ba4a8e7975e64b7989f429d |
|
MD5 | 9e52a3574993bf5df2df36226d832d46 |
|
BLAKE2b-256 | 059efa702e1556eb9198718e5176fadb77c87a55e6db374cda5f34cd2021bcfb |