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.2.9.dev202405281715182293-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 01863c7273d81bea2fa449fffa13c59dc62a7a0ca4870537804eb09d5258c9f4 |
|
MD5 | 408ad52d229082dc99673841caea6cdd |
|
BLAKE2b-256 | f05b52b7005855247fb6d0871bb14ada461b3eb8126691ed4ba12fa150160ad0 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405281715182293-cp312-cp312-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6c8e6f25824c16b289f34d54a66ec72486f9ff1bd1f97ff5c18f4b149964659d |
|
MD5 | 454659c454d5e868e75c7bd3d1021149 |
|
BLAKE2b-256 | 7397b19210f8bca4a03513f8f576d102aec4f1792fa5f86ebba567c07d0257c1 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405281715182293-cp312-cp312-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ffbf402ee0640f51db3ceab134dd5d0e84fdf83f2ba79cd1409850a27a3a3a21 |
|
MD5 | b2036f62ff454a74af3e928274b75e4f |
|
BLAKE2b-256 | 6b4b5623e716eee6355139e1ef11bcff8f4ff2614c0b7cddae33aa9a7425ec75 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405281715182293-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 882dfc9397d33c66f6a3f587a8426d143624f81e5a2c2eb0fa285ab9881750d5 |
|
MD5 | 3fc5b962f17a52a084e338262d1e840e |
|
BLAKE2b-256 | 81de8a493a397b91eab60d87457e2c2eaf251fb3bcbbea01d529eb647a50b773 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405281715182293-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 10e81345a15000a0b96a0022c8ed006f28f1e69d9659e1246a42431e2d8fd525 |
|
MD5 | 47e70807b31d32cad5b7f0c1bd9d5788 |
|
BLAKE2b-256 | fd3bae40bccdc87171d85cc272501ed709d294ea6d550a7d55882b8d178a9176 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405281715182293-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ed4b7ce9b996fa062755ad683b4b4bb1d48292605e7d8c676e606696e86a6a15 |
|
MD5 | 2ab22463b4a80320fcc25a9dbe8b70aa |
|
BLAKE2b-256 | ee9e8e064f7f320b2adfa1361c7e505b5f76532fa836d88e82014695604995a0 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405281715182293-cp311-cp311-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 419f1761fd46c46042666736e60cdefcee20c690b055c5e1fa31bfdde3e0099f |
|
MD5 | 78c9da45f6e68c619aa8021de6311f2f |
|
BLAKE2b-256 | 323c2beecdd5d3226085b9f26296d4889ab48e54744da3ad29874e77f4a18812 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405281715182293-cp311-cp311-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a28e991bf7e804e414365a2f983b2215c85451bd4008f501829aa0aff0252917 |
|
MD5 | 7bb19203de095668aad467d3db2e1b64 |
|
BLAKE2b-256 | 77f75697798d4f1bbf77de2d1df0f096d926dee69071b6d6f79269075ca1d84f |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405281715182293-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1563eaca88adc14562a221a6e1994e3a89d1e1f5900fa7cd4b3097ce4ca5ea3a |
|
MD5 | fa2c4863b7271037254579b88d9bfcdd |
|
BLAKE2b-256 | 72c9776794ed9dfe27c1191106736ab26a45d1a1bb3936cd1893d6af5f83dccb |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405281715182293-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e581181da3652f914909fe717bef5bd7bc0bbf9b63730e7948f22c94dfda15cf |
|
MD5 | 479fad80d8c2a74e8dad2475349d1219 |
|
BLAKE2b-256 | c068a62017af92b9457ec1632a5b22ff95a532351132052a678125af3b4a519c |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405281715182293-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cbc2d3c87babd816ba0f2129dabb46f8a1bf21960c3e82b58011b499cdbde440 |
|
MD5 | 6dc9405e72ec39f49a1f83d76d4ce658 |
|
BLAKE2b-256 | 7030273c665f3faade376fc391934dea15fe33c1455f9fbf27707b32f653c3bc |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405281715182293-cp310-cp310-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 058cb4533496b13a07ca860880614cd0817f4fa619e3e8da93ea2d3d486257c7 |
|
MD5 | 08e7da8a08b79d726ec2994f49672d4c |
|
BLAKE2b-256 | 20f73649af939ec32b3226ed5edc3a4cd1b8c98da14ce5f86905911fcc6a6d41 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405281715182293-cp310-cp310-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d2c404649d3dadc4803b3b482ce2cf617149020331129a034f2c902aa077104b |
|
MD5 | 31daaf60843d85809dfeaa725209ab1c |
|
BLAKE2b-256 | 592925163eba01e7ba839dc7dcb31772e4ee3c8bc4cd1ffd67ecd3fbb7acdb89 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405281715182293-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 16c0fe8656535214d5220ca4fa513d144111c876e54fac644bb1d8a31098ade3 |
|
MD5 | bad3eaf3504d02d578e66e97b6a13838 |
|
BLAKE2b-256 | 5f6b68cc945ad4dd9e083530a4a45ca64757963b31437539a223981a822fbbb5 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405281715182293-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 300ced7839542665166d9b565fd6905bb4892d03592b3fbe86c94f1d13dfb302 |
|
MD5 | 9833e95ab69303b78df3a439cd1bcb2c |
|
BLAKE2b-256 | 3225ce36c2730aa7f57fe8b935395ffc627b005a55c7b18ada754ae4aa10301d |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405281715182293-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e91fa05cefee1cfed1d936a93bfcdfe0659b6894faed2647f027255b6b72dd68 |
|
MD5 | 356d988aa4e3205f4e8248db776e4584 |
|
BLAKE2b-256 | dded956762cba02cb63a60910bee18d57939fd3cf2865fa810b71a5a3941e841 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405281715182293-cp39-cp39-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | efeca19940a8f2cedfa56db379da76abded7a8e78c3637f6be402c7078528fc7 |
|
MD5 | 80d17c62f07f09ee2b937a844ec39e3c |
|
BLAKE2b-256 | da5268b9b3f65c8016ba2e4a7a3de0b7370d8c8a784f7b28ff7c2cc9b09602a1 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405281715182293-cp39-cp39-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c09fb5799bed85307b62f6cc10bc6dea24a9bd67a22f067d29d52b08ef13dcae |
|
MD5 | c46c53ff1de6e862f1e3c759c4af10a7 |
|
BLAKE2b-256 | be03d65b883b5720e7f6be8766b5a766833a396af89c39318714004ef323999a |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405281715182293-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1b9b0cff0ea0e44740eb9869059a1c0302e9e80b459f073aea09f6a2181eecb1 |
|
MD5 | 686839b19f6209500675789b778ea547 |
|
BLAKE2b-256 | 2156834a911fd8d05c228221e1d032c87a10cba16dfe72f3d51d0bb5c8323119 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405281715182293-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e975e87908b286bfe9b2244d97ce745b7e5cf589677390062a1b22dafe1d2d27 |
|
MD5 | 1b7bbfbb8a525f024e69301950c06376 |
|
BLAKE2b-256 | c5820eb12d41b16f55ddd392e5909b754ad23202244cf5308cd910541fd86519 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405281715182293-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | df16fbd4bd17b8f79cf338ae6430468b80334615054e9ca3244f1de18fe49a1d |
|
MD5 | dd8b9326e43b062f70f329431d91e636 |
|
BLAKE2b-256 | 43fcc86a03a8737e29d540ae50da9f74007068ddc6548d26a1fc5f0f4fdb33c2 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405281715182293-cp38-cp38-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3872368992ed1ef3a9ed017c495b11c861cbadb77c71064b0181c06e58e7bebc |
|
MD5 | 63e29440132f4d97f94c6cd5da639ffa |
|
BLAKE2b-256 | 7a5f812f1f32db8e37aecdfa0120571f42db5d151b5ada9cbc11e4ea79903f68 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405281715182293-cp38-cp38-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 410101d984d83bf6baad6bf3f85a22f03367e68edce7273146c4915a09b9b553 |
|
MD5 | 1988940ceff85ae6b803ad9321e4d969 |
|
BLAKE2b-256 | c6916ac676f5e95485df184d4825d18a6b43cf14402c67ed355e120ec7c8d38b |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405281715182293-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9678a163af5578c401b34491c3fa0d100db264e4a0875a9006a48f2ca970216b |
|
MD5 | f532eb997972dc7cb38645e89b981df7 |
|
BLAKE2b-256 | 4323bec4626df0c948119758c9ddf781deb1d2141e9b3b7987bd69d102eae14f |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405281715182293-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9ff03856da12272afb3aba22987bca426a92d62b83489997c487e85515d64577 |
|
MD5 | 581e927a43e769985a44f41767f8f966 |
|
BLAKE2b-256 | 53c56906498ff493c0b3f245adf358a04c8d77d548c7ee847c948a48e7b148d9 |