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.dev202401121704620238-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 711d7854b8e0df47842db1c191175ac53d246b716fc4d2aab8064d174bb649ea |
|
MD5 | d05de92dbf5687cf4700c28e5d210c5c |
|
BLAKE2b-256 | 7a25ae82d5d4293b0b43ead6303097d488ce2de84e51892f8617f2323535ef4d |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401121704620238-cp312-cp312-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 568854c2abadd4b3c3f57cdf57d266a5faf9d517f84dbec7935cee3c448dc13c |
|
MD5 | d3cac3837b2e10b65b1a6c9b99039efc |
|
BLAKE2b-256 | 2a8a363a4f4b348dfd64892bab17d9bf78fe09b98dde731e42ce9df7cd955563 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401121704620238-cp312-cp312-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 56f8afc82ae70603b6bbb0baf0893e2d9e59bf79884be56ab5862e909596efd9 |
|
MD5 | 699a5a81511190eafba2f6de1cf33f57 |
|
BLAKE2b-256 | 87c0e561ddbded8bb830e5c187e3f118a4638dc2640221cd82833c2e6f53cdeb |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401121704620238-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5ba5440c9bd5bfd8f4760bf657caca4be611495e22f6d998a045a07ed302ea8b |
|
MD5 | ea4a44e32707fd6e3fb3d68190c1ce68 |
|
BLAKE2b-256 | 6b553520775dc0b495b51e4007190ae950c274bfdde2726255cfe4d52e558834 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401121704620238-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dbafce443a5d4bfcace0a3d0037423f8d6f14a46a2e44ae5e6b67a87c531fba5 |
|
MD5 | a8cd2502ced44206a7361aee4aedfa1e |
|
BLAKE2b-256 | 1b711e93b19b8d7dfa0e30257d1ad4512f2e7a93df4c928cce79f79a4c79a042 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401121704620238-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e4e6750794988670a6c60027de082e3c5ddc5e9d7c09ff1c27a01a3e466f924c |
|
MD5 | b2c2cb9f40407bc28b5ad834492aa69e |
|
BLAKE2b-256 | fb8d07f16b318d78a564f13ecd736c6dff1ae755464a47f1b54b498561031b6b |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401121704620238-cp311-cp311-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f3b15c4b6652f9ebd86c854bdc2752981f63f0b893fa5cd2ed28ac99b41ec840 |
|
MD5 | 921827a290b3f68dba2bd8c8d44ff095 |
|
BLAKE2b-256 | 5f3b47b13e72d9c3de7729f44ccf1f412f8de3f11b39677811675bc07feea305 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401121704620238-cp311-cp311-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5fdf403b08ad9485560d74da40545f546090c85c7ad7d84cdbd0026676be4621 |
|
MD5 | fbd1c8f6bac1811046b97b1764b53682 |
|
BLAKE2b-256 | 6455e602815450405e2e1e936c49eac6aa6e30edf47cd4cc45439d19f6ab6a8e |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401121704620238-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 23edaad0c23e04ac5522f428c09433cb6f2c7202d9370f8feecb12807b27cf97 |
|
MD5 | a1cfd9688674002c26883ab274a492fe |
|
BLAKE2b-256 | 06d9164c1b685e20c03e89af65eb431e5371da3afb62347937a8127e8f1ae069 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401121704620238-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 31f6fe3ca6316f6f2123119d11842f9495e79cc728013ff8fcf3e53ca1e15f2e |
|
MD5 | 3e2d0018b3027949675e4b767991fe83 |
|
BLAKE2b-256 | 841dd2c24228363c19d12deb863247eaf56634fecb67d32b77fb051ec36de2b5 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401121704620238-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 97519522d628c256913fd568980b401c0a79def3de981497cd7bef678f2357e4 |
|
MD5 | 018a56eb81b9da01204a44d1ed504db8 |
|
BLAKE2b-256 | 78e105b9a8aac21d41cc850a7cf26516554a12c4359a85118c3f3aa303cef663 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401121704620238-cp310-cp310-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0ef52ee368613c6cec672a5be4d6abdabecad16d5a5ac5d80506c7cafc631ae2 |
|
MD5 | 505b4b8a25da3cf0bad477d00aa2f582 |
|
BLAKE2b-256 | 2e64943570fa45deb4f29eacfa53294a29ae2ccbd00b49ec73391b25f627ae41 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401121704620238-cp310-cp310-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 22604becf1bdb24efdfc7b1281f89709ec3540af6c3fd80e621e3e0af95db576 |
|
MD5 | 67918785f527602256edf9b97c2a430f |
|
BLAKE2b-256 | 795c218dc24dd27225a335c98001dc8da07e66a7ba9b8adcf3ec46231e96aebd |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401121704620238-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 14924f8c311aba814cdaf0e2a8d4c7d57b20c0e68cd78b4f9dc3429f3c6e6cf6 |
|
MD5 | 27e950703da888ba9933e94276ea84db |
|
BLAKE2b-256 | 2c14fe30107089fe1ae4bbfbd68ae363737db6bf6325927244121d3789317681 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401121704620238-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 382c7a98a931eb53cc0673cff86f9d3539fdc8f46a86bcc1cff7fc11548603ca |
|
MD5 | 7ca595aa792806c57e574dad3c6d8d2e |
|
BLAKE2b-256 | a090161198b9bbc370beb4b719e8ba2f19f49d9ad2f94932d16029a672dc8321 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401121704620238-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 909a4da43c5a8f89f09237a3705b939b8963d79ad6b46942e662f1a22de5cd18 |
|
MD5 | 0559cfe4318607df3d2af77c08734d02 |
|
BLAKE2b-256 | cca07e2c3d426645482864cb705722f6dfc5f080fbc62d4c1cb024130798480e |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401121704620238-cp39-cp39-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e3242f63b21f844fa14e66160b2ecaa1f19e93abc2fe32eee3af5dfdccfb85d8 |
|
MD5 | 71de0245888fd538d9ec43210ee75dc3 |
|
BLAKE2b-256 | da31706167c2171a027da3f572f291cc0a80027ad206dc47007666367293a714 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401121704620238-cp39-cp39-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b7f4cac564f5f5bbad6746a6b05ed14ae6bb09e2037404f604e2bc4ac2effc38 |
|
MD5 | 45fa60758d54849df2ebd2fcf462ff6b |
|
BLAKE2b-256 | fc77b6f6f5105826df3c419049cea6466797cf9752517a2063bc0de9e0351392 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401121704620238-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0c1ecb270476f05514323cb30698a6a4ee9a28855cd59d04216df426bd25afe0 |
|
MD5 | b10b994512d8c124de1294794111fe17 |
|
BLAKE2b-256 | 4bd3762315d7cefc07fae35d10701a4ad3af29d9136d2d3c0537564c29f1b64d |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401121704620238-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7d300503e81eb4a474f205cec9c32c6bf93182a197b7e197a24dff0cbf273e7c |
|
MD5 | 0038a3fedfdb74fdc0572cdb5218e9ff |
|
BLAKE2b-256 | 4ee33996fe63c374e018f6422cd90e4688b1b05ef0ce1bd35abcf3563c9e7751 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401121704620238-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dbcb2a6bcc1dcf5656f74686a70660c91789d6208f42f8fb0cf3c0a22322a626 |
|
MD5 | 8735ca119c0582814095dc90cfb91841 |
|
BLAKE2b-256 | c0c3d89509b7e4e8553c0040fb11aae53bd73077eda12f67cc49ec60483934b1 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401121704620238-cp38-cp38-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 207177993ff544cc949ab3f2f0ce87e0c4bbafae9a56b7de0749e2330fa2ea45 |
|
MD5 | c4330981098806f7753596eaf357e530 |
|
BLAKE2b-256 | b701604b2dc5022b9f38609d6a04b4456f0a644469ee25d8f940d69dcdd453ef |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401121704620238-cp38-cp38-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7ea753c182fb6aecd74aa7f3c68988ed42d8739e8270cfac505d17f68ec6bea3 |
|
MD5 | aed06e82f0053f8fae318f7bf39f8f67 |
|
BLAKE2b-256 | fb27b17909d8ac3bb1ab295021a8e3e65e1df0b1429c1c3cad9a1c7e28997cd8 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401121704620238-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 55fc472df140610f4923c1c1d560c0895c7cf2b7103d6ade10feb56167cb1d84 |
|
MD5 | 4cfd8a20a49483d657459183fb30f3c7 |
|
BLAKE2b-256 | 037e40178bc6da16646badba41b321ce8253e63f4fefdb56530d942c71808348 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401121704620238-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7143a6cb57d5ca2fac044998c805f114d109e11616e84a109b4c8d96f38450b3 |
|
MD5 | 71989a69caac65a171d94f5c93c99510 |
|
BLAKE2b-256 | 053b81116590c6e98f4285cad0f3a08045ac72367c18374fc25bf3392132ccc0 |