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.dev202405161715182293-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 209fdd062e3f54ca0cdb83f8aa3adae4be8d74ff6ea79c6bf9f235d0120657ca |
|
MD5 | 4dcc07e933cf8becc8afe7f3166fefb3 |
|
BLAKE2b-256 | 87030bd7a332abce1a37f5307755ca251635001b28bb536168f37b34dcf2826d |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405161715182293-cp312-cp312-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f8ecf77a6261074bb25a480cdebf292e3f3784fd0a9890ff1171f656f2a96504 |
|
MD5 | bb478b0baf0a418de9ea0f9cd709e2f1 |
|
BLAKE2b-256 | 5633dda516b507ecb4c13ad1b114c60276d8ad85d11d7ccbc8a106494f135d7a |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405161715182293-cp312-cp312-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 03532701537933f21b8987292d730ab1bd231c94f3246c6a07bde84512759fa2 |
|
MD5 | edc06320848ff820d0e1299edc61fbde |
|
BLAKE2b-256 | 799d2b5c678d06d3bcee939936510adb0ffe54bcf9617478cb9761e643790ba9 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405161715182293-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9f28af952e5c12d95ea40fadcebf625b3fa6ddba63774dcc356bae2c5b1143cc |
|
MD5 | cec2fe9f639ca43867271fe37b39e214 |
|
BLAKE2b-256 | 11a3fb8d9845e3b10c23f834fc165eb36687e9e4d51ac5c5f2db04a27b03f6ae |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405161715182293-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2f1d69dbe593e539c45b3e4a6b4731bfadd55777766b6bad1d4fd6e561fe4645 |
|
MD5 | 2b743103dd4a01a924692739b28ae4d8 |
|
BLAKE2b-256 | 427708e480d6471f794211b6af0393ede30e08627b643c169fd42360fbda6e7b |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405161715182293-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f248a085cd8fd6450dbd24bc583be9e2c9f8d274fa7a64adaaca54c93f2228e8 |
|
MD5 | eddf59cac6282b91419dd99fee5fb2b1 |
|
BLAKE2b-256 | b1f164118576297af0571c068a88b6af682ae19d8c4c9d0d4837427dc1f92b68 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405161715182293-cp311-cp311-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 10aed2133af4140f886f81b7fff30cfb3982c6acd7e5ad4a3f7c4b21619a3e83 |
|
MD5 | bbce7cec0d21a1aef53c1378090d5bbb |
|
BLAKE2b-256 | 1dc029bda4bca28fa01af3de680332a277032b0bc59ffb70a1464ecdb5fb9c13 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405161715182293-cp311-cp311-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5c2652a855bcc5feb846aae0206fb2a826164c1f0a4de5ecb29ad6ddaa8b62fc |
|
MD5 | 70c21d3e710a2b7d6fc50225f169669a |
|
BLAKE2b-256 | ca97e2498f4022e1a0c2ca69b829438d5a20db202b165fecd341ecbb7656d735 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405161715182293-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 362a7dfa3531d496d53788e07c9f5bba2316707e6cafcb3b5e4c3d5bbe313e64 |
|
MD5 | 6447fc7b5d3f879df289a39b08d12e74 |
|
BLAKE2b-256 | 911b36700274587c71ed3c4877e3415358c114eae737196ba935d134abafe63d |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405161715182293-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fd57a1bd0a9e2ced3f4ad7c53c9b76b6c029eeee27860866ab14a225541d131f |
|
MD5 | 244daeed34bea46dc9986497147f4603 |
|
BLAKE2b-256 | 997afcc8444486cd9a491c925554846230efa0b81ffdb7a6e8124b6352b1fad1 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405161715182293-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f5e09fa553b9e74d00613f0cb68cf9c56ae7fe55a04d5f3a41c4f7ea2ae63cea |
|
MD5 | e36de8fbee9711c3ecb45958bd8df7f3 |
|
BLAKE2b-256 | e1262627e8acfab44eb8bc087165085f7d51f5d98ed1618787b3ea45df99a4d3 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405161715182293-cp310-cp310-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a3723eb7cceb78dd5b443bd299d0ffe60c7783ee703a3a60802da23d7e7cee5e |
|
MD5 | aab8f986411e58dba064c7ba2b163c2e |
|
BLAKE2b-256 | a06a2529e404a6d4e11fbd415f635860055b6cd1e1f9b711e2d0dfcda5221b2b |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405161715182293-cp310-cp310-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5e04ed95d226277cbe19fec1cb4e0bc7bb891d79ae175cb0def7cdac03205953 |
|
MD5 | 843abb65024200bbe9959b031a6ecf7b |
|
BLAKE2b-256 | f0e67d15a4c8e49a9e631e8f6daae42745667b5e61cd4d6be64eef9ddfb05a09 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405161715182293-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 79f14832b1ae4d7da5fd6ca89ad938bbf99d5586ddb931cb0c83327863871d54 |
|
MD5 | 241ba97fc99f9cb01e5c7c83f46093c6 |
|
BLAKE2b-256 | 0d55d1a47ce10a3ecf5b5c5819e1abdc423e8130be218a9bda221356ff750c32 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405161715182293-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eeae84b529125ffd25c4e93d56208819e9e05e8b9664eae626afa3db3186aef5 |
|
MD5 | 4fe88ebb35ff36701d0bfb85a8e3196f |
|
BLAKE2b-256 | f5b19b3fc1f8410ee857f9e25ace7eaa6d1f20ce85ce0ebabcb2cba794f22ac4 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405161715182293-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f66884f68e0d4d136fe987db6a7eb261adc2fac8169fa205ff6ce3e31f68be63 |
|
MD5 | 7887e3f556b931bacca2f9ded5922ce0 |
|
BLAKE2b-256 | 3eeaea5b6fe52cae6405f71453f81ee1bad866fde5c1aadf489899efd3574af4 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405161715182293-cp39-cp39-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 580ba608b00711b18d7016ab20d5fe2e9078a7342d4f18871b14298091e12eef |
|
MD5 | 9164ead98f68e6489f029600857984c5 |
|
BLAKE2b-256 | fd8b399631c04071bf7cbc746a1391ef275bc5b5c51e83f6661de4cf6c4ce397 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405161715182293-cp39-cp39-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cf45de53e1d001e3004105c8ee075ba98b0b13d7a9904d450850a5ee5a10c4ca |
|
MD5 | 19d3dfc7a0c301630c1155322982a73f |
|
BLAKE2b-256 | 68bddef86d4dfb478366facb40bd30a7f7271f9a77b6da7387e6c2dbf08167eb |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405161715182293-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0d947d67cc4df6ddaec0532c5f139413a150b08b86f158556ddfd5549c166756 |
|
MD5 | 1f2c315ccded48522b49aab9a704196e |
|
BLAKE2b-256 | fa7511854f6168fc95f08f16a2d82b24d12d2fc9fbc3e49c7cf1e1ce95e8d4de |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405161715182293-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 355167466da79fdaa0b37df486af99bc5fd684c719f1c7cb2f8b051d809fe097 |
|
MD5 | 0722f621d58cceba0c2f29988233a640 |
|
BLAKE2b-256 | 561e10184c7386c327c0a9f4229a44072092325ae48472525dc1f70a4ea24186 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405161715182293-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9c239c1dad93244904534f4b982799b9ccb2f1f553ce9a96e7e024619a9f9dca |
|
MD5 | b7a6f7e62f6e4e6672d603841827dee5 |
|
BLAKE2b-256 | 86aac4c3e001f31fab2af30440a1eb8cf7957bd5a42e8b24c58c6ba33d10e069 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405161715182293-cp38-cp38-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8d194cb44434d3705cac47a24618913c18af0e6ace269a525182c0d76b823b8a |
|
MD5 | 7b4c172395b57dafd4c3005f7c42e957 |
|
BLAKE2b-256 | 919069946eb7b33698c64362fc4163af4c06b9bdfce33ac5816ed25966a6a0c0 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405161715182293-cp38-cp38-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 79b3c6a8af96cf3379ca10055bac87143dc851e153c1c839407d9c1aa765a883 |
|
MD5 | 0b53049b98a52c00c0bd2915d77ce4ed |
|
BLAKE2b-256 | b433acaa468ff59ba0ad29900781146b3fee419b4266cc360c71912666196a2e |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405161715182293-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cfa486df40f364ccf9259eb70f44ab30205ff7e557901f7542dfe753c25f2e92 |
|
MD5 | 7f653f1abeedea5da1a12446a59c4ef9 |
|
BLAKE2b-256 | b0b67e230a7847dd6b4db11311d017636e6e808e95043ce2f5ad38d8dbffaa2f |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405161715182293-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b9650b9b4970c40bcbeecfe4dc9c436603362a085bfca621a1ff7a8414d6fa11 |
|
MD5 | 05d35f964b8b560a981c7ac4bb45770d |
|
BLAKE2b-256 | 3fcbcbc599b52602494c8672cb6214b4d1ad46532b329ee20dae06564a25c31c |