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.13.0.9.dev202404161712167003-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 748aab29d0de8d1a58c3dd6370d1726a88e6da50a67759a2c195d6b703f1251c |
|
MD5 | 67ea4194ffc925e7a08fdc2f8d43a07d |
|
BLAKE2b-256 | 4208dffa93b6ce1fe54f4031afc97299ca144cfdfa517c6c47d0e7262f328249 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404161712167003-cp312-cp312-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f71bb1db760002830e2c7c26774daa904e040704a05a88d2530ca6916f7a22ab |
|
MD5 | 7b5c4270a33f99f410bc2177d7e05364 |
|
BLAKE2b-256 | b9b801730b1ffb945d3842cd586c9bb5178c1dc0846c849c78183e4c1e60b36a |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404161712167003-cp312-cp312-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 34ff3e60936e8e26670e854fffe87552e8188e605972fd53c82bc8cc670b6556 |
|
MD5 | 139649c0663d1dd6c75697d5b5afaca9 |
|
BLAKE2b-256 | cd78d5b900c121a2aa3c4eacaa5eb05d3275520f0a4f05177cc465a9b5c1d6db |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404161712167003-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a599e8a197a6a71564e762526cd80ce5e5016a60c6bc86d027d8f8c91d283e18 |
|
MD5 | cc8aa80464d5a9f79fdafbe8a3d1695f |
|
BLAKE2b-256 | 44409a272bdf627f3c58d5156156dba77a766ed33957940aa50b138a9431df59 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404161712167003-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 95e8d79d146cf57148c66088a479dd1baed5f659d1396edce5b6d77daa749340 |
|
MD5 | 7c00b91af46886c1696ca0d9caa0eadd |
|
BLAKE2b-256 | 927067f5b1bdfa899b7f23307e50195ecc7c744fc60c51263658929996ecad64 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404161712167003-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4779aed0a79f3aa2f265776c37d27474d029110767cc4de9ef4c87097f438c1e |
|
MD5 | fc946d5b4fe7dc95ccb40d7a4e43c551 |
|
BLAKE2b-256 | ca0a2bea2d3d8944f2232631b9de264a42a60f385fbc50892462b3ca3eec87cf |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404161712167003-cp311-cp311-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5b204712ede48dabad019c65b901225d8c11d474ebd2816fe70dc27df0bded29 |
|
MD5 | 32d38cd9198e7a95fa6087a8bc2a64d2 |
|
BLAKE2b-256 | c487483af1da7db1408a4d896af9fa121d48ff7153654ee8982c186f5971867b |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404161712167003-cp311-cp311-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f0ff3d0530fd383470d05ce9242e8956c4ad28257297f04375bda75f68e3a925 |
|
MD5 | 5862d739658cddb2fa29537330460e89 |
|
BLAKE2b-256 | db3dc2a93a7889cfb9a2490f936961837738a1baadea85726c847fa659bc411a |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404161712167003-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c1d5ad84958871326556f54d87251444f8b426a81656954c05789bb24ca1bf63 |
|
MD5 | 9cce7d380d2791c640bcc8dea51c0a6b |
|
BLAKE2b-256 | 258eaa1291cf048916f7dba6c655ddfa35466896c2f1ff07f53c3e3fc8f8e8ba |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404161712167003-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bdecda51a630c9fc49ea445ffba37df85fc66dfa999b4fe60b0902c3770b5de9 |
|
MD5 | b4afc05ebb27376eef91332e7f55479f |
|
BLAKE2b-256 | e2b79548b1d6797c2f203106e8c8cc89cc0e6e169914716688598460594b7d08 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404161712167003-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 309682ad84974309b3138f47271bea312a8efa6d9b8c0e9617a80ab77ceedcff |
|
MD5 | 386c63cd5dccf9de5a65902cea4abce2 |
|
BLAKE2b-256 | cf421a1cb5e6c3038ef17e2a7fea72393f3c54dbaf830284ec64da80a2a732a8 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404161712167003-cp310-cp310-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | db9f495a494037ab344d94aade2fcf887926eb8206907ba54d8169e5ea4617d7 |
|
MD5 | 58bf285c589cb86e697e33c7c5a676ad |
|
BLAKE2b-256 | dc5d6f8c2bef6f7efc76629af86617c30ea472b90717d8682218f1b09e7ad4e3 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404161712167003-cp310-cp310-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 43f334a93eb1018ea6ea850670907e8aad420611782f5e1b3e687b0d3afd155a |
|
MD5 | 0e78d246d55b5954877ffda54c8b61db |
|
BLAKE2b-256 | d7d3d11f2b7bdb9a64b02adb79a2d0d4a7fe3c4feb09bcd45d0b36d467b52dc3 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404161712167003-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5c1c93c7b2a9e64246c2d76ad73a98d05aee6d80f621b670beb0f3b1881f51fe |
|
MD5 | 096e1a2ce93499d479be1cdf87711ab0 |
|
BLAKE2b-256 | ad0787ecf49ef4ab282dc92184e5d0b3aca7bebc7b94d574c79589e9bb36da0a |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404161712167003-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 25aec7e0bd774be90a4d1edf4e2bcecb914cfc117f34ce76f54a4c2049e50e25 |
|
MD5 | 22cc4d80eae4cb89e2dc618610896490 |
|
BLAKE2b-256 | b07cee35eaceabd6c10d9c0cb9b915f3766c5f84b18914b4aa32aedc1bfa4444 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404161712167003-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | db4430f20b977d91a4e3485fcde293e5d4968780f3e86fa2b0681ae7e00bcade |
|
MD5 | af80d0322747e4d2cb7b287a571b0494 |
|
BLAKE2b-256 | be5aee6681bc3f0244a7ff5ffd746aefe1bc5b73bff4464758de5f491bbe76c8 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404161712167003-cp39-cp39-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 09dba010495ff17185f30492403bd7074eb3a21ee37fa91b2f527c4d9008b1aa |
|
MD5 | 8d016e8dc4da1a045965b3d028e01f3d |
|
BLAKE2b-256 | fb0605068c0051c345be58bc0c92b9054e456cd000c8d9c812ed85b45f007161 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404161712167003-cp39-cp39-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 19a868074a8792a17a548c5c749a71e8131a9d3d468ef2f77b77d16c31df0526 |
|
MD5 | 3a1dbbf82bf3bbf25254a6a96a55b458 |
|
BLAKE2b-256 | f0c71e1353f81ae852a50d3d2710964ff3f9243e50352438117b777c78d721c0 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404161712167003-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3be45cea238770e78e5e4f32981cb8405490504b26977b5bb80a3874ce2f1525 |
|
MD5 | 760877c08d6907884011e70ddcca713e |
|
BLAKE2b-256 | f85ac502e59fba3ffb3141f7637524ff0906a3d13e63c34e79aacdcf905a4e81 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404161712167003-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5d100b60747116b951992be1491f9d349009a69d1b03a1ab6aa4a977e5bede9f |
|
MD5 | a662651e4d064683231d4a95dec14837 |
|
BLAKE2b-256 | 0a1284fb6282dcf28bc43e44db691159fb9b0d9d3ac85dfb133b6a1a13fcd2ed |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404161712167003-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 25ec320bb899bbd4a2e2f27366072c495d14f38d69d25c36a2e51da7c6bd1229 |
|
MD5 | 00ed53a085ae079cfa6a9b0318efdd86 |
|
BLAKE2b-256 | 72e29c0c0b7032c71dff5005bae5dbe6a7dcab848f365cf3b90143dd15338858 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404161712167003-cp38-cp38-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a901ca9bf89295db955fee17b6af8fe2a86a5cf82435ed6bb839fea8348fe0ba |
|
MD5 | bf4eb422fe7d58df00c609f6a84ab06a |
|
BLAKE2b-256 | 58b23fc9f0336738bf4896fcd4fd9df3934e3fae40c3e2e5fea8f524b1a878ff |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404161712167003-cp38-cp38-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 648329c2a6adef8454d48188f2819f97c98daa859604e7e4081449b459670c6b |
|
MD5 | 27f7f29c50a6e182d215a1e423954aad |
|
BLAKE2b-256 | 2998113d9a48b7b567df2ac2617ee214c9298b2279414b03fe2cf1215eb9d299 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404161712167003-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 72adf20d1a851f20465b2efdc1f9d4f190f4699f7964a786fafa1f4833fdc37b |
|
MD5 | e23db624d81aa7771a5ee7fdee370083 |
|
BLAKE2b-256 | e8a9021090108398a0621ac3cbe82eedb570e546307debc6ff3eb88ed203b2a8 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404161712167003-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 11a4385b9133b2ad8a01b3ac269661153fd1dcbe98cd3753f6dc3032b24e8e1f |
|
MD5 | 3c20f616b5085f167a500ff9f00aecda |
|
BLAKE2b-256 | 1ec25af0877b0bdea9ddbe74c9238a591be1455065f3191bf52b04f573778bdf |