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.dev202402091701813464-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4180b827934a19cc43bdc6e13d59e6e257c027421dc8a0db2eee3be0728dc083 |
|
MD5 | 0cc8bf031ef013deab2858b2d51d94a9 |
|
BLAKE2b-256 | 24f6d4d195c17328d0c1a784dc8aa96e93b34a21282224e93d660f7dc3385d92 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202402091701813464-cp312-cp312-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 558761fd311c1c359a1a70f08a873623e4c3fc94900ea9a84364680e43f86496 |
|
MD5 | 11a1aa79efc404650b81e9a35ccb0637 |
|
BLAKE2b-256 | c116b48435741df519d58e13c1f151b36ae5fb808ab7e0df1145d7b01fb787ea |
Hashes for pyAgrum_nightly-1.11.0.9.dev202402091701813464-cp312-cp312-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1bef60eaaaa4c8f5cc02000f655d23a4e754cd6f11d5f135bc2238e78ec42eda |
|
MD5 | 561fbffff46dd57a171efb4e6c482529 |
|
BLAKE2b-256 | b3a7d3e309c051e580ba48f25c11a992183e4d751fccb754f5199c191da1f06c |
Hashes for pyAgrum_nightly-1.11.0.9.dev202402091701813464-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 68c8fd9c5ec04ad42db09319b46995791d49072cc8901a8d1e863a99d4a4d097 |
|
MD5 | 594b5cea8b102b113fb76fd5ae7c41fb |
|
BLAKE2b-256 | cd379e162f12e842275e8d4ac0790076319f79ab07348d6ace426819e87b50d2 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202402091701813464-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 767b434f6a83f108a8f316996199fb410f403f86971e888e01f570a2dd6d0e3f |
|
MD5 | 0db80a266005b72312489ca4c2aba4b7 |
|
BLAKE2b-256 | cc9194cd47ed618808e8710132f30a604349e127a88b1d2ed0e25d81764eec54 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202402091701813464-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2e9f34549851cebf14bd792d6877f74101c27024afb970517867180dceb076c1 |
|
MD5 | 6d95267c439bc046a0a30e67be4605c1 |
|
BLAKE2b-256 | b62ca5fef6e048ce74d521709a0b025b5284ffc2032ba09afbc1019809602892 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202402091701813464-cp311-cp311-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fce86c53f44ae0a246aa799a0089049ff615d8f41a197a4156308a0829d57788 |
|
MD5 | c3d6407386f5a4d420a4f406fdb2596e |
|
BLAKE2b-256 | 288e768f162cb929f8a85eddda427c30c33b027b7128176238ae520733c4682f |
Hashes for pyAgrum_nightly-1.11.0.9.dev202402091701813464-cp311-cp311-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3048dfd101cb7e15c801d6b04bcd52a085573ba43391189aa88f94e1a75f373f |
|
MD5 | e26276fb69f10a46a6ea2a1b34e1808d |
|
BLAKE2b-256 | 418b0447f0a2e8807c03572ffb815625ac2937ef1ab80aaebb72651301b03a2e |
Hashes for pyAgrum_nightly-1.11.0.9.dev202402091701813464-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eb15a03c42462200b318fa25dcb70bd42396b8d5d765cc4987da7d9d12c0c72b |
|
MD5 | 83d17830a1214bd4a0d482394faeceb4 |
|
BLAKE2b-256 | df42c3971a59ebffbf6905dcb995853e80b9891f6d65fb2f79f42616a76b6884 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202402091701813464-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 85c4fded6b13168d5bdc4df918528f843743123a26aa875e3f8da759fed8fb70 |
|
MD5 | 3c8f27e3f4fdf2300f18d361786148a4 |
|
BLAKE2b-256 | e7beda9ce3a63929a1174bdb6cb14e945c2836f5b71cf58f8fcdd5aa2a885d93 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202402091701813464-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ca83a317caf959abe8626e35a12b1808aa5f573027fca150e81c4ed859430db5 |
|
MD5 | 0352e9f48f0ff1e391b45823edfcce1d |
|
BLAKE2b-256 | 44407cae1b64f0d02c2d2ef65046cef0d722ebb7dda5b2300596321d11a5c656 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202402091701813464-cp310-cp310-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 19f8578604438e6fb3bdb27d7d35dcba22517c9d9dfe527117f2937233222d99 |
|
MD5 | cc908605f2f4cf253737bf3715781e2a |
|
BLAKE2b-256 | 76f164d61717fd8ad60d38c1f37c2335b9d1ee49484324f8adca5d4db76ccf65 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202402091701813464-cp310-cp310-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 68f9208c9a098ec049a9ec20dd3339058537cc2e928ce7a75afdc466beb988c8 |
|
MD5 | c5af6de8c72d4aa64ff06ea24a7bb948 |
|
BLAKE2b-256 | 6d64124593ca0aece1371d62b240b3bb3d3c1c51c376db5f5be6186d5394f4af |
Hashes for pyAgrum_nightly-1.11.0.9.dev202402091701813464-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5c2064635526038931a62bb0052e5f55c878b5f8772697ce4d336981c6d037fd |
|
MD5 | 32af399dd7b30e4e86cd9997901f555d |
|
BLAKE2b-256 | f821538b8f9a7c41ebcab70864ff98a379adad1f7c16551044b09b993d71ffc4 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202402091701813464-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 496b539cf8ce84b88ee6acb03a1f95622d5da7599470c70ec7ec0db40012b1bc |
|
MD5 | ed7d2c8589cb9d2a0b23b4843a266488 |
|
BLAKE2b-256 | 81e65b75426ad6c84b1a164ebd1236211c8e2195953124a4eaad44ffc6e39c82 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202402091701813464-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 14dc6871dbb0a2a9deeb4c9da19bf3f363cb95eba9a31d7eb752e7acf1245b0c |
|
MD5 | 9aebb7a9f261d54d12163f1632a9be5a |
|
BLAKE2b-256 | b64787dfd6eae9b5fda98c221c0a4bf0f7ca59c66806e40bfb3195042a9446e8 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202402091701813464-cp39-cp39-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | db16cf11e8f53293c6a627d2d915441437edc890a5e20de0269b2b5cae9a763a |
|
MD5 | 07f3067cc093c7b79fc675b20776a9fa |
|
BLAKE2b-256 | 491b5a7047247efb92d44d23854d8a1b2260c3f2013f60e5b24984ec05cd8847 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202402091701813464-cp39-cp39-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6757960e3732e10653cc5c793004189915603be5069228bb91afd81e1ff2d2b5 |
|
MD5 | ffa199644a8b9ea59753438e3c8b47ae |
|
BLAKE2b-256 | ddbdce8ad5bd4daca79dddabb37dc44b8d6a7bd53fedbeadc602dfde30974c11 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202402091701813464-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bdeb32166e2f6a8f341bfdb5b7fa79797c9027c1e40d4629f7279d7a3c0db146 |
|
MD5 | ccd922f3b7747c7f0cd72c9eb0c68245 |
|
BLAKE2b-256 | 7841572b7c0595e9674a618486c96ec84518b11afd9437f057293a6e642c0bf9 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202402091701813464-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 768b23093ee6184e794b59869cd1099a679a078f91356c6999b3682170520a06 |
|
MD5 | b86a63a671fa46a0ff53a63eaf2fccd1 |
|
BLAKE2b-256 | a9b5ec6a2ca95dac7a980a1df7d9414ed2820e41e3d48d8623a5444079228204 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202402091701813464-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a1f7803090979aaca6189c78fa1d28fa35e98eab892db159fe59d1278b0aa60f |
|
MD5 | 14198a0d64d5cd18504a7f270cc1b386 |
|
BLAKE2b-256 | 7b5796cd34245ddd18bcbd335f6bfee2932e3e1b04a9182df029a25b9112f9d7 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202402091701813464-cp38-cp38-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5233579aedcd88b1c2d8c09b6bb381a15530755ca806d855f489ba3a6230bb66 |
|
MD5 | f70811a89339d086d82be49e07d14ca4 |
|
BLAKE2b-256 | 4582db49842ffa2ef5c166717c36f2eb10eb346ba5337d86c89667e174f97971 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202402091701813464-cp38-cp38-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7aec481f9f186b0cd053698799dd9f7b0f77c796080af43c9dafcb288660ca43 |
|
MD5 | 60afff8f95c3de49ee02523de1e7395e |
|
BLAKE2b-256 | 6457b4d3ea2982a54dc031571e7023dd79ac9a29735c2b6ce0c380533db17de0 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202402091701813464-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 59ba93b832c41c9c041dbe55b004c4cf3166e2ccedaad57f281fda513c6fed90 |
|
MD5 | 0473f88b8b26d49b4d9fdc401332c8d3 |
|
BLAKE2b-256 | 55e50006a21e6e944632c9085af9fcf569e1c896f638540e5e0fbcc6b01edfd4 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202402091701813464-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 94b4683970f6b46046c48f4fabf943053cd2ec70f655b4e2b5cb856b4cab2ce4 |
|
MD5 | 03d7e34a5c466980cb24321e091afcf2 |
|
BLAKE2b-256 | 3a623973b3115c446d55a8eaebb8f86b5feb8cf863d7a235fdd8373303e7192b |