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.dev202403091709747362-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 32adacc605b82afa7876808c42978de4ccb20504f279f4c8242e0e3021c7eb7f |
|
MD5 | 57f2c9025336b06768237c8e1aae02d1 |
|
BLAKE2b-256 | bda4acfd1fe3d957fd99d8a082a59a775cb431bf7e27d5a79e45b73c4d032c69 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403091709747362-cp312-cp312-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | aab14940ebbe8528d9e4443e7c415bfe670129c29dbc8f184955b19b3071c8f8 |
|
MD5 | 10a516ae2b128d52955ef561978d17a0 |
|
BLAKE2b-256 | c61f75857b23f2a6fa469a5d884637fdb5c7894f2ea1593166359e1cf927941f |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403091709747362-cp312-cp312-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b9fa4188f8d10b8efa1fcc509e78b98b354ea7bcde8b6e6685dfab8d954d1049 |
|
MD5 | b60eb8ec9725859666f749cb016bd137 |
|
BLAKE2b-256 | 38bcb7fbbeb49e6c85e72f25d77b35cc4f11e44dcf157752ea66207a695b560a |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403091709747362-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2be71ba1dc965b04e098f632cc668e3516a5fe393da52cf270c8e423607fd782 |
|
MD5 | 1fc06f3ca96c156b7beced7b08fd6c57 |
|
BLAKE2b-256 | 9ec948473d5ae15a2732c02aaf7ae1cca5f2bb9e967fc526aa8eb15c675f065c |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403091709747362-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e3b79cb65489268b52f4d0e020af152b56f5bcd206a10b1804b748e3fc67aa0f |
|
MD5 | 359e4d1be67dd97abc4a29ee9fff839b |
|
BLAKE2b-256 | 760b6a587472eb589b178dc3d8b3cb29c61a5c79dcf46a15526cee4d58529dae |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403091709747362-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 74a9d8174e6137d83e3c4cd315da75ce53f5ce03a5fc10b6e89814e1a29e0303 |
|
MD5 | af071a69d58703a67a90df4864930428 |
|
BLAKE2b-256 | 135771d6dbe0ca6c069c9cd804740657a3c9b4ea0795d03f725de79c31b4b106 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403091709747362-cp311-cp311-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 57cc7509a93e00d5220b09453fd7edef35bb8ac2a1de9f9477f30998b7ad6866 |
|
MD5 | e819782f872ceb9af8d35723f657be08 |
|
BLAKE2b-256 | bcc72276ddf3cb2e3472458ebd815c18dd43baa000ad72c13d044fdfafbbca9a |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403091709747362-cp311-cp311-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a5d97b4a0a43b156a4fd96617952fc92331b1a05eb729ceeb051b7f150395010 |
|
MD5 | 3057c6bcf553ad146d28dfee01b23641 |
|
BLAKE2b-256 | 14e3af06aa441fd8cffafc320108666e5d173e0415c0f506d31396c45872b940 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403091709747362-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 83f197f22194e6088d3a673d2de417d8c03ccc7f4930bc91a96a7c292939d728 |
|
MD5 | 5728949430396857ae456ddb5b314328 |
|
BLAKE2b-256 | 02dbe115b964667711d1ed187d7120bc55c64b68696e9f07d0f0190c36e2d657 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403091709747362-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | da453312f0104fbf30f93954305e022f47eca32dfa192dcaf13552df82de0ab1 |
|
MD5 | 1d80fdd49f5f530e40e5721c8eb610d3 |
|
BLAKE2b-256 | b2859bb1a7d26adeed6a9b6c2824a24469930f2eefbadff7bf250b643e867c1e |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403091709747362-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ae438dc6c36eeff0abab2d84c4827a92c62afd3e915564fb8d76594620b5086b |
|
MD5 | cd9aafa0af543bdf28fc04cca30b86f8 |
|
BLAKE2b-256 | b4d621d5daba0ca6fc6b67ec41568dafd5eccc3e76f791351e8a3d250471b244 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403091709747362-cp310-cp310-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5177ded188ac105cb1097b30180bdc814832aec9c3258919ed57f26b103418ce |
|
MD5 | 88577d00c172a22a41c438b21d58aa56 |
|
BLAKE2b-256 | 2200d6e40acec115a866d52ebb83057fe261a9c29d9551fad9f071885514ed25 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403091709747362-cp310-cp310-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3c0bd91110e49a0a51e696fcfe07a88cc98bdea911fba8ae972745b6c1888f23 |
|
MD5 | d79854767fab9484fef7d5bf57bde3c9 |
|
BLAKE2b-256 | e8075c675ba8c581d2fdb76554243fc9a9258124bd05d5e28809032abd91930c |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403091709747362-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2860448ffdf6d1c63301e57f245f52e028bd1251e9a01624689f1ab51d3985c1 |
|
MD5 | afc466fcad77e3b08a450a1c03e7c0fd |
|
BLAKE2b-256 | 528e01ea43e9dc860e268b79337fcd50543f48daffc86639bf295a9e00ed901f |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403091709747362-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6a7a40fa72bf1747d5408a8f036dd8a754fbcede273711bae0de73dcaaf258f7 |
|
MD5 | c78a95690aa5b1612327841ae1a35829 |
|
BLAKE2b-256 | 97cf2fe2e149178700308bfb74a24ebbb7bd859291e3dca9bebc2271e33e9e90 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403091709747362-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 45e6701c66616bbdc034dfdd580d403a20ce1afb99f3dee3d6a4058f093c844c |
|
MD5 | a2fd376790ad8efec5f89e843494e123 |
|
BLAKE2b-256 | ad52e922995f2010d142d772e1179e64c7d2465bff315f1f98042e5c98392780 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403091709747362-cp39-cp39-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 43d0383b3a27e949b08df3109103f403b78f0ec5b9da50f8452c762bed205c7c |
|
MD5 | 7986cfad5faeaa3284cf7df41219e648 |
|
BLAKE2b-256 | 8330b174b7322b3b5fe90b0bfec0861872a2a6152ada7b1a139aff8a08f3789a |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403091709747362-cp39-cp39-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b763b14646458a76490c8a2f59785a6a2580f53111f808bb83c62d7a22f2bd30 |
|
MD5 | d92c607d934c7e36608e223803f163b1 |
|
BLAKE2b-256 | e7db06f585946f9960fdcb7e9b97419146798c661293aa04ad8e67b1c203a336 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403091709747362-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0dc7de70b835809fdb6f4006c619d3a0f60ecbb3e3dcea21f7e86a281e568fcf |
|
MD5 | 568bf2c90a19d5c4e8879abbe52ffafa |
|
BLAKE2b-256 | b56867b0182ee5e3b28188a144f23350106e9dc6187a308a642b594cbb33b04e |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403091709747362-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9f5986f068dfae2d61144b60614cfd0bef10ac0d93e643a16d58b49a66988ba2 |
|
MD5 | ed4e9788a291c589390b1f4541677acb |
|
BLAKE2b-256 | e3c97f7b59946ee14f17b73320693d58ba2def496ff736a8a87f17d85c9b42e3 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403091709747362-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cfc084a5f4f3548ee3c707660b418c6b2b2733e38f9cd7d1f977e50bc0986bc9 |
|
MD5 | 75204a115c314324e791fdaf4d23bbf4 |
|
BLAKE2b-256 | 99040f802fe00c0f2bdbe909d2fc322e3398e7fdf0bc1647cc2bc8a2fcbde2cb |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403091709747362-cp38-cp38-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | aa75b78c4af0c07a6c7ccaef8b7144693b44772d9e8a3d18dd1ae868b0f37bea |
|
MD5 | e0d62b7f26de340e81731f0d7ad337f9 |
|
BLAKE2b-256 | fd8ef1547ae59923960c14a1cbc9002a4a9b11a99428cf2332a01276aad8a57c |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403091709747362-cp38-cp38-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d5a6f09373fea03bbe22faa433b674dac6808f2235a615842c85cb8553e167ac |
|
MD5 | d76df513cbf4fd37f1ff0733a09bf96a |
|
BLAKE2b-256 | b4434ddc1d20ae5b24674a24dc70fb6c0870ad2d0ea1d33c850c76f86531fcd7 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403091709747362-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9dc67b1bfcd0523a007d56715e297ded11c58145721d9a1445e18da2e3e5091d |
|
MD5 | 49585a2362a2eebc6aa49af5e84d0bcf |
|
BLAKE2b-256 | 4edd53cdd09e33f32cb96fbd85bc251f52c164729b4b49f14dcf9b7753b87ffe |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403091709747362-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e3a4785836aadbbe3667af011a6262aab58fe332c9ec1744470537055520129b |
|
MD5 | c0d340b487dca77d3c6ccf107958ce10 |
|
BLAKE2b-256 | 08dc92bc124e2d95fb7a1fe45b006bda917be8d7fc8ae987ad3c0c841b86dcc9 |