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.1.dev202404271713370971-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8e57ff948ec8d8ebc54f5958dd4f42af7a736c2fe3ad9101a1d9f0a4b0891a58 |
|
MD5 | 45e6e1b9d1552e32374552828aefbb72 |
|
BLAKE2b-256 | 13ddbae9195ef51ea4c54d79c3cfee3b3cdd95784cc750765bf9bf6c6d7ccd2f |
Hashes for pyAgrum_nightly-1.13.1.dev202404271713370971-cp312-cp312-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cba2a8155be10692fd9d937119c21852d33d6830f7d6aa9f04dfcf9ecc7c5a1e |
|
MD5 | f3b19bb1e3b8f7195ff116a9e940ef3b |
|
BLAKE2b-256 | 621f8eb05130291a2269610a6255881f231080b99ad64ff947a533c4dc68c3ec |
Hashes for pyAgrum_nightly-1.13.1.dev202404271713370971-cp312-cp312-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4e9df0f9e0860586f67681e616dd45b11ee0f8416a54cbe1382624e1c24599c3 |
|
MD5 | 06788b51e1a4d722d66648487ad3b300 |
|
BLAKE2b-256 | 4cfb49bc7d8ea12b6eb314b5e76214694b0264f52b50ca65bb192c63e72ff80b |
Hashes for pyAgrum_nightly-1.13.1.dev202404271713370971-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c592880d0ad3b214049897ceae627369ecdc8d81d3e7df021ee2625494d1350a |
|
MD5 | a625c2ecbaf8e9c88f536bfc889526a4 |
|
BLAKE2b-256 | 03c135b698caefed42f4da67de1755047f3bebf24ee6221e1840a3cdc4bb311e |
Hashes for pyAgrum_nightly-1.13.1.dev202404271713370971-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7fbf0acc19211ac8fe7f6423ecc6a8971762fdb0f4279e0b86f71a50822efb9e |
|
MD5 | 7a810aad0e9926504e1ab290782e20eb |
|
BLAKE2b-256 | 453ea10e89d24ed84a5b505cbe8b588803978f4cbfa4ab3169236fd481a0111d |
Hashes for pyAgrum_nightly-1.13.1.dev202404271713370971-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 82db68965a4e3bb16379e7895124ad26905b2f8bd05e7144dc70339057e09504 |
|
MD5 | efbce785a7bf9b3ee9416fe41cba053b |
|
BLAKE2b-256 | a97423afb266a69ed3b3b18ad8bffe991c4e4e8c0d88f134222ed1c5c4daa37c |
Hashes for pyAgrum_nightly-1.13.1.dev202404271713370971-cp311-cp311-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 721a880d7094f15650e4b6e2cd8bdb3bace957ce02f7b7cb9949ab0d55c7ac3d |
|
MD5 | 7a5eb8563a6884de4f55331b16d696a5 |
|
BLAKE2b-256 | c096c7b017d51a6f92ead7ec74be4b3581bdbb2c33fc2396cb20ec67349f70f5 |
Hashes for pyAgrum_nightly-1.13.1.dev202404271713370971-cp311-cp311-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c11e7356f422153705c1b18195eb6e316ec7244c7f0ea9c977416a66d30cc87b |
|
MD5 | da892a467d43d76213a76fe91358f3ab |
|
BLAKE2b-256 | 0f535938bc94b9f0a27a9a270e00ebad593afe63d973f4b1a0b9ab6548075cbd |
Hashes for pyAgrum_nightly-1.13.1.dev202404271713370971-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f4024623fe1c72187df9d007be526be5c676e1dad395b15879ea56e4ebd48240 |
|
MD5 | 91544a81d13b6d8b1417cea1c554582f |
|
BLAKE2b-256 | ad88c541359e34588f536a723eeb602d8d82374d4c2327011ab2008ad398b6df |
Hashes for pyAgrum_nightly-1.13.1.dev202404271713370971-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c99ae29983ff4f86c1ad5539e8eccf348687b2799171570c32fa410b0b547381 |
|
MD5 | 58acf9b7f2f9ec0ec94629896442f3de |
|
BLAKE2b-256 | 4744c2edd7488814642277e12a411d56a237e6cf268e2e160da64bd4a0df594d |
Hashes for pyAgrum_nightly-1.13.1.dev202404271713370971-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 214a1f6de20207d746b243938b9dd3d1a744b4dc32e52627b1271944c9e45cb4 |
|
MD5 | 96a89f902f4774aa9ac98aa3d91d7f0a |
|
BLAKE2b-256 | 280e7967728c445f0512a2ac9fed949a0c240df0b63477081b01f96bf959e20d |
Hashes for pyAgrum_nightly-1.13.1.dev202404271713370971-cp310-cp310-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 36d2e540d51fbf48c605626d832519acd674c75b85d80ec4548fd54abd160404 |
|
MD5 | 312f0c1b4ab0d54bca84586885e5fa9d |
|
BLAKE2b-256 | 0884bcd8e95be904a4a565fb130592d3485cfa1084b8ff33ac15900fa2e1aa97 |
Hashes for pyAgrum_nightly-1.13.1.dev202404271713370971-cp310-cp310-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 40d5f07b8d42e26b8a64ee542969666aea65629ce91ad9048d2ff2ed7dbafb29 |
|
MD5 | cc4e8be7567d3a8d9d785c11196396db |
|
BLAKE2b-256 | 683043ca93fbfa67c9cd5dd49b3d779d80214bbc3679341020e59810558a2b96 |
Hashes for pyAgrum_nightly-1.13.1.dev202404271713370971-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4cc6b4ddbe534451bb8a78c5971404982058a108a2082239aa896853ab44965b |
|
MD5 | 7483b6b36b67e6e702cee277deafcc7e |
|
BLAKE2b-256 | aa299f24889f0666ec31d12c801fcc61098e2612c80514b97da3d5fc0223050f |
Hashes for pyAgrum_nightly-1.13.1.dev202404271713370971-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e7a713d148a63b1c7444fa51fe120ac5e6766ceb3247e5adf01b5c41e758a97e |
|
MD5 | c32bd5b5198319de55fd7fffbcf82693 |
|
BLAKE2b-256 | b3260a29b4c0cd8a260c450c44350a18c99fd0467159ce30921f75c27c11cec4 |
Hashes for pyAgrum_nightly-1.13.1.dev202404271713370971-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e4cd5e741a3785c9c6626e1ef78378e1af0729448a3085ff0a81bafcd45963cc |
|
MD5 | 9f903a997374b320e623cbd630a4782b |
|
BLAKE2b-256 | 8180fd32e976b2a9f8f875733c90bc379e936e9b5961758a4f2d061034c4f96b |
Hashes for pyAgrum_nightly-1.13.1.dev202404271713370971-cp39-cp39-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 896332e83ce9bc3b84002616e7e74b80f0765c8f980b154559652afa08adbd70 |
|
MD5 | b22c6bd848a94187381525e709599f01 |
|
BLAKE2b-256 | 092cdbb775c13c5d703a79c759044088b41e5bcafe69952de1017941023fb244 |
Hashes for pyAgrum_nightly-1.13.1.dev202404271713370971-cp39-cp39-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 67192ab1bcac98a8d48b6803cea941581ee3b480e68a44066dd163335d2c1421 |
|
MD5 | 09c639c51b668bd0e2e92893a6a06523 |
|
BLAKE2b-256 | 6c6877ed43478b1b30ee200142857e98ccaac362f8e39a074f19f77ee2b925f0 |
Hashes for pyAgrum_nightly-1.13.1.dev202404271713370971-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dc14f15481294593f97dd3b7925b5c964135eee331fd4a25ffbd5c54ca7d2e83 |
|
MD5 | 2034549aca7ee4148a86cc7cfaf885d6 |
|
BLAKE2b-256 | 5e72b44398d284d9934e2ee3f414f0f09b19d8aebf539c27e47d84cd5dc94623 |
Hashes for pyAgrum_nightly-1.13.1.dev202404271713370971-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 238f1024d3152d2ec69815619c1958961ecd942918f9355e2ab021de19c10e63 |
|
MD5 | 83a7c229b66d346c744f1c451e627955 |
|
BLAKE2b-256 | f5f4de18a03bf5e1bf22455362496ecce27466f4d3697a516d292a2bf2719279 |
Hashes for pyAgrum_nightly-1.13.1.dev202404271713370971-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7f590c3e1cba495f302aba09a444171d4198a516b8ab7c531207073a4069b197 |
|
MD5 | 555ee6dd01ca9741f13094840a14d09a |
|
BLAKE2b-256 | b90a4e20877649119d3897f4b240a04721e8e497c0653a34f2c13cdfd27c267c |
Hashes for pyAgrum_nightly-1.13.1.dev202404271713370971-cp38-cp38-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 818e4439133bcfae85183e9ae4f427b6a6a6ecb235f2448e237672b0839125d2 |
|
MD5 | 3ec40a6416c878ba5f5dee91c7cc6ef7 |
|
BLAKE2b-256 | d9a40c3d84b253c691eb914a1dc740890ad1377a209fc22d5be056e3326a771a |
Hashes for pyAgrum_nightly-1.13.1.dev202404271713370971-cp38-cp38-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 41f5b812b519df50a0fd9097cb599c088e2c07aee0a6cdea54f88a633486249f |
|
MD5 | df5a243cda89599428bfdec768c7a423 |
|
BLAKE2b-256 | 3d0066f20ce493ffdfc208112513007bcfc7b7a43c7988818c3774ed790e5028 |
Hashes for pyAgrum_nightly-1.13.1.dev202404271713370971-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e3ec0618fb76ce1add0857003fc419d103cae66ade9f981f0831543f1c33fae6 |
|
MD5 | af4b3e748fadaf256cc2ce9ece65383d |
|
BLAKE2b-256 | a53a80b089105dbb073b7c274e8946553a5b61754f3adc19822fae63ffe95c74 |
Hashes for pyAgrum_nightly-1.13.1.dev202404271713370971-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d948170b662764f040918a4160b186d9bf5b24294bacc80a0a88df9713605849 |
|
MD5 | 2d2d714870e5c026494eaead9d62cc70 |
|
BLAKE2b-256 | 48e53f260fa20270ea1724470dfa4fa8e34b2aad07978236cd8ca9ac5dc5f0cd |