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.11.0.9.dev202401211701813464-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 60539b1bc05652e4b4282a6f5886e4c8c77a0696bf81166e57c1c971dd63c7c2 |
|
MD5 | af0a9c660877281fee5c9f1619bf02e3 |
|
BLAKE2b-256 | 20a6926d5cb5d7731b825620227c5f022d5550e54097587688b7e1ae1869843e |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401211701813464-cp312-cp312-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9a98579660f186bd59546b13d7bd1ab5fefb35ecfb793198a4788563be763940 |
|
MD5 | 321659ee9398ef74662beaff7ba6715c |
|
BLAKE2b-256 | 83122d896bc40dc47059a049c122db7c6b12f1eeb3fc60410bec993ae0dadbac |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401211701813464-cp312-cp312-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a6296f937e69afcfa6726f65c628e0e951e86aa222189c8b93c63226171ecbbf |
|
MD5 | 4f6beb2b223fbb76a99b58d5cdd3cbc8 |
|
BLAKE2b-256 | a294843d8ff7799cc805106265b4128b5dbf7e09a0591c26fac9bdf47334b910 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401211701813464-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4b78d43669d704436b86bec5928607d568a425f4ee8f87914def588ce2da0ab3 |
|
MD5 | d1a4fb81d5915cba78e046043f52765e |
|
BLAKE2b-256 | 6a62ca9fe954ae17489fc3f0cae7c2ef582bc6636007fabb4c6fe17f3215c580 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401211701813464-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 49e0a767f98ce4c44478916838cf0fd014e46242ef2b753abec546efbaa20372 |
|
MD5 | 2214f84bd038e29c1e7e4111134d8c60 |
|
BLAKE2b-256 | 4b3dd8c0107519ea1d717a312f8d05ab553a75d119f9d8a96206ebcf2486fe6e |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401211701813464-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 27a2658c3cf7d9588e442cc38625e4b1d680061ee8872731a3fe56934bca88b6 |
|
MD5 | aaa04bd2e9dbbd65d8231e8e11ff7210 |
|
BLAKE2b-256 | 00329e0a113ea0ed2fba4cd61fc2a33c288a3e84e3aa3b6707a0cc4ebb876268 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401211701813464-cp311-cp311-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 87f750194094f79bcac9691241ad2cdb6bb3ce3fd5cf53bf44582bdbcc073278 |
|
MD5 | 6f853af57be01a94ca98e39097e5cabe |
|
BLAKE2b-256 | 0b7dfb36889ff6762440006160c961f45ddec98cabf5e36b3cacebb307f02b7c |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401211701813464-cp311-cp311-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5019c1b37288feebedcdaeb3778ca448104767de773eb673287078a4ab127aef |
|
MD5 | 79f22dc79846cc70350d37f4a1815770 |
|
BLAKE2b-256 | fdc94fb2ca1ead9e909de02b4f5e84e47d874d07d3108ff68184c1dc9d934252 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401211701813464-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1c71335362da10aeb34eff42ac716b005c21c1d332fc0f80d279508d176b79ee |
|
MD5 | 6ceeb5c624b9b18dee5763403a7ad4fe |
|
BLAKE2b-256 | 8ee53f8c432db74e674e4be58e358866488cb0947117c9a502e52e3b80da9dee |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401211701813464-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 496877bec7004fa8bbcfe881bd01380543b02b6794d5cdb0fe87d93b4c47ba06 |
|
MD5 | a8e2a2c6938ea0eaae143d04211671f5 |
|
BLAKE2b-256 | 1964fb0107a50054e4739af4c08fdefe2b38e98e86622a36566ac3623db20557 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401211701813464-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bbbaa9b07a10b4eddfecfd3fc20f85751952cb16018ade9e36f2992c8ff2487d |
|
MD5 | 8badc1e6cb4739e1bd141b39b0da9987 |
|
BLAKE2b-256 | 2d6420ec0c25d6b77a087f198763dcf77cda2f9a4813761a9c49592cd8d715f9 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401211701813464-cp310-cp310-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f9a7863fb2543089acc23bf9021c6f917092bc5cd5ac9d6ece3c39e13e3331db |
|
MD5 | dfd271b746b6d32d02cb718a85b93692 |
|
BLAKE2b-256 | 943e95898484a5c32872c78af5e8b90d7480a9bc8cbec7ec67f352d8b59eac37 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401211701813464-cp310-cp310-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6cf0c8e603841fd2c7c574c8173610728af183cb7a6954180b158d0730c24d7a |
|
MD5 | 65accd27c83f6a9e24fd0b2a2c95fbb5 |
|
BLAKE2b-256 | 43d0f6952c212f942376455ebb766385c5a87326335a5ee94356ca358e1a670e |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401211701813464-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8a1cd9f3ad96c2771918517e0e4fb490b205f16d64ede9acd2a9f927cf0a7ec5 |
|
MD5 | e03e025f177f9dafb3762c5f7cd8b300 |
|
BLAKE2b-256 | c8b1b572f3a4e1582fef0ff6b665b8cc9cb3f05f8c515bee10660041ecc111e8 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401211701813464-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 47ce17499f85bed53dc87f6e92f5b1681a5dc6c678f08cea608aae268d2af528 |
|
MD5 | ba4d0d429dd3374eab9caddb7a08d947 |
|
BLAKE2b-256 | ddbc41c4f317d38b9c06625909cf91d4d2a20d08eca2509d967946c4c8e3d3e0 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401211701813464-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 68329da898e6ff7f4128aa6d0d5b4139ba5d2d22033f80c990773b5e5670962c |
|
MD5 | be9cd37f7939c6eb393af81dc5700e75 |
|
BLAKE2b-256 | ce5e7371ac578831734419c66c39629a7123d02fc11a0d53aa0d61f35f0b9e14 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401211701813464-cp39-cp39-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4c6ae6a898cf1114cc6f5fe0776bad0f60ad084a7e9b356b0f55303732baa031 |
|
MD5 | f5ff902fd841129416a41fd42b3dde04 |
|
BLAKE2b-256 | a13419f662855ed212a59ad0c472cec5ba19367bc6f1920b926f4fc55d3b03bd |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401211701813464-cp39-cp39-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ad323ad2b2df26f32289b382a2b8241d53d03cc8b991305432d4df72fed46ce8 |
|
MD5 | 36fda5f0b2da036dc487310442907863 |
|
BLAKE2b-256 | f6dc9285d97375c1af9075028c49fe78d687add8d00be8bae2535eb0b77cd946 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401211701813464-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 944e9c3d9930140e7fb0801eb53881770ee59168b700c73da10e03d37ded1f97 |
|
MD5 | 209fc456b7e0326b002cf8663357faae |
|
BLAKE2b-256 | 784df832864f7c7a178fd2f974bccec9b5913cea48b6922487f3f1bcc696fdf5 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401211701813464-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cd69d7d5d6e2939a1be3c71b37bf6be76f70a1b2ba3c5871c1e4465e9c72b341 |
|
MD5 | cc262a2fca247f79eee7b208efcd73d5 |
|
BLAKE2b-256 | 2fdf2043d61e36ac4bbfda51367485b44556e0004fd6d20bcbccca89cb5d173a |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401211701813464-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 54633e624f635cdbe36ddc443b6ac8c7a2e76f05ca88810129d3a92fb8218506 |
|
MD5 | 144e9bbd123511375b585d25301de6ce |
|
BLAKE2b-256 | 86ded357a3f0aa76a255d9ca4efe66cbf994b9870c19e9f118f87282a71fc03d |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401211701813464-cp38-cp38-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d0bc1ec4d754f56d38484b2c8a8a5257083247336a7f198ec63c10b3fcb9f47a |
|
MD5 | 25880dccbaa9009399e369eb668dcb81 |
|
BLAKE2b-256 | a64ed69e18077c3c97c6089e413912a89ba2765856dacae75887e3b1d6251e17 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401211701813464-cp38-cp38-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1c776dbf85b90383c2bfb29ba8f325606e27441aac8a57a1f52fe756e3c4b298 |
|
MD5 | 8769329db79c85aa008c6b0ce131c374 |
|
BLAKE2b-256 | abba6f111d7a105ff77d94b0d73e1bdb6cea3de676cd37f1cd9cc740276f2423 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401211701813464-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 096ec4d7f447304f848ab8125f5c1104985a07e9b1043e8b3c90e0c62ac0e158 |
|
MD5 | 89e84cdf9a1b8e99d51725d38ab34dbb |
|
BLAKE2b-256 | 6583f06770fec83cd9a070b3066f6437482c600667bf04fb16341715d7219f66 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401211701813464-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0b98b70c9bb49c2eab9d85a451973012b27bba3eba6cba93a951dd191755b9a6 |
|
MD5 | 7691a17a4eea1a970e81c517bfb46f29 |
|
BLAKE2b-256 | d8fef6fb5da89c30344265bb3279815e447d46c29f24b85a0e5362a9039e7b94 |