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.dev202401141705041676-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1182b41eed2e151a26f5ad05ad3166b2df9513bfe3339022e8e1657a2a2c3b92 |
|
MD5 | 6643ae30508f843b3a4fd15f87c0d04e |
|
BLAKE2b-256 | 0c9af57d205e6616754f529539d8d6064264fd260b35b9542aec44c042e32682 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401141705041676-cp312-cp312-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9bf7c6d9d44f186da8d3bd5eae9e3323296adbdca437f126101d204f5393bbab |
|
MD5 | 56599d947999fc84ac3f849597d47204 |
|
BLAKE2b-256 | 64780c4c4ca9da1e44024b263d1f92d2a2c13426a45d7afbbe6502b1f79cecdd |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401141705041676-cp312-cp312-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b8b6da9067603c1a93f4c43e1dc629aab5368673f9c2d00dda2403d86003717a |
|
MD5 | d93c4feb66ace9e04ccd6cc0a31dfbe1 |
|
BLAKE2b-256 | f032b6d0e55bfa258df14616e0b746fb819ff244772ff54a5d079d6a6a5a7b47 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401141705041676-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2b01dea9cdd850069d5609113dfe2bd2ecba5b7dd99c54e7edfa85607778e1f4 |
|
MD5 | a8f6fa144fe48d49a7bf5e42dc57961c |
|
BLAKE2b-256 | f5b11a52baceea6063132bc99a77edde74d5150ad8dc70e13d711ea81f29908d |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401141705041676-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fd93217b5a7407c9ae87f5b05346b465e8af0210b6809bd3ce2a559f81da556d |
|
MD5 | 9c16bf0ddb72ef2d061e4b4192aa6dac |
|
BLAKE2b-256 | 461aedd8663f88e68832532027693bb023f728e333b4d327e3b2a12f32f68245 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401141705041676-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 49965b3b2c635b383d48628c631c4a040957646115ef3792124b69bf84abb238 |
|
MD5 | f43232be1e8c096978c927ef084766a9 |
|
BLAKE2b-256 | 77949736e0b5f097283f2b77356970103e04997d3e8e10e19f82ea64431c404d |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401141705041676-cp311-cp311-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 079e6280f978df06b683f73232c60afbb9903b5abb02ec4415761c0044bf2d31 |
|
MD5 | d585cfd12749d4b56a5fae833b8265d4 |
|
BLAKE2b-256 | 98a4bf36917ac34c71813d2f66a702c5ae3e1ea9e06acc57f9384c9653b960e5 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401141705041676-cp311-cp311-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ee304524ff5e65ec8be5bd0d219c3b48ee3de8a03d9b257cf4445cf2a24ac3a7 |
|
MD5 | 09dff798b8ac6ed9cdb575fe342a7e62 |
|
BLAKE2b-256 | 0dbc402cdf9769479273f4e40e534640db9e7a9123ff79a2c0a795b0b4df7d8f |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401141705041676-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 738668979a5b3449b7723eeb9ec4a8b52fc2704b28077421426cd62329ee14ec |
|
MD5 | 3a2539bfdb056dd35a0d2d81ea639697 |
|
BLAKE2b-256 | 4dcc66f3aadc56181e100801c04bc385b70d775f9fc8d1d92780771c0bac7a7a |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401141705041676-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | beb96e3b02bf42235d2bef4156650f0db2a0057e44e88e5bee26f961f5431ad3 |
|
MD5 | 99e81b91af24685bb88cb45207188bb9 |
|
BLAKE2b-256 | 988505ce9127bad91bd5dee36b73bc558505d73391d17a8ccf4246421285f058 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401141705041676-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b4f2809f7e2abde5301fea02128beff587261e596728e2966d328f26154341d1 |
|
MD5 | 0f2ab108085ec642ae29cba1f92e4957 |
|
BLAKE2b-256 | 7389fd69710b9dfcbdd2760290d9b224a2db3d52b2c7d6ba681c4e710aa2ecba |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401141705041676-cp310-cp310-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d98ce28090c2e7928c4659a7cf8fa2941890cecd056e2555563c8a0c2cddfd5a |
|
MD5 | 450e9b8e259d92c3b3fb6306e83772a6 |
|
BLAKE2b-256 | 41be91a9d649c9731ae32f5652a2873a1549405ae30ef25ed2fd4125d34d32d7 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401141705041676-cp310-cp310-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6cfaecaf14cc7716b8f7132c8247fe6a5092093dda96689fb61dce70b9c5d3e9 |
|
MD5 | 956d9c1d94d6c616c9f43818864ee019 |
|
BLAKE2b-256 | 54da112deee6806b8e137cc27876c05e7542e05124173e2269a4cecade9bea08 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401141705041676-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 108d686fd2386ca5c1f928d1b79a6a8247d33130d76f76e7cb320696b273e4b3 |
|
MD5 | 17db7127d87fedda1abea058666b7817 |
|
BLAKE2b-256 | 9912520a50bf4990e1d69f34664c706737fd799d12756f55fd28c3ed3a691ebf |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401141705041676-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d32a88d5b95e0c5d574c94114eddb3d5aa91c2565ba571a0bf69e2c8b9a9f8a8 |
|
MD5 | 783bd8918025a135dadfa2694ebbfd96 |
|
BLAKE2b-256 | 06f132e0dc921a97a14a9d2fc83c5024934aaa24ff6f964ad51f51e4747de8dd |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401141705041676-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d6cd3f955e09ca6a5278598c3d1e13a8fa56dcfafffccfb7bcd8615203934f33 |
|
MD5 | f8090b400e7f9e426db3eba98ac7a289 |
|
BLAKE2b-256 | caf84c485cb7069d84599562e54b980fd78f4b49c6fcace6aac7d183fc64874c |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401141705041676-cp39-cp39-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e195382ee6b80df4846a11723a2aff6ce7ff91b2b8c14c9bec38c2a6525ed038 |
|
MD5 | 2f565f41308389b23df8839c45bb2f82 |
|
BLAKE2b-256 | 83d96a882799c2365957102695af94b2a3327ae5b3b08549f83e9f1e7aeeb998 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401141705041676-cp39-cp39-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3f31cce1e05f6844e167e5c95091dd9c475a8146aab35a65bd2a7420de3f2466 |
|
MD5 | 0fea9bad14e12413aa63c02e6e0457cc |
|
BLAKE2b-256 | 35b7d5f8c3c6bfa0ead9b7249cc3dd3d587de551b8ec27e95f44dfe50987b637 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401141705041676-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a7bfcef3536682b6de6012be6173549859a5097d4f2e0d8d7812e9392812c4f6 |
|
MD5 | 68fa02d7e6b274ecd71e923d03409ee5 |
|
BLAKE2b-256 | 3d646e5364bf81204f02776b5f04b29aeddbf1da04f9080e8451986e82b6ee27 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401141705041676-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 571c29390ffc7162e1823a86656e54cb0dd7a841330925587a1f5a31989d4735 |
|
MD5 | f48fc0e5286b4b9a85a82d0f7937a175 |
|
BLAKE2b-256 | 24fc8c7ea572da2b4a0c7074ff0d299413b30d647cc95b4e883b4628b274f407 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401141705041676-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 675d9020c5918ae46faa62b2bdd15b17f8ff54a6656eb2c9828ac58ee604ee57 |
|
MD5 | a00ba5af485d224480b837934267c68d |
|
BLAKE2b-256 | 681d7a23ed08126be5efcc7b1888c2ead202ccc95375a4b33609c054e3c89de9 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401141705041676-cp38-cp38-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4293603479b4ece01ef54fbe6e6292036e9f636487a3cc1b786ed93404102aa9 |
|
MD5 | f7992aede64b3500e2113f8caf551622 |
|
BLAKE2b-256 | 9278ada942e2304487ee5073bebf2da1530d2de568b1bb45e057b7feecbf9c3b |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401141705041676-cp38-cp38-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d7a1e4a084028bb4198536d7f3b761585189da6d47e6e0a4438b93cba7477fa6 |
|
MD5 | 5c14bef9f8f0edc55a8c00d2f84b6bff |
|
BLAKE2b-256 | db92d113d60d83c53c5c0b84b5f0af31ef9bacd8acee8f6a6b186d66a15d6599 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401141705041676-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bac7072bf698c4fab080259e609bd2c88d585ed774f2e30db6b64f0a7ee2c34a |
|
MD5 | fd08e2ecc850b7fee5a8d81462f07f71 |
|
BLAKE2b-256 | 89abc0d051a079a146a080f38d7c9156f2b806dc55e85efa7cd1a213a3ba755f |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401141705041676-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b55b4b3daf0661aa2b5e35b7dd7ec2ce5b8c7c8d986e54f1efe9c7ab20f9ed18 |
|
MD5 | 53120273f0c9d7fe5c1eef1660a27cfa |
|
BLAKE2b-256 | 37d29b60145b091eb613870c217e9eb23747bd450eb592800769fb70318e70ed |