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.dev202405301715182293-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ea53fa35dc45a996865c32bffd6e768c32f4c9e15e80e644106107fa9fc0ce95 |
|
MD5 | 4d67721cc9de6df8e0a5c7c2972c3c55 |
|
BLAKE2b-256 | 0182696946b1db72a17d3bfd395d1901358d8bf05ee6d47d6611bb8b9be483fd |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405301715182293-cp312-cp312-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3914601217c5855b965310fad32b1b2d4215f14c5c91e4914a452f416a06e295 |
|
MD5 | b78f10537f0ba6a7a97b480f44607767 |
|
BLAKE2b-256 | 9fb0972a675a15afb0be3cf6e618c9f858f1d264526af016751acd0dbcf81ac2 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405301715182293-cp312-cp312-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6e07685202bd5842809ba0fa63f691c617b2c91f56181160f4123e944453fdb7 |
|
MD5 | 560e333eeb32d161d315eb11e7bb3b63 |
|
BLAKE2b-256 | 2940f45ace3bb5b56de801822f4b3d0398cac1a783acd41c1f70f6bb3b4f7ecc |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405301715182293-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 014074ab55870bce23566afda71e8ecb8ebbf18a2ba3ec4f52f55767551cc823 |
|
MD5 | 2c3fa1e2c6f2ed941e4d05dbb9cc5372 |
|
BLAKE2b-256 | 842add4f31404b710e9f5d7b5a81b5911d9701c8df370a496099d2a77f1aa375 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405301715182293-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 042c43746eda5174da6e2bc67962493d40563ecefa65946230814f7fda557028 |
|
MD5 | e314c7373c8394dd81a4a83c6958e063 |
|
BLAKE2b-256 | 01a3b324b93249ebcf3e9c5a32d91b9710d262fd66d6b70f2c50762d9de79668 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405301715182293-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5533940de356897cfcc6c336cb1c8fdca1a3a940e6ee617bc5ad461740f996e5 |
|
MD5 | a8cd11e8b0e5f24c49324bf93074b623 |
|
BLAKE2b-256 | 988b6edf08d9619acdaecc2d77c7121c76956d66bb27fc02db12135dd83db884 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405301715182293-cp311-cp311-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 01eba511db9d60379ba21c50d21693c05dc6b1ee7ba590e58289faf7447aa6a3 |
|
MD5 | 4d2fcc214a50bec701bfb0d5aae32010 |
|
BLAKE2b-256 | f32ee9ffae3527f4b39bd100350808c6304f33bda3207ab839acfdbac6f82eb3 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405301715182293-cp311-cp311-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 81ecc85c5993eed40f08962b1570647c6bc193140c1de85581256041896eef63 |
|
MD5 | 51a15772293806bab3fdb5d6c07c72d1 |
|
BLAKE2b-256 | 000b53d0a1994390d3c1b16922635b691318313b9819886bff40b8a97cc0e59e |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405301715182293-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | db1939afb2d3799ef113123e7f8eb249de3d2b5d3d00a132509b598ab6bac8e5 |
|
MD5 | 9158b19d7d3e939000b404b97f382083 |
|
BLAKE2b-256 | 5aa2d9b3f209375dcb0a629917ebdc7595bb830fd09f91322e62b39f222f76ad |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405301715182293-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3d342992076cde6cfe93c297c35a17399d37927b12ee971389bea3493487a2b9 |
|
MD5 | 2adc5bcfb0c942f3393dd53df9628adf |
|
BLAKE2b-256 | 24a796fa53329cd4d3c6b340ac342d14b17ab53e403f995343114709e0f6b513 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405301715182293-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 20d901f3d0463a3822b8c8e92fadb9bd11dc6e5c3466295596d97a05284e2683 |
|
MD5 | ba3851225e55a2fa90a8e8cf45a1dafc |
|
BLAKE2b-256 | 05f9d96f05b137b5dbadc776cc1e5375b2d20ea253333b91bb7e4c571731cc3a |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405301715182293-cp310-cp310-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5101ab8be1d55db3c8f36c467933e9b1364c56d82480150d5b4fe49e028b692b |
|
MD5 | 7de0c24778b8e337c98bafa92ec7dea4 |
|
BLAKE2b-256 | 8a8ff74ea35f809e5c1f9b7ddb09e6afaf81e17a52cb74e76b7e39808b0e37ff |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405301715182293-cp310-cp310-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ea71abb85901330f502f6cf81b0f65166372ff934cefcfbdcec6faec4b77a0ee |
|
MD5 | d061c848bd2c60aaca972014e09e36d9 |
|
BLAKE2b-256 | 5c6b9e062c37cef040e41e31173a928d7df81624b5aa57ec95094e6da5ba441b |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405301715182293-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6b820bfa25f98057f198549000dfd7a9b463992831c91622060085e1fa4553df |
|
MD5 | 299e8af6c0776466b5baaa9cd354c99d |
|
BLAKE2b-256 | 92dab96451bb96cd3eafcf45570b5e49a48864b2ca44af48cacd0ce1a4e7cc5e |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405301715182293-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fb66f762486ec5cb6a9cd08a20e7ad17a51e78dd11f070f7c347ed938c8ce845 |
|
MD5 | 6c3aa3985052970e175e64d2485a323b |
|
BLAKE2b-256 | 6f1ad0aa90f219eed54c5fac8d2c5bca4e21e3d405ed4e0743388b90535a076e |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405301715182293-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5526b0440a1036b0cec473d101846b50f458d30bd4098d31c18188d9dc68623a |
|
MD5 | 8f7c253f169b15b65eb24b523d26493c |
|
BLAKE2b-256 | 4d7a5f34d0982388c89c6324029099d8cee7b752ccbf5229bcfd6f465d100c90 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405301715182293-cp39-cp39-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cfd1263782ca190b3a1df620f582f322d53cdf45ae196eddc5e17e3132a72a54 |
|
MD5 | 8591a478931102d4858b986a56b4c5f5 |
|
BLAKE2b-256 | b9f322c125d8575c7217437592c37fb3ef597d0cd764d29aac4b03106ac9a474 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405301715182293-cp39-cp39-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4799c282b1be3947fce2e7bb46c537f033a27bfc2de2aa50dea74f308f63a008 |
|
MD5 | 6858029d4e6a6378c2cccf17ac24c1b6 |
|
BLAKE2b-256 | 853472c26bca1c9c4c133fa3ebed6b5e1fa2724acd4fb84fab58e46ca4f97e01 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405301715182293-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0b461b3f7df8ef2ccc62dd2c17e4680c80f0d27d12327d5416211a03ad3df322 |
|
MD5 | 674a57f29eff9268ec231bfdd663cf06 |
|
BLAKE2b-256 | 4c94ded5127d477b33e13bc8453a648aae87c7141faaec89e12cda132e80ec0c |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405301715182293-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 73febd4e3de9072b0f218207f9f5b2a3673d61669b6459139d51a051a5dba0b6 |
|
MD5 | 1a653c15185e3718060841d90b3ffe56 |
|
BLAKE2b-256 | 0f7837e678930a3ca29134026c35f02004cdefa2716b9b3336310bd8f63bffb8 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405301715182293-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2804b53f319ddf4c1567ceaa6602ceb91b51c0ecc578f9e952b0de61ae929db8 |
|
MD5 | a6e6a6ef8a54b21be67ad7cede98f4cb |
|
BLAKE2b-256 | f2970614984f7790fd0a091a0f9b54720f54920487e57448ab69b2d1a33e4089 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405301715182293-cp38-cp38-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c7d755fa2219e97eb2a5a96e74fd7a80d029dee3fbfa3133f136ebcc2749ab22 |
|
MD5 | af5fbf3916917147dbc164f0caaebc35 |
|
BLAKE2b-256 | c294969ade9b49f6e010bd65c636ed78a0e5c6dcb8643b1f6b34f128996ceb66 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405301715182293-cp38-cp38-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f4f48faae9d567c7467d76dd6b13718462ddd8436bc1a4dd1a6f811586846f60 |
|
MD5 | 993d5fa3ab40374a38a5e4578bbbf7c8 |
|
BLAKE2b-256 | 78ada30088903e751dae768e7526a870f653c466b06e11cfc30a79dfb001a929 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405301715182293-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 509cdbf5ebe1dfbfe79532d9fca9632e84f6488a79b8ac901da05772a4b1cb0a |
|
MD5 | d187d2fbd15edb59b941982087aea759 |
|
BLAKE2b-256 | a5c7e277c57823decda0f5ae54b71a118199d25ccc2f6472295d11e5a69cc7f2 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405301715182293-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c2e2c737381ff467d4e87d49575522e6d1a313ee9e5a4a412f5cae93ac070af8 |
|
MD5 | 25bcaf5c57566f6b6656721bcf4b7263 |
|
BLAKE2b-256 | 569e53ae3cedef21fb64d8dd78a5fd27da5f5e57e088a5928fdde0f2ed5f34e1 |