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.12.1.9.dev202403071709747362-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | be50209acdb9892db5d2b8a9ddd38443b3fa7e62fefa95e55c51fd2c80f52518 |
|
MD5 | 59da3beb3789ac6e450cad29d2319928 |
|
BLAKE2b-256 | ab8f7d5904d3de07af1f06ded20faca2aace0ec501cefbb0ea1415262eb3960d |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403071709747362-cp312-cp312-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e90ab569d670c96baf967eb44e63bc0b2c303fafed5a9adf33fb51ac4705af70 |
|
MD5 | 9146008b42627c1ebf3cddcecba4a6ab |
|
BLAKE2b-256 | ab2df6d053d317a8d46089403ebc1c2d7365ab40ea321fc71dc65dffa797133e |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403071709747362-cp312-cp312-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 077beb76962c890bed57b6ca378179009f612d85f137d4447ce94b4471bf48a5 |
|
MD5 | ee4ad7ea147109e19e76eb69db72dfe0 |
|
BLAKE2b-256 | eeb86788e8bd3c0ad567272db73040b364f8ec293c026a2e35999c4c694967f5 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403071709747362-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7868cb1a1e6ae07d938588996dadfd17ba5fd69caca6edac7d92f018b8cf9a78 |
|
MD5 | e1b07982bed58cb91dc20a18101c4ce0 |
|
BLAKE2b-256 | 3c1baa39538f857a808b6d31a6241a66010ac5c73dc16b3fa2b4f5f19347044b |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403071709747362-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | de6bc381168b8ef2e35ae44f37e75a6900a34c2ff64546348d388c38c987904a |
|
MD5 | 89d624f12f90035182376867c3ed9506 |
|
BLAKE2b-256 | 760c967504e1853d4c1be432d20a0af993218e230e98beb1c7f3b56328783880 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403071709747362-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a25ba01d98b152a3cb578a44a1e68dd0f886783baa89d8084f89212f19e3bfdb |
|
MD5 | b0a86558730aa79b25cc3aea45dacdc3 |
|
BLAKE2b-256 | 250f01ec2129b3125cc436eee034722ca3fa2af45a27196928b3ca5c61ee71dd |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403071709747362-cp311-cp311-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 38b5abbbef20051e3a6e70b5df8d57f76a7c938a000144fb98f94e25d78920f9 |
|
MD5 | ba7fddb840d714e1184f8ec9170b8c52 |
|
BLAKE2b-256 | 6347ce1d0d37dc2482193ac1f62ce0948c3c9ce1eb9797b4baf1d982e1adc09d |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403071709747362-cp311-cp311-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3aef9082b000114a9e73e26c7f514ced6a26f68fe991125ae23bb96d3949ecc0 |
|
MD5 | 51beaf131052791a2b76eb5d4893f133 |
|
BLAKE2b-256 | 3b8c83123b9af3af53ddb54ea9f4b0e903e6c797c746a3bfbcaed2d288b8e464 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403071709747362-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2144df782728ad32034ac06d244334c436d6c797b49cd759a8c0683c8a7a473f |
|
MD5 | af31a0287162f192740757a502c04a41 |
|
BLAKE2b-256 | e21a9de1a48840079552342325a1c3466fa6f4716b5760d46d35c705a7f11acc |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403071709747362-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a1d2701402757e4c37482b2a927040a58787b2dd01f2ae01ebcb5f2cd564482c |
|
MD5 | 7bca0bad081ee927fcb77fb2a4cb79b8 |
|
BLAKE2b-256 | a328e3a5391e4cea23e9a88257d6feaa42a31f829b221d18b8abca72eb681328 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403071709747362-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c254546bcb3af853f341f31642b11ffedf60a2c8ae1e572649a3a630de95b622 |
|
MD5 | f6452362b6f3219a93f86190ba61c953 |
|
BLAKE2b-256 | 9000826cc871c9afe6561e26d59196291325103f4a92f4c99cf88bda535b553f |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403071709747362-cp310-cp310-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dbe34d2e191f9d329383185f98413b79036d75d8e0b0298bfa1d1f13b3ac9f1f |
|
MD5 | 2d573e2cf5019896549fb7b2181b9a82 |
|
BLAKE2b-256 | cbfde82b4dc88a15cef14c6b5f6e85cddb01e42dd5045e1c8bcedcdc63c135d9 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403071709747362-cp310-cp310-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7a827891a67a19e2ebae38f53547aba8e14fe142a6f6a681099bb1f0670acd73 |
|
MD5 | 96c81465013b2c1e58aa2430ab358f02 |
|
BLAKE2b-256 | 1f4fa613c189aa411b7df51bcadee0730ceb14fc990c0fb89be3ff88dde40060 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403071709747362-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 49c09420f2f4b49d70f5c94fc7069166d3665f911dd4cf3326d9fc3ebf781a1a |
|
MD5 | 8b3f5ce8f65573d9389784108c589017 |
|
BLAKE2b-256 | 5e6d73cc107b0c6f1c57157aed8c476f814afb5cb42f97658c650a60810641f1 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403071709747362-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1ba5bf55a04feed55a716d261010bd4a96bb07e08192d7f57a351ef1039bd91e |
|
MD5 | dd7d55efdd5d86e1e148a1f055df7ec9 |
|
BLAKE2b-256 | 125418d7b0908178df647515c1b72ed59ebeda315f20d61f7af24fa79e11ec33 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403071709747362-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | caeb70c37fdf8b0b8830f90add78965f2d14b7b4b53cbc8de1ff38b68c3d8510 |
|
MD5 | d146bdb72893da279a4bdf940b845c32 |
|
BLAKE2b-256 | e51b69803732f3f46ab828714233e9d9ca3f3568f4ff0d607033494ffeefa320 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403071709747362-cp39-cp39-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 41331237eb786914dde222697aa7cb0164c46bbcadee177a581b11e38a13ff52 |
|
MD5 | bcc83dc216904fd9df72495984b60736 |
|
BLAKE2b-256 | de9d1703ba75d3e915ed5ce0a0a6f9bfe15dc2e82023142a6c98acc26be9d5ad |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403071709747362-cp39-cp39-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d65696da6de77614aa9426ca8ea09e66ca08b8b9e3d856caf80cdccffe9a5c0e |
|
MD5 | f87919d180764c982db20ae58510504f |
|
BLAKE2b-256 | 1d296481adc98178c35e6bb8b0fe4b9b270c071ac05e19b52f74f06f23ecac09 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403071709747362-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 386bebf970a623daf84a2465360e3d956bec9005ad546a5bf16ca5bc886b5878 |
|
MD5 | e8987c5893d625d1b8b7b0c4649bfb2e |
|
BLAKE2b-256 | 1e9be7405deff32768e8b3b9967b2aafba0f7a0851622b209ff633bcc6aeabc1 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403071709747362-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 10511ed6471c0b6a83d6bab7d19adebb4e95ef5163bbdbdc0081dff1750f3088 |
|
MD5 | ae347506ccaf1a11359578b16099d884 |
|
BLAKE2b-256 | 5d0e570bd5c38f50effc6dbf46dfc9853c1144d27fdef54d134c2ccb82343a12 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403071709747362-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6ef5f5167521802862c3063c11df9057c9bd6b462f6fe89134ae164e4bf245bc |
|
MD5 | 6f8a467e90489e7c2bd00cd0a2228cc3 |
|
BLAKE2b-256 | 2838dbeadbf4cc170a95f42e3d46e704369298f4fd898226042bcc442265e4e2 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403071709747362-cp38-cp38-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7416db925d59531aa5358e05e04bb25bd462b2ca7e83d0a7de5488bd97a8a7d3 |
|
MD5 | 3b3a70c61f6644e5d1452f1861e040b8 |
|
BLAKE2b-256 | 7292c02d648ab97d7cadb7d45e1ed1299382292bb9a0fb8b8a8cfb25aaf86531 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403071709747362-cp38-cp38-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6051487c4ac64799aafc434179275a73260182d318de04f230e727aa94df39de |
|
MD5 | 6bc8b7c91ef1c763ef67021ecd4971a8 |
|
BLAKE2b-256 | 899e77e473c7e9d9beef7a2fdb9a4823b2a6f0a6a1d7b7469eaa89dc865117bd |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403071709747362-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 43ed3ff602a3fdb7829c89aa2e0d30a48c2ffbef3ba519270c1315db965aefd4 |
|
MD5 | e670fd27cebb278b5e98e90d72dedbac |
|
BLAKE2b-256 | 6205fd1fa5ad4fda7c88296a3a2390ac515ab293f47dddc4d4460469523c123a |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403071709747362-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 029dc7bdc08f2a21e763f61410a61bc5a618a34083230a5369e1c77a33604ed4 |
|
MD5 | 2843b62a4b8854bfb64de10fed469c34 |
|
BLAKE2b-256 | f9a0d845d3ccff589b7e87f4355f3180077a58754e06e3ab0857b4f6c71889a1 |