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.12.1.9.dev202402211708115962-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 22867d1e843081187e793061d57a0681f5fbf449c0034abdf6563e4e86f9db81 |
|
MD5 | 462d51fec8d3c8240440b2c1a6b0c2ed |
|
BLAKE2b-256 | 2c08fa1faed74b3c6afc7d70064261adc924786a8a67a66ca5c0e2b47d5a8c52 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402211708115962-cp312-cp312-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7f0a1a8a6e1d1d51a5fdcb75e000b04fe93d8b923f104fa240c7ad92d452477b |
|
MD5 | 283d38e47428f0e6e09402f9888c33bd |
|
BLAKE2b-256 | f918d0d7c7cc90e489010557bcba6cad420d23a34b01620f6bac70ae9188a829 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402211708115962-cp312-cp312-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5b3c6b2af6ad00408f2df160dfe72fd9031ebad11f08c8a6cfa050b0786c3bcc |
|
MD5 | 9be107ca4a01324485aa54e92c1d570b |
|
BLAKE2b-256 | 5d29215448a3fc7be6a0f831f756ad50e90cec3a9169d0ab391d0d2b6505ca78 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402211708115962-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 24d210d433a46aa6a9b20246481182eb8cc7ccaa7dd095d8b1b9d6f2d05c2c14 |
|
MD5 | f44cc7ce95c608e376066fa75ea13418 |
|
BLAKE2b-256 | f285dfc3bd0ee64572de03cb3cac2de3625a8ad23734f5bda7ee76f2a23d7262 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402211708115962-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | da1741fe68d7cebfd5d5b9de2169d8695e9d124510743e6b5e6769296c68488d |
|
MD5 | 8e8b1c7338e76027e59987d801f76fde |
|
BLAKE2b-256 | 0f668dfca4ae996ecc4271645874222947a8be5af539f0d0e3dd6e031006321e |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402211708115962-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 717a2152a4b0de805cec8903319f102f955a039a38c7baf21529e1e64e35bc50 |
|
MD5 | 3fdd940937d782eff6baa83f7080320b |
|
BLAKE2b-256 | 59458d2c9b444a1f82f5064a105bb344dd01ff24cddf66c82ebf01e495ba82c6 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402211708115962-cp311-cp311-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 91a065d93f63b507b8c2aafb9300e4e579bf8fb8e3231f08999954590ecddc6a |
|
MD5 | 1431caa2adc24a7a71818f4e15469f6e |
|
BLAKE2b-256 | d6751439add1d0afa1e98ee52a4ff0153226e5384d27b6fedb4f0d4d040a0a55 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402211708115962-cp311-cp311-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d8434368d7a1dcb793d0bf97ffceb40995ebafe8f3af7b0a019aa841d4dc4b6e |
|
MD5 | faf1600af12b3b8422a90f7386b366bd |
|
BLAKE2b-256 | 6815786197bf15647e4089d05a81d015c133fbc23fc9f729b7b051b706d96f8c |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402211708115962-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d3604a542e853fcdd3364f6b85b3651bb44f38884a939496d155ff2013ad6e28 |
|
MD5 | c5615fa6ff8d5c4c48f6c6d8baab595d |
|
BLAKE2b-256 | 033928192a8ee9d14fac14d8f4d5db37c3286a9004896c20b26c26d5da16c449 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402211708115962-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1ebd1b4b046fe49caeafb76c596a88f5775b72b184ed338cbcce773a0d4180c3 |
|
MD5 | ff0bd5446f42a8d21bd52666051224b3 |
|
BLAKE2b-256 | 536f195b558b2aa107087661bee7d566b0495ccce7b626b32c6bef3aa85fd2ec |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402211708115962-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ad495a11d702c205633bafd9f95ed4922ecee89d92667daa64d1affc8e6314a9 |
|
MD5 | 7a48250893d72b961bafecd5e449ea51 |
|
BLAKE2b-256 | 4d0dd1ad7729d320fc2a1507fa602f52019fe908aa5da6e94e7827fc588a69de |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402211708115962-cp310-cp310-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9dd2bf18152ffe2b5eb4c61854cd327874d4c3acbe4b89bc077bcbd145350f74 |
|
MD5 | a8b6c5d49b0c2a9a2b4a99700cc3e0c2 |
|
BLAKE2b-256 | 0cb9f718b170bd49d4e83552585b83548bf8501397c5438a9dec25a905008efb |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402211708115962-cp310-cp310-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c3efc320a7061ae28c822c5ad35557c964b946be09bb4446ce0f008e724ed698 |
|
MD5 | 9acaa30bb3a08f708e05d8da0d81448a |
|
BLAKE2b-256 | 599bf01fd3c8b466048eb8d4c8be69c8df398b1995acb0e65b8c84dedfeecf7b |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402211708115962-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 85c6dc1d93788e746df2a82dbeb1f725b3d7831708a369af0442a62442551f3c |
|
MD5 | 82732887ef303598d1eea82251280d42 |
|
BLAKE2b-256 | 5b635622e38a86542ca28d15823ed82bd0a6fcd84ba46288014642961af06827 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402211708115962-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | edd7f203bd92f51fbf87ef058a3fffe5f8d08beaeaf6992e989f5f0622ee4320 |
|
MD5 | 4e051a7328ca4a2957b26be237a08585 |
|
BLAKE2b-256 | f8093eb5b1df7996f427c3fbe8b98755ebc635929deba0e385c9f98434af5c63 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402211708115962-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1e067bcfeda2d34d293b4fe0828491035e7ba6965921df4574a8ea64a62618e0 |
|
MD5 | 6e94941a93b45be1315195bd81a7a2ab |
|
BLAKE2b-256 | 6c049caf68953174659b939faa649f0cae206f34090ca4f0c3827eb2be357bf9 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402211708115962-cp39-cp39-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 871419a9915485e165078150f59a2187c3c41e1e7a45fbf5962e34834eb54c91 |
|
MD5 | ca9910e157afbff929025bef03333ab2 |
|
BLAKE2b-256 | 740ada43d41a71895ac58dd39c213b9223c68d7a1bbcf1eb8c10a49f8676f492 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402211708115962-cp39-cp39-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 01e71d7106c75c5115ee7e2ea146343878b1625c0bdf54aa149f2d66f550ea62 |
|
MD5 | 716a1484609ec1ea95725afde7597321 |
|
BLAKE2b-256 | 62a9a0315a701458c8bec4bcf9ca904bc5244e1f02899e19b0a359cc1deb68a1 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402211708115962-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4e68474df85fb8b0235af3772196b2a6a2a4c80a576e91e3f3ea23a590bd27e6 |
|
MD5 | 11ad9bd1f8406f4d119167556180e7c2 |
|
BLAKE2b-256 | 625d8d1c491186060912743877de146eb01c14470b9ae67afe41f9978e166d26 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402211708115962-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b15bfe0afa1bac7407db13c25d7aaef506f7a5b872cc43b9fd028b0f66cc2c12 |
|
MD5 | ba061e0512405259aec1d5eacd2cf50b |
|
BLAKE2b-256 | 508cf1490ee77e193e5730d263c8b8a0084fd6f7738e6705911ad3966359de42 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402211708115962-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 01b8137265544a7c94a09f8d644ef69fbaaed7a1f9e76ab5907f663c2adf8998 |
|
MD5 | 90d8de8a0e0b1c99468868ba2a6772dc |
|
BLAKE2b-256 | 3f7d0bfb5e6012f7c165172cfd0020a3a494a9dc8138030c46c9e7de3be8d24a |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402211708115962-cp38-cp38-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 085204807721f1d946ed691d1148c4193a2c29acfa8e2eae54bead5395c25e04 |
|
MD5 | 7ce5be1f26e8a3a6be66e878859f0ba6 |
|
BLAKE2b-256 | 556c5c0bd16fe14a5bb59709fd52791241be075f4fb4dc613a7d3b5c1b722471 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402211708115962-cp38-cp38-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d4d3f59ae41a471e13a4bd166ec032d5548e19622a5b8aa46d6c00070fd11316 |
|
MD5 | 877a93ccbf7afd82e1cd0b1368286086 |
|
BLAKE2b-256 | bfaba5daccd2dafacad08b29b005f5aa6b93354b1d1a9389fd830df6ba77f210 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402211708115962-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7b4ed50f821a4c8c3e9f5a57f476f968cdba1fc1deb6e03216aaac213af120d4 |
|
MD5 | 3cc72d9372e0dd0500879fa282353cad |
|
BLAKE2b-256 | 9176393edd4dac26e3aaa16e33de0d69c41842cf1c58a403efa6e4592d1ef386 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402211708115962-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 63f5464ff131260af72b8cc31ff4e42d17fdaa0feed50c7bb2046b5012a8caa7 |
|
MD5 | bf4d20c89a511f609685387e4961d939 |
|
BLAKE2b-256 | 6e2f857acfe15f0d44b8bdfe66bf5b63d230c3acee383d74dfbab66f2121d3c9 |