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.dev202406061715182293-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5a9b64aa5b1cf3c0f110b32634e71672b13efaff2146ae6338480f78a04d8944 |
|
MD5 | da07bfbc1ebe166539075331d4e4c97d |
|
BLAKE2b-256 | f6211765913b328ddafc7a0c443f6e95ca19765f31da42004d58c009034da813 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406061715182293-cp312-cp312-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eb470e3abdcbb715b27a8b45f8cf7c4981f4443d612f644c2c7f98ab66cfb277 |
|
MD5 | 8db9e90a3d955aa186f088a7a514b41b |
|
BLAKE2b-256 | 626b016e5aa89ed7556458ed640766e9434a3d6c4bdaf5109ce5854e1f9ba1ed |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406061715182293-cp312-cp312-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d36c3ff64abf1ff9b7712568a29f6eeeb71b70e6f6fec7726280b91fb695e2c5 |
|
MD5 | 0d77026754bdc437bea8d42b35bb6c0a |
|
BLAKE2b-256 | 430ffdac7008e17f2ff58a2a4ab10a16f21f483204c8b2ff18b968d751723272 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406061715182293-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 549cd9cf33c357315b8034863f00ba47d0cab3bbdc08fb55672667025c9117b3 |
|
MD5 | 6b8a6837f0bedbd258842c49052a7535 |
|
BLAKE2b-256 | 094d28b4184d16e63b40b4838447885f264c940f149f040b889b71bcf2d3f31b |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406061715182293-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e0d9efc2191207b6053ad86a3f8405c809eba1ab904ba39d1a68bd448db78136 |
|
MD5 | d072431629d8aa780d26ab2b0b8f8c97 |
|
BLAKE2b-256 | e331d7a10a603b732705b64417b9f767eff95dd1c9c3a5d8d5887f433190dcd0 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406061715182293-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c9f45533027e19ab3fdf364ce159b09529c507248e6aebfe9ecf655ec3c42b97 |
|
MD5 | b5fc09674b83df08fa597146b49c27bc |
|
BLAKE2b-256 | 46e718b4f29b9fe2f94c632c29f3e3ca62b4d6111e96aaeaf27fa98cfe7ba30c |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406061715182293-cp311-cp311-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 31090b740e7675acf5f006ae0f732a6b3dbcad586520d38db51e41d67574deab |
|
MD5 | b853b7f1228f83123d3da46597c104d0 |
|
BLAKE2b-256 | f641cbb29e9f770f03908a1dae2ae384a355704392ee1d2ec2f126e470caa073 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406061715182293-cp311-cp311-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 714628daafbac2dc078c94362c9a6495bf434c0545a3b0fffedb857aa0faefa3 |
|
MD5 | 0cfa9bfbc349376e6e13fc4d1f25a1e9 |
|
BLAKE2b-256 | ac35bf013e7ed3caceb3c6c5318c08615fe8187920432da305e9d12b3826aeb8 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406061715182293-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b9368e3edd4303def0df03b49fdc88a5bcdcb6752a0a31f891e5c4d8388739c9 |
|
MD5 | bf388222a350a651b426b2689fd18b17 |
|
BLAKE2b-256 | 0419508af13d214d38ae10ead7194caf4a1ab3273de968f78b1b5fc6e9ed9d18 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406061715182293-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 143ce5d5f92603933dd5b199443d247e3b6b36c4dfb75e23f602bbad87390bb1 |
|
MD5 | 527190a17fbddae00947002e9a173cd4 |
|
BLAKE2b-256 | 4aaf199d5f6f358d95b015666b27e1af88423241929b00009def3f5f09a20f60 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406061715182293-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1d29048fbcafd1ae22572573547003477280cdeaafb13e065bcaaec645905b82 |
|
MD5 | 7379bd19a04a07b0000ec4781c06458e |
|
BLAKE2b-256 | b3bb2ed2843c9007c266a351bee760d4e3c4dd7a1ca4b72c12937ea4f0e2d32e |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406061715182293-cp310-cp310-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ff23152bc436d5aabb5ad0daf32790ea0f889689ce470c6f8d3552c1a2ff7f4e |
|
MD5 | 1da28f32af993ad89186db47c2333c8a |
|
BLAKE2b-256 | 8bc599fb306537ea611ef096dd374bff0c32d6ff763b0396e553c43af80d26e5 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406061715182293-cp310-cp310-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3e75a7f84241f69a9fd7eb17af0b7ae0efc535df27d512c4d38060042b3efe50 |
|
MD5 | 617dd017ffea7c33f88e236aee051a16 |
|
BLAKE2b-256 | b007624f0ad4066acc4b101354419db83c9324f35a104a1513c006afed0dcee8 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406061715182293-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 58b40146f912af55a16b780ff3d9937ac7dd15f3f8aa3f054323a1c37ead9397 |
|
MD5 | 151f669769d352756d07734f45f28b31 |
|
BLAKE2b-256 | 9d650af44628f93c404204f1dec3c0d40b1df7a0078aa4fb509a5cce72f43c9d |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406061715182293-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7dc98a5caad06c59bba0ff932e26098848bce3e3aa9f537dfbd3eda497b88dfe |
|
MD5 | ac3c235d7d6d3b1af2251612e3aabc43 |
|
BLAKE2b-256 | 9e9c904574a4af6f2d5ffef8c447ba84ecc42017d05ec5454cbedf248286a0bd |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406061715182293-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 463568624551c6b6fecf524eac76762393c3dcd7a5e71a85cea6f30d8c9cfd31 |
|
MD5 | 239df92ef9889cd42349edb1c9b838b7 |
|
BLAKE2b-256 | d7d23795878046d75bec71ebec1246e7ccb704db67d8c91ec7539aa158d36bee |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406061715182293-cp39-cp39-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 713ff0497d7b855e8aaaa8358259aaebbdd976078e1960659b83b1e9fe6abec0 |
|
MD5 | 2bd43c7a936825b59d47197808a95f10 |
|
BLAKE2b-256 | e2b9011ecf8dc0df864eb37b68aa82dcf353a9d3aac50762e7ce08b81c5cd468 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406061715182293-cp39-cp39-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 707427512f2f7173c8e035e02115784ea54c8a91534845157e9ffceedfc2d756 |
|
MD5 | d8fb0035e58aa6171d7e7d00ecfb4751 |
|
BLAKE2b-256 | 1cb71935187a5d6fc45cdd51aa129af2cb61cb5302896fa29bfe27b4b8a5ef9c |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406061715182293-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d108363ffdba985d6368d5847c8394d154b65a03128491b1d8d6708f4ecdae02 |
|
MD5 | c0dd9bc2d63335abda441d2456a88613 |
|
BLAKE2b-256 | 751ca7f4c6565badede6d8097935ae7dcfe2d69b742ee959dba07a0399892bd6 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406061715182293-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3a1ac8ba3916d0de1ce77c8c74cd0d7fe4357d3db3bd0ab36318e2c49ab4acb5 |
|
MD5 | c904e60441f2351aafc62694e11506a2 |
|
BLAKE2b-256 | b46184f4f55fe464afdc1a416400e0b4df4fc83e539c68f9b335772a597a4019 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406061715182293-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 87387749f9c2987f850d163d4ce567d0a8cadb73f39694a4399f76f1724ed32d |
|
MD5 | eafec6a55bbede3a9d8da7f1af1062f1 |
|
BLAKE2b-256 | 83457a4e50e0af70fd94bdcfc3dce9c6cd0af5d0adc1a84dd8779e68a3ad004c |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406061715182293-cp38-cp38-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f2a7eac41816540d163481a82dcf72a786996953b042b56cd18128cc9774c080 |
|
MD5 | c421ef271d983a422e32cbdd646f096f |
|
BLAKE2b-256 | 9960ae32c8d497ac57c01c671f275d3229bba253ffb6208aaee0abdeba3ba46d |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406061715182293-cp38-cp38-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | be4c07a8c0221d8a77b2321f48255bf32acec2c11965fc86cf3eaae7edd12521 |
|
MD5 | c73ed3e7d5e61c9e6c8e439af71084b4 |
|
BLAKE2b-256 | 318cebdca3e5ef4c6533645f79b1ae498b9d1813b06c2069eca866740f4a11aa |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406061715182293-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 29efd450d2e22771faf07ced98bc82b6036fd2b52717bbd2bf2e46c638e08ad7 |
|
MD5 | b9ea98f16d42f553304534e6625b03e0 |
|
BLAKE2b-256 | fec8bfcb11f54a89c9098e5112dbe79ff719c84a947bc1a3332ebcf27c4e598f |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406061715182293-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b845b084472330de9f78791892aeb7241fe353a6619312353e3dff161a5f0fa1 |
|
MD5 | ee72e2faa48660b566879ec19758815c |
|
BLAKE2b-256 | 85a108967dfe97670f522f910e70ef04e362bbc13c896aadcd6c3370279f63b4 |