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.dev202405131715182293-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 748fcbc16c580b1ead5ad542530661cb3eb01ad5a0ee59ff3a284cd43641ce39 |
|
MD5 | d22493498e38587c122f8584df698231 |
|
BLAKE2b-256 | fb20764477f83eb2caf87bfdb46d24b8865cc2b90c38e464964ccbfe81e00049 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405131715182293-cp312-cp312-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8377b879d950835faacbbf947208062f179d4f2340d9a29fce1530e2e75d62af |
|
MD5 | d1b12b20f44c2ee200a55ca8d9513231 |
|
BLAKE2b-256 | c62e727a1b60d3acf2248bb439dc27861869d3ac129c5ada2c43948a85df5a06 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405131715182293-cp312-cp312-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2860da36ca8f900b3520ed18b6cb7d5b569fd74e252cc277840c2c7618954a90 |
|
MD5 | 0987d975e86917d43cae8687cec90d74 |
|
BLAKE2b-256 | a1c2c543f2ded5056ffb7d66bb28e288793426f0fa86686541962b27f36026e7 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405131715182293-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1b60d7e891d1be4fead17309b1a1078f2f5684b1790cbc418302df1c586e61be |
|
MD5 | c12382e8cce789251cd62442992fbdde |
|
BLAKE2b-256 | ad7e45b2ce2f945b86cf79c732ccb3945f72daa352d3259b8e3cda09b6b7e73a |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405131715182293-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1837b322493b35cba7ca9fd8ed694274fc7266c973683947f9fd2fc13d0096cf |
|
MD5 | 82011c537994c11083e192b2913e02cb |
|
BLAKE2b-256 | 0d3afbf538157a37d93ef74cfb68a902bad60638cc8fd0fdf147da2964dab407 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405131715182293-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dea85e14e4e030b06cb911d223477d614d400d9882b0a5f1e96ddca2ba804823 |
|
MD5 | 172df3f65ac760ee81deec60d20aa1cc |
|
BLAKE2b-256 | c07658f77fc9f37947b3850d1c3759885d0ccbc80868fb12c00b3dfc9e3382e0 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405131715182293-cp311-cp311-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f3b871d6d6f68fde9959a5fb086143c2c299bc9a077846f779789ae1e72d77be |
|
MD5 | a6623256fb1154b84446a35d47288445 |
|
BLAKE2b-256 | fcc1fca3cf408e8c17c8aa88ec3dfcb50419732623cccbee47c24eabf88a31ea |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405131715182293-cp311-cp311-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5d0c159cb10ff1a904fc72f0b2c872b7e79fa06c729037f303a3d796fe560018 |
|
MD5 | c696e2cad113477071131edcf60b4da8 |
|
BLAKE2b-256 | 5e6ac5c6a6038e6d949d56e19353862ce42bd246e5e39cc0873aa250bb062bc0 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405131715182293-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eae4c27673576e2870af15ca25e94e5c1dc270de7b8cb838b2cf8862b13f09c8 |
|
MD5 | cfa5cd85e190fd01af821eb085e61227 |
|
BLAKE2b-256 | e6bf77970bc39b52aac2bf2daa3c6e9426cc9486fcefc1d94a646f049ffb296d |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405131715182293-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | da2c3866fac6de4060f81796ccabfc481d0b326af6c6bb6f9c1d6894318abdb4 |
|
MD5 | 2da8b7b1dde2e42ea8874758da72515f |
|
BLAKE2b-256 | 69df7a313fa9aa6db33c2325985e0288dd2a966e4c3999c946444ec2309bb966 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405131715182293-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 34f8e1bbbab10b5c277cdff9e5516fbad0536caeed5b15522747e53d19f06c46 |
|
MD5 | 8778ef738479c185353b53b41f6f9add |
|
BLAKE2b-256 | 5cd662f0116f31f84bcbe962096381206f4007a0cb5460bceabec82a99485cc2 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405131715182293-cp310-cp310-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9130f074abfe6a641a3da2195fb0a8eb626cb803dc6cfc68499e717513b30183 |
|
MD5 | 3980ecf29c0069fde21ce4169be344dc |
|
BLAKE2b-256 | 15b4d6e9ef6f5f5ec0cb9b180e03aab7cbcc32ba1835cbf2ac279c97bbc6c5c8 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405131715182293-cp310-cp310-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 291c67e410e00b3113b8e385454c2aa4edf54551744c25cb37dc20687fc29b95 |
|
MD5 | d3f80840e8275c107369a7c04d195b07 |
|
BLAKE2b-256 | 6c65922b9a17dc68757b6a00f46b86ef1e6a9aa4f50f2778d5c3ed9981f13a15 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405131715182293-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4e33dfa3bfb97e8093d054eb52b4e444b0b611a642b4497bb1b7c262d29d60ec |
|
MD5 | 7bcf446f4f385e61489e386fd3ef7939 |
|
BLAKE2b-256 | 46169301bdc0131aa86eab89df579cb97ce353f5f169ba0620005376d92c6c77 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405131715182293-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6dca4876314764c189ed207414ae374c3e8efcc87e0d9bcf03e700e87955ba53 |
|
MD5 | 6d0ed69b247840ed48350f1d95df74b4 |
|
BLAKE2b-256 | 15ae023bb5f1a6dd6c6292c154c10be1c89b3171978a02418097bbbfb34b0bcd |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405131715182293-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | df2ee888cee85abc63471383ef95665e9edfa77bbb93aa20174629c56d07a9c6 |
|
MD5 | 46e62fb2283a9d65a9e0eca140d4a075 |
|
BLAKE2b-256 | 49efbe46d57f25ee3fa573727be1e8c05f01432db45d51da784f3c7486a4a8fa |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405131715182293-cp39-cp39-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a9c6505c5acad7a520fa871c322e8cc0fccc23a45ef65e910a0315738f5450d7 |
|
MD5 | 721cc0f48dfabee64ed8e2d13e7dd625 |
|
BLAKE2b-256 | b6d70f8dcd13b8cb695b14365de463ebb498d6aa05ce2c87d80ef8d4a959f20f |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405131715182293-cp39-cp39-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9de62a87fa0f8427b33ea4aee4bc1fa327484867b98f941a529ce7bd224d277c |
|
MD5 | 87f008b35ef1ba5030a52387172ff62a |
|
BLAKE2b-256 | 5457e6b7f2d282d3554da7a23fd70f6105e85f689712c229432a293cef883994 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405131715182293-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 114d5f96347a3d74d26e20435d3a1bb7e8761ec69425236c7593bbfe36c1b942 |
|
MD5 | 16d2b59727c8a7b9d8f526cad363ad4b |
|
BLAKE2b-256 | 43a1f14902d0d8aeeb34fae02035e504dfe12080c50224ccc3798c9fca3886fa |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405131715182293-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6894cab9baa6987793f12d43095a055b0a745f0eb7472d766d4ed5e0c2187e67 |
|
MD5 | e809a9dd12d00c966d75db70d7cd56e6 |
|
BLAKE2b-256 | a366168ca55cc6cf01e4c9e673aac66769eeb39f4a85b60036ea9787fe6a0b34 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405131715182293-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 97b5eb7376a71f89c30cf29df57d929155d8e15c5687e26a44615df4f538a520 |
|
MD5 | 346fef639179602ce3742c14cddbf197 |
|
BLAKE2b-256 | ad7a4f6a9dae404e6dca97942589c0b3c7c3ce2d06d70472afc498d1665c6ca1 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405131715182293-cp38-cp38-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3f05947c851fa2684184c3b6e8f7561d3e37ad10e4771a3cdd48ff45ebec57f4 |
|
MD5 | eadc8855980a8ec19c39fd88be78d266 |
|
BLAKE2b-256 | d84c69523267a63e52758f5d93d86aef74495a740f4ad38c848d067e6699cf49 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405131715182293-cp38-cp38-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 32035ac7723cbd6e765784e8e628354fac0d2078b278dc7ed6398668548d0f75 |
|
MD5 | ab2d991bc3e32371d08e53ede5d9f484 |
|
BLAKE2b-256 | 52e3b8d3c6a70334821958b8d21fd3acdcaa212bf26876fb063f7198c36f2152 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405131715182293-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5c7c6c6523bfd34aa9e4eec36001a95c2a965581fc25f632f66a8b9550ced638 |
|
MD5 | e0244ddd0736847ba2e529dc371043b6 |
|
BLAKE2b-256 | 35af2a6aa3f61b58a886025adc7516e5703b368cf49dfd1576991100b28c29f5 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405131715182293-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 766240a05840f8ae4e6456aa87d6c70745e1718ea60a21c25be9fd07a6fce2d4 |
|
MD5 | d86d51096e034b99bab4e0d60a94feb6 |
|
BLAKE2b-256 | 0057352be580ee58d4b247499d2f054f5bc9640feb5d999bf1925024820d3198 |