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.1.dev202404201713370971-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9a8ae0a48b01812b8f972e9360dca58a6a78b64e38ded9931a0b5cc086e5ba35 |
|
MD5 | 4414967ef785eece4be3c2ad5f7cba65 |
|
BLAKE2b-256 | d4f7dd9b4a1d02523b7bb0ba4ecb9327f0a6d124905819cd80809f688b6e2f7c |
Hashes for pyAgrum_nightly-1.13.1.dev202404201713370971-cp312-cp312-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0fd3230b050bec4ed6fdb7fd17a65e843f30eba30fe2ca29d90848db69162726 |
|
MD5 | 19f8da56f7bd2322109cd8cbf453d436 |
|
BLAKE2b-256 | 71fe2bb74fd2d6c4e5333dd2655183501f6ba2ffb431de4b12b6f80a0c151259 |
Hashes for pyAgrum_nightly-1.13.1.dev202404201713370971-cp312-cp312-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d02cf36803b2fa1d4c09c56d0d9a683e96b6275ee230619eceea6a41f528bf73 |
|
MD5 | cdbd14db52317d66093803ae7fc9e2f2 |
|
BLAKE2b-256 | 10aab0c14666872bd0c2ab2ee65cdc000ca484fed5b732c08f6354725da0871c |
Hashes for pyAgrum_nightly-1.13.1.dev202404201713370971-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1d9997b8ab55d8c33ae15a557e28f268d1993e6c96121e6ae1b6d7dc99ab6c08 |
|
MD5 | 31e2892ece0fb489f367bdcc37d0325c |
|
BLAKE2b-256 | 5e2109b73827657a0201042caba10b5081c87e4ac9baf19dcd5f4f31220eed94 |
Hashes for pyAgrum_nightly-1.13.1.dev202404201713370971-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5e48266f109301050ac12897d6bc2cc456968f7062e78b1a08e2479e0aaf6a45 |
|
MD5 | 1f5c736d36cc83a14a1f43b9fe044f14 |
|
BLAKE2b-256 | 29b8e1b332db26380b164af4a4e898fdfbab46d06042b13765fc8dc50822de73 |
Hashes for pyAgrum_nightly-1.13.1.dev202404201713370971-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7d4f38ccda60182d6ecbc3e7ff3a22a9eb86edbc44f745364efa5164815dc9c9 |
|
MD5 | 7725c67f96a57c2c3e173b11d522ce67 |
|
BLAKE2b-256 | fd9dfab31df3c87cb73758d897efdc565725c15c6d335af02e89cae6af5f9026 |
Hashes for pyAgrum_nightly-1.13.1.dev202404201713370971-cp311-cp311-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 279cca66affc4e775e4bdb138d4760b7265cdc638f033e33ce759a9c1b2f8ae4 |
|
MD5 | 73a7ef342e5f8c6d5c8d4eeaed2d9cea |
|
BLAKE2b-256 | d47cb9225b0195b61c93547c4a673fb62f7181fd9b7a9fe828851299edc95487 |
Hashes for pyAgrum_nightly-1.13.1.dev202404201713370971-cp311-cp311-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c089285f52a7a7488153eb3b8e516588cc91a03b8571a621d08698d9ad23ce3c |
|
MD5 | 6f57f9b93e4ed2cfd21076af92786cce |
|
BLAKE2b-256 | bd22130642cbcbfdf2eefb8e5aa944fe8d1355c3c4dcb6b80f2ee18a6bd84517 |
Hashes for pyAgrum_nightly-1.13.1.dev202404201713370971-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d69fd2909d0eec230659278e395b2ce96ac1da0894cbcb53cae97cbe8769b32b |
|
MD5 | 7619089b7811840d978e0cc8364008e1 |
|
BLAKE2b-256 | b7396fc620d5310d8986e7d403fa69c28777def8c64c11df32bcf1dbc82f6b14 |
Hashes for pyAgrum_nightly-1.13.1.dev202404201713370971-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f4ee77a217380f3cd313b6aa77152de8a8a92ff9517d6148510642a9864864f0 |
|
MD5 | ee6715ede72c59eecf3a92566f4cc896 |
|
BLAKE2b-256 | 416c9aa38169dadf3777513254be7262f272b8c85971b62cc8845bf43d24bf31 |
Hashes for pyAgrum_nightly-1.13.1.dev202404201713370971-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6a81077b33ed5a03907573a3ae16472b1700c327a59d674b8f59195cd2629c08 |
|
MD5 | ad74333df9f5cc21152efd50fb2c5578 |
|
BLAKE2b-256 | b4c230034b04c9b035d0197e8d6ca2a29a7430281e9424b01d902cfdb296dfee |
Hashes for pyAgrum_nightly-1.13.1.dev202404201713370971-cp310-cp310-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b2b8473184948f2b61ce8f58a542f8b77b31df7c42f96f5c3fc6bc747f60eda2 |
|
MD5 | 277728abed3136cd4e4089ba277649a2 |
|
BLAKE2b-256 | 4c56d03859dde7fb0c15ba5b438adc7d0dad2832ff1acc1bf716abfab8f7a27b |
Hashes for pyAgrum_nightly-1.13.1.dev202404201713370971-cp310-cp310-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b967efc228b80cf559b9917da6726425a8d496f031f2db51602f4188a44c73cd |
|
MD5 | cc3605a4201d97fc36e567246089362e |
|
BLAKE2b-256 | b692051c80d0aca0a916d7845f65f7a066faeb8090d90ddbce3ac176b5ad8182 |
Hashes for pyAgrum_nightly-1.13.1.dev202404201713370971-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e85364ff7a296c896120e3f8ee65c220b0f43b061e7669c7b4a990562c5b1abd |
|
MD5 | 3a21044dbaabcc56e5291a76728e974a |
|
BLAKE2b-256 | 93718fa668af6615151a59be79ec09d35967e5d82de01d9d513af595a191be01 |
Hashes for pyAgrum_nightly-1.13.1.dev202404201713370971-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1e8549b66c6289f6611453647ad5d6aa900d2a2dea495481567df9008a8c3be7 |
|
MD5 | a3dacad994387869567917e989ca34af |
|
BLAKE2b-256 | 1641ee84e4b3b503eac43fb30d17a4ba39597e8e30c6ce2a931dc7fbf3a2d176 |
Hashes for pyAgrum_nightly-1.13.1.dev202404201713370971-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c5f892751e0861a5bc0728553c22bf4bce247ea044ac2c58c6edbb1e01fcb3ee |
|
MD5 | 8cbf03107f6c07aeb5ec9e3c710afa5f |
|
BLAKE2b-256 | fa3601e42e166ef3df28b2077437c9827827e18523aa7c8d284efc1874fe7c8e |
Hashes for pyAgrum_nightly-1.13.1.dev202404201713370971-cp39-cp39-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e0329d6c826129eab19f832e8230cccabe89885eb7256fb1c866b0033f3d9833 |
|
MD5 | 04213a9cb9cdb37c1caf93ebecdb6b3e |
|
BLAKE2b-256 | 040eeb945475740a750c8f7c7aa1a25d62b27f790061b069d9000ceedf3c6876 |
Hashes for pyAgrum_nightly-1.13.1.dev202404201713370971-cp39-cp39-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 48ef2d4080480593d31aebabfc3ae0be224399aefacf1a68976296cb3f26b0a0 |
|
MD5 | 0a05a1fd2e903ddf78e241a7c37997c6 |
|
BLAKE2b-256 | 6a6cda288502f1416849fd5a5be7d49ffb817e04bbd60658d21d67451bc06848 |
Hashes for pyAgrum_nightly-1.13.1.dev202404201713370971-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 40a044d48ccee0d75cb7fda70d2826568822dc8f3e6d01fcbd10d7e9513a63c9 |
|
MD5 | 7a8953df0a920584d0bcd7726c5e7362 |
|
BLAKE2b-256 | 34dd2be72d035e849028e72859e285d132788e2b1af751bcdf16af048cf3e7f8 |
Hashes for pyAgrum_nightly-1.13.1.dev202404201713370971-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f1b68e7db5eef810737533eb03ac8d75e72aad127993afab6c3e1606e49fe800 |
|
MD5 | 3adf1941a7cd85f0b9466984b25ad1b2 |
|
BLAKE2b-256 | 1d1b996d6cd1094837c194acc49d4b7c836c4facb828ed52b7b9ef12095f7ca2 |
Hashes for pyAgrum_nightly-1.13.1.dev202404201713370971-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9db8e5e349601808eae183155ebdfa255d962060f70bcd91dd9678173c373a99 |
|
MD5 | 6aba0893801e1272f307f1415f412151 |
|
BLAKE2b-256 | dc1d8c6c966821b48fe911e938a22e77637e4215b5a8658ba17817ad9430018e |
Hashes for pyAgrum_nightly-1.13.1.dev202404201713370971-cp38-cp38-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e4b6f3e43ccc3b27912c7c6ff7b9e99cda51392857f2c1650f3f039e8e167166 |
|
MD5 | 714e1c3045901aa3ea51fc7fc0096da7 |
|
BLAKE2b-256 | 4cfa1d4c6910bf615c0275755fb296a04a80bb8a1ed0e6afdb6601e7513e9ea4 |
Hashes for pyAgrum_nightly-1.13.1.dev202404201713370971-cp38-cp38-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c980877fa49ffa244babe2d67b17d474b62fc3a91f8ddc77a24afa7462d32262 |
|
MD5 | c459c069153de170e63d2ddddcc2b126 |
|
BLAKE2b-256 | 5313b3002d64e7f5ad2dfa55ca00b7ad186b4cf81d3b1d378401e47b270d8856 |
Hashes for pyAgrum_nightly-1.13.1.dev202404201713370971-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fe1630e3dc6db18fff1241cd79b6d18bd4a726ad5da1135855adfe12d7d6aba6 |
|
MD5 | d1e4e4eebcac465470b0c0eba21e7b85 |
|
BLAKE2b-256 | 0ef3dcbba80a41e414bdd67032190ef1fead8c3058b00aa870607107c9e82a75 |
Hashes for pyAgrum_nightly-1.13.1.dev202404201713370971-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | db8656d907c17ac2a2116f11196af738b1be86cc9c4153cf6171c74ad856c9ed |
|
MD5 | ef53030898d5292d2368b9fbbb4e170a |
|
BLAKE2b-256 | f025acf6397982329c3162258071bcde809a2e0073323be1e14ec208be05366e |