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.dev202403051709417054-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a57bf084f7ee6661d0f8ad9138789d30fd1f93ba8b6474a700563b1f68bd2047 |
|
MD5 | 5fde8a4d9500b4553463f688d7814153 |
|
BLAKE2b-256 | 0c373fd59ef8f29146dd7a161edbeea00f9a2615a924bba0412c8e26b9fdd1d9 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403051709417054-cp312-cp312-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 22fed8e050a723d2cded571101a6a4d5bfaf3430967aa5f12eb83a09c7b7eb46 |
|
MD5 | c65940bff708e8c1a8eb66bfbbf8b2a3 |
|
BLAKE2b-256 | 8ec2e25c83dd625a30813b5ccbddce3fc9ea0235efd887002d71cf1d0d7b8ae8 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403051709417054-cp312-cp312-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | af03296d4938c2d851dae405d4e0845c79dfe3e490cfc02da102ff13b735b2ec |
|
MD5 | f293562cf3325707c9506de54714ad3c |
|
BLAKE2b-256 | 7f9b7aaacd49a4a1006cc8bf0692836c44ac01768120e145f0b9dd41d7ae1e9a |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403051709417054-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3acfd8062e1036907512d78c5e5552eb03b88f0c93efd2dfbf0e5dd86feea5ae |
|
MD5 | 3ed7e9cbac2fbca02a2a6224b98f2687 |
|
BLAKE2b-256 | d5b2d4a48a81862b5324048842b1c4e4e99436125d88ae6c62ef1af32c806307 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403051709417054-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 636e990be1ffa3aaa8dd39e769a50bd9a5820dc89770ebdf78b73f4f45d7c602 |
|
MD5 | ca9abeac6e815e6eee8dd932456f6521 |
|
BLAKE2b-256 | d89da6558113c81c4401bfa9a06674bb647aaff239c6c369709f381b68032452 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403051709417054-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a007422eca5eac0eec13052b21ec41eeef3aea58976f58d306d54487cd645557 |
|
MD5 | 409e7adad0cb0f6cfb54200e9a740702 |
|
BLAKE2b-256 | 340922bb8c1fdd0e8c61d733cc48be3fe10cc6f6f6ef6c11d9b4009463b0bf93 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403051709417054-cp311-cp311-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b7f41401716225e1176cd84721569e8a2754a784c0d77f89f30ed9f7a00a3cc6 |
|
MD5 | 2b59206781689634a43ab67db77630e3 |
|
BLAKE2b-256 | 1a19a52a172752cb6ffc9a21c79e14e631e95104b58fbf215a7c073012117246 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403051709417054-cp311-cp311-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ed42bc0a247f1f7b99773aebe170fa3c1e43c32ba9ab7f3d9df6fa6683f2a480 |
|
MD5 | 3f3aa080f9e40cdaef1ea2d966bcca9a |
|
BLAKE2b-256 | 7e08e41436c880bd1618394c562571b8d9dc9466bddd42cf881298e5dcb9ca1f |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403051709417054-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 02d2b6bc67bc5339865ec938d13b9178921299afe58cbce7b13f98dfe5eba19e |
|
MD5 | 4c96f6939e78aa658d768e62d5012320 |
|
BLAKE2b-256 | 48252c9fb27f27bbee901def18613c65dcee5f6d5299194214370b4123da44c9 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403051709417054-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 25e5d08024732dd1beceac7aa62506184e92d2697d33ad1fecd77de217d945df |
|
MD5 | ef384301bc6ae85d52fa0d8756198455 |
|
BLAKE2b-256 | c375a6b5d0d9be83d3dd4b55a095252de1d9c3b987a329e0fbdcccc01111ad8d |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403051709417054-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 06f1463c8ee4af47aca707631625cf074992c0e21fd4d27817beeeeab7aff122 |
|
MD5 | 31d6a8796470da8627fb9ec3a24737c8 |
|
BLAKE2b-256 | 4839762e7b67167bed2c03cdfe85084b42714cda5253a33e1121bb1a6ccf911f |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403051709417054-cp310-cp310-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a468e1da40455b4a0ea6234eaa9c3e1ec936497710dfa203c85999223abff833 |
|
MD5 | e7d62f22e91d1aba696428eb839e4ff5 |
|
BLAKE2b-256 | 1678332c4b787093166bcf9ae3731f6f56de8c0ca2b9d8e5bdd071644e53c376 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403051709417054-cp310-cp310-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8deaede2a2209b1e67f3d8a887c054daa18882c3b1485b3fcbbec4ee195c7e0c |
|
MD5 | e397a3522c0ad96e1894c425c155947f |
|
BLAKE2b-256 | f12dc6e817403cf0d38947e8719144f02cea25ff6cd9531653b5ba88912d6ff4 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403051709417054-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 874e37470517065db244b44984e63d710ea9227dbd4f2dd0b0789f61b313f544 |
|
MD5 | f1bb4852bed1d1af0712e1e55a87768d |
|
BLAKE2b-256 | 85cb954c498350eba9709f1e1e6990e8bc0c3d46f734c460c821e0f208580aaa |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403051709417054-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4b8d5d0536b1b73a24529f8b443e5aae60bb860a79dd53cb5d6cc0c5a2d0ec88 |
|
MD5 | 59dbaa5b212b3581fd2922166dbbd3e1 |
|
BLAKE2b-256 | f9f28178ee8c30c7040a4fe20af21f6df497abe76f2961914ed0cd321c8a444b |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403051709417054-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 380b32a5eed1c37271ec334e70be3ee8ef8147bbf2a7d5d1516143f0a8f7d143 |
|
MD5 | dedea49ca6ada6b9540d81910be9d671 |
|
BLAKE2b-256 | 76d047e2ad65a8743205a55df5c0167d855daa5b612a03eb078576a9a6672c50 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403051709417054-cp39-cp39-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 05d6ed34a74140859b0167c6d926f9241936c8f8895f3aa2af8842f8a79d3e4a |
|
MD5 | 4d381e47a488bdd7fd57f7399e179de7 |
|
BLAKE2b-256 | d7e405e146a275056b2bf720d294afcc4053bf4aa7f943762e848b4c433b1afd |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403051709417054-cp39-cp39-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1f1beb6bd5f120e4e8784b5f891f93916c857d2884133043565faab00c28248a |
|
MD5 | 30b384ca1ebb7a388ba72d952bc6c875 |
|
BLAKE2b-256 | 6437f17b33588c867315f20239538925233f422f52d9b41fd854b7d354d9e36e |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403051709417054-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8d1cd6de2e95e35b08d44e1c069a7d3cc82cff47eaa14a2d1b216b72872e8397 |
|
MD5 | 84e75f5064925a292a74230208f04246 |
|
BLAKE2b-256 | e0da61c05bdd01e8ee47c5b912f1e91ab79bd64d049276fc1a5c38eb7ce1517f |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403051709417054-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 55dff1b1595a1a26638f2e1c341e5991febfee666c48676fe37f33f04746769a |
|
MD5 | f0e9919de698108569db89d71d02a270 |
|
BLAKE2b-256 | ed434cff88478c28bfd74a26818d46e59f2832808c5902102ac64bf590028a21 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403051709417054-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5c16c49f1ec3dc64e23d4310479bbb1bfc030f81e69fa3244d0436c1949bf798 |
|
MD5 | a6f9e1423604668429168226492b9a15 |
|
BLAKE2b-256 | 9238c7598f495cfeb63c0b8a17ea51199ae623fc3a30d8e31635002b013f158a |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403051709417054-cp38-cp38-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 118c2b661d4dcb19f7ebfe33a785e3ed248152355704628d36af3d100ab67d1a |
|
MD5 | 72108539ca9f93e7098d38626489acf4 |
|
BLAKE2b-256 | 6ddcbc6bcd5053db90f81b2ea16413cc9aa8cd4aeee0992276b2d71e4c3f73e2 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403051709417054-cp38-cp38-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8a63ffe058f3a48f42b39390ebea617ae815e52a56927c8af9d6d65045ea445d |
|
MD5 | 717ca5c54c1efe0c0f41dac82403d8a4 |
|
BLAKE2b-256 | 8c12860f46ec14e77989a10f3d252c9db2b9868c9ee39af424220fff070a27e4 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403051709417054-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cd9f40cd644b5a2a1168e9b552cd25023709e7046199b8e91e73ac11aa775b60 |
|
MD5 | d8d61809a9f652d7e19f62f3f86c28ec |
|
BLAKE2b-256 | 20b52b29da4dd053014fa690cde9c1cc4b4d5d6da59ab35b419e4ee7830a6424 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403051709417054-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b1f225016646c902ffb792695972169b3504fda6cfc12c6ef2d6febb8a3ab983 |
|
MD5 | 7b034ff3d8d1a9f1af0c46101b12fa07 |
|
BLAKE2b-256 | 63feda46a4734dd77f2b8283616ae6f265976eb219d279e1cbc3be60756b9536 |