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.0.9.dev202404151712167003-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cbf3178301c1c5ca31219e84500d64991735e8537d27969eadad0f7f5f4411a0 |
|
MD5 | 2ea48b1c23e94d48b00381f58cb29690 |
|
BLAKE2b-256 | 89cb3f53c04d363db497c0e05345a10a408a4b8e6f109d0e17ff45e89ccbc100 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404151712167003-cp312-cp312-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 06c5a72c80d22ac71527dde6296e310910af25bd2a677242c6755087c64a3b44 |
|
MD5 | ba92e064948482ff9be52c964885d3ad |
|
BLAKE2b-256 | 5c4f3f996f0464dbc14679d809b89955bafc1dce07e33cde50a493c9a29370fd |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404151712167003-cp312-cp312-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4d576adee2e2fb37bef4edb7d4907852d0393c872835e8b0e49589632655ba38 |
|
MD5 | c0e4fc52bfdb966c0ce082610b2d6a41 |
|
BLAKE2b-256 | c5888904ad040db00fbce71795168803e7848eb28556c367f99709c847f47f38 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404151712167003-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 654d2bbda3d119e2df8a0544a3a13b85eac888f437a2756191bf00aa802725b6 |
|
MD5 | 2aee17c2fb069dd6dbfa7591b2d41cf9 |
|
BLAKE2b-256 | ffd3d40efbd7ead455187a20c0dd6a9c7688aedfe1d136eb9bf21a6b6ba9dbda |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404151712167003-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8acf75684749bc98319f0238f682d1e02c2c65a5fdaa3a3ed6b425907d5a708b |
|
MD5 | 976e6922d34865c8fa2dc7a098bc3fef |
|
BLAKE2b-256 | 28ae1eabf9818d11ac9015ccc3937db7d7d51b627f79ad69dd2a5ead151a1ab3 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404151712167003-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1b3e6305f8746947eef8415e6671b17abf32623f6cdf289d22be7ea2a86f9ada |
|
MD5 | 2fd9ba88916e5453fa6f9c1516a75fe4 |
|
BLAKE2b-256 | 797e390b4d12579c09158ad32bf701a1c9ffbb8103e16ba2563f4a6620cf4472 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404151712167003-cp311-cp311-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6a9afb8c1880e3d447a4dac1cb490e0c070c2a203fbb86fec3f71da308ed226d |
|
MD5 | eaf79d26bceec2ac0c4edee827324217 |
|
BLAKE2b-256 | de13ab0351d504f05901befa851dd30fe09d850ad1cb957ab00956ce28e1c889 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404151712167003-cp311-cp311-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3094c96a555f071c80fe0c7e58ae92f63593cc00c316bc02ac7b5757f81c9f6a |
|
MD5 | 0926a2ba724069a1b86521e2e93a9a2a |
|
BLAKE2b-256 | e467d3378a8b63f788f87395a7c62fdd5933bc0d353f6b3bc9459972674fb52d |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404151712167003-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dddc2307ee4ef86850d7a215d1cc9ab450f1ac5be905384c2c9e87f29e072fc5 |
|
MD5 | b2366a4d1fc3c83a2d0bf90a99e3e036 |
|
BLAKE2b-256 | 60349e6f477a9008611bf2c5c515e5695622b778c2adb63fa2df1fb4366c4d9f |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404151712167003-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3d344d76062ec07167bca59253dbb26f121dda131863ffd64eacc1c6eae2c068 |
|
MD5 | ad8d0c90f8baf491f1583c14828b1748 |
|
BLAKE2b-256 | f62ef8900902090ad4b75cab53bed33077c0c99044b53ed296cd23bae068416b |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404151712167003-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a3aceb6ffa1f86acd4a0ea2cc4f79e892469b1e79f94ed0bfe89ba6179312196 |
|
MD5 | 1828337f7333d63901e0f17ab179c4bb |
|
BLAKE2b-256 | 2025b3a5f3aea61dc5c25bbd4935909c989e04a2ce6312a0ea1b21478c42053f |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404151712167003-cp310-cp310-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 57593c2efc8aca09aa4a74ca5fe59cc5dde9fa2f7bb75ad7e6d0bae9ebfe8c33 |
|
MD5 | 00195b51c497288002b31f9ac0c70e92 |
|
BLAKE2b-256 | cedb08091d01dc27a34005e0a9375fb3357e93752c7a517bf22ef9650e209e49 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404151712167003-cp310-cp310-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1b7fdc64b599891c5d5b7bf932a72714671501212b6b641d3072d018c8cadac3 |
|
MD5 | 80a92d6f5238aa0ddd400bcf4cb6fd43 |
|
BLAKE2b-256 | 4d6466365ce636fb8e9d6e5bdaa74c94e32affadfeef8ffa5423f8ac7048fcf0 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404151712167003-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 644ff1ec10612d16383a811d97cdfc0f0080ccc6b7d2ec4c43b1921af2684531 |
|
MD5 | 3eca729e66f92cb3a8d5ab1b022f67f8 |
|
BLAKE2b-256 | 813fa251e47a68a66996295476174f543a5081a100af561f4db84e2a5235dc63 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404151712167003-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fab770e4175f27a40edb4bcece4cd37e3ec4ebb9872ade7232e1420997227eec |
|
MD5 | 1a21afa004a036ee5fe3c0195aeb9991 |
|
BLAKE2b-256 | 042fca76c2b14c79bf7a13cb4ff6f245a61ef68844aac380d19388a08eb21277 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404151712167003-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fcb2c79de969213356f474d83a9d34382b4696e397e9540fda77a2ff9fdb78fa |
|
MD5 | e082143c320bde2dd8b708b66e819807 |
|
BLAKE2b-256 | 42af00038eda3632144726f06a18dd98212a4f656f43ccff492ff821a743a983 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404151712167003-cp39-cp39-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f215f266b849c6bc8c403f5db445e2e50c238a4ba4a0919f5d98338450580f2c |
|
MD5 | e747e8a7c24a35254cd5f14f6cb71161 |
|
BLAKE2b-256 | 268859bf6ff57cf7f2707a5c39211d21ba5454a314949a6e1959a470895065a7 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404151712167003-cp39-cp39-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 510f2ffbc3954cb2c10f2971eea18d0fa2a99eb8a48029c79eda8b302582086e |
|
MD5 | c8b85d70b3f33a1fa039e87008b1ce28 |
|
BLAKE2b-256 | 712a3a6ea9ec27cf13332f57ff4b4700c1d14265315988b38ee8dff9bb5c1c96 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404151712167003-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2e608d591183d8290c48d8a12e7d8545547621eb3710573e53861c2d5d45cd9b |
|
MD5 | 2b30933a49b8be763c26ebd8a6dc36d5 |
|
BLAKE2b-256 | 67462da4b4a4bb4a3f66800715edb85a184fa942a2a370c46e3679f4cb4b7d54 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404151712167003-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e7c7f1374a79c35e85ed0e2a71927c8aedec9e71a3434370e8daf8b578fde86d |
|
MD5 | faf5292b67275e16b101cfe5d72e0089 |
|
BLAKE2b-256 | 426de26dd57062c0ec693fab0f8befaff61bc0a4ae9e3712cbccfe151e629f9c |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404151712167003-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4c15f29db1b1b697f5815294405cf23f05cdce892972931cf558c7e5d420c9d8 |
|
MD5 | 9cbb2b97d5b11b17f3bcbff4d903d034 |
|
BLAKE2b-256 | 0e1f9138393c4cc416a114bf43f72cd91fdcb02980857e43ab2eed9abb820bbc |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404151712167003-cp38-cp38-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c257587a3d20f41fa82216d3bc6a350f5dfafa70bf43176d577e65a0c927e4ad |
|
MD5 | 4fde506797b16a4ae42ce6a191bb4109 |
|
BLAKE2b-256 | 41f59e5203e50e9edd15723291535c2f3d672a20d12f410f76283dbe7a76240a |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404151712167003-cp38-cp38-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | da39ead9fd76a9c679be0d41e4ac8675ed3d2ed89b9054700d3bb7bf688a4559 |
|
MD5 | 320a7bcbee00b7334f800b12e9aa3e49 |
|
BLAKE2b-256 | c5c7b21e8dc741046820c2afe2aeecbfe16dbfca668f5a97eff8bd2586bfba1a |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404151712167003-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a4b5a328b64b399cae2232de68dd2b97f6b7380217430166ee10fdf90a6e1195 |
|
MD5 | e139d92d5e5ea8ffebd1848c5e970ca0 |
|
BLAKE2b-256 | 436d3abb55a07c570b98337f9336e8368261e7518e0df242936eebef7f6001c3 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404151712167003-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1ad16500fd354fa4389e1d43d0b5a84f4ca4ca90b1875a7e7d28c9ab3cd22c66 |
|
MD5 | 9e46a4f7f687c1c08f5c061e550effbb |
|
BLAKE2b-256 | 19bbf97b05dd44b5f5c5f17e2df0df2c142d9c4c04d475c6953d20472a6026cd |