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.0.dev202402151707820181-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 483f2747d069bc0de2841ec5cc8b75358f42f12bf64c7ca36617d6b73d209d30 |
|
MD5 | d9bfea4d075e342747e13dd86633fab1 |
|
BLAKE2b-256 | 40da317d1b9eddebf196df6621f7d87e42626211cd1979af5b801ba92fb44907 |
Hashes for pyAgrum_nightly-1.12.0.dev202402151707820181-cp312-cp312-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7f5def9a114379f9ee7ff7fd8458c1e592081782322e286d0ba06bc719159481 |
|
MD5 | d371973d112cc3b883336201998d13e2 |
|
BLAKE2b-256 | 73b36efc2000311b0320a1c94d6e474384b8400f1d5f3221ee497078d5607c81 |
Hashes for pyAgrum_nightly-1.12.0.dev202402151707820181-cp312-cp312-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f0a6b7ae89d5bf2f52f078a53c48f92328ccc38f401e13c90b6517a64f59edcb |
|
MD5 | 18d8a56551b45755c30a42d39bf322e3 |
|
BLAKE2b-256 | 5f45d94c7cdd09a1cb65c68f44c4a814c826f91a845804d41de3cdd4c52d2eb2 |
Hashes for pyAgrum_nightly-1.12.0.dev202402151707820181-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cbde48ed1f37431418b79fe168e6dd0bb4a18b51d8ebf4642f792b63286cd173 |
|
MD5 | 0e34c17ad7ce3441326addfb5ef09b60 |
|
BLAKE2b-256 | 0d9e6494c2736f5165894610171e143f6411c8c6c58ae781aa849d3ae8a5c533 |
Hashes for pyAgrum_nightly-1.12.0.dev202402151707820181-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 577c2ee3414da2df5e1ce278d80a6a0aa8f26374e8a64dbdecb448b07abd8101 |
|
MD5 | a1c1ef71652d9ee40ffdca547b488d8e |
|
BLAKE2b-256 | 50c403486b4d5da5aa01c160b70a4c2d9b270ab96d6cb8ddc72a44920959261a |
Hashes for pyAgrum_nightly-1.12.0.dev202402151707820181-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5ec4cbbbb567be6407b95141f6ac3077b19e17b26e2a3feb8865eaaa8005a836 |
|
MD5 | dc4638a19ea9de5f0878a365dec0899c |
|
BLAKE2b-256 | f3bb933d0d92d16c8c601792c0249e594403497986d671c09862141b55e64074 |
Hashes for pyAgrum_nightly-1.12.0.dev202402151707820181-cp311-cp311-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f866d304cc49ad5ee724a5bfd96d764f2e5cf596a453bad906c8e3a1a81d573f |
|
MD5 | ab2c3c32d700235af3add78859db77e2 |
|
BLAKE2b-256 | 4921c49029d6f07b64258aa8badac25d630d1e7eec83a48a9c2a7362d4b9c09d |
Hashes for pyAgrum_nightly-1.12.0.dev202402151707820181-cp311-cp311-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ebecbbe7aa54c1ef40116f5cd68514c5eab2650d7b78ce375a9033195aa2b597 |
|
MD5 | d38c63385a322a0a3016247396458933 |
|
BLAKE2b-256 | 9f0fe3c2b4d1ba857c64afe1a9d80364002fab41e9d637356b9d71add4138e43 |
Hashes for pyAgrum_nightly-1.12.0.dev202402151707820181-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9dace4ac1eaed3a8d101a84d607c96c2433e1f5a94280ec6d8c845609d8f1762 |
|
MD5 | 06746007bceddec81083e23dc224a76b |
|
BLAKE2b-256 | f7d8e7b2a7fbcc8db40884150f778ef2d98aedf8478889a51d00941cd8164139 |
Hashes for pyAgrum_nightly-1.12.0.dev202402151707820181-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 902b853195f7a05f9389db11d495c9f6c40e327f10ee97abab6fe3b903e3d43c |
|
MD5 | a4533b41859458fd85dc5e53bf303fd4 |
|
BLAKE2b-256 | 22497fe31c8d10b2cef7ac1c778b5cf9a51d2963896768a2c219ccf1d0e95fbe |
Hashes for pyAgrum_nightly-1.12.0.dev202402151707820181-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eca136fde2b22b49ab0e78c6a47b5094f8d46b4ad930df18c355d48914aa7589 |
|
MD5 | 4e309e72ef44cdae41913ab08c2dc598 |
|
BLAKE2b-256 | 948e0516638359dae934268b938e6a610fae8542e8bb44bfe2c4a99cb46fcc69 |
Hashes for pyAgrum_nightly-1.12.0.dev202402151707820181-cp310-cp310-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8659377460cc4246ec1d159e7404ba94442dbb683c28137ed221e9f13d1e636b |
|
MD5 | 72d8abc3b7554ccadff7375569cb2d83 |
|
BLAKE2b-256 | 4d40e33b44478a9b28148f5961a349806cb4e9157888a01ca4c3be474edbadb1 |
Hashes for pyAgrum_nightly-1.12.0.dev202402151707820181-cp310-cp310-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2098391cdbb053f298f51d68fbcc8085d75c40afa2126f1df991c12a6a00201d |
|
MD5 | 0144bf39563facb4662ac92288b1f9e2 |
|
BLAKE2b-256 | 4fc36548e52b125f0044f25bc31f2a69df915d7ebc54dd477e26b28cab477fad |
Hashes for pyAgrum_nightly-1.12.0.dev202402151707820181-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0a1081de95a837a03fc31259515e4b9483ed8f431dd26f2d0204974c49d8990c |
|
MD5 | 0e37362dbf3e7ee92b0ab3fcf6bf7618 |
|
BLAKE2b-256 | 97b805abf43e418026c4e44fc5bcf80ad62bddb6ade3b66fc209c036fc961b4f |
Hashes for pyAgrum_nightly-1.12.0.dev202402151707820181-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 39a0d72e18c8f6ed3dc9ce6f3b1f8869a61014dca5e9d6e695f56773abdcae23 |
|
MD5 | aaa8cf50949e3ee5ce98d39e433e6466 |
|
BLAKE2b-256 | c89b92307d5667cd216645ea1e8d479e4a5695f44845960a8f0fe41dca9f5578 |
Hashes for pyAgrum_nightly-1.12.0.dev202402151707820181-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 50b3a70ed9be6d9a8908d3b30740427d03efcb6c14ccb1329c1dd848eabe4794 |
|
MD5 | 36049d4cea04ce131e4cb3e81aa97777 |
|
BLAKE2b-256 | 728244ffb80872b8cb6631da65da598a3d128db41f024136681c577b2897b3cc |
Hashes for pyAgrum_nightly-1.12.0.dev202402151707820181-cp39-cp39-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5595deb353a61ab8aac5406dd70021aa925cec570182e626fa676f87c82bb3c6 |
|
MD5 | 36c2097bdffe5063769b63e874d3c92f |
|
BLAKE2b-256 | 74bf6fa345cff8fdc6cbcef9ba5bf100cc8c03527bcc94ceb3aa6311edda8e17 |
Hashes for pyAgrum_nightly-1.12.0.dev202402151707820181-cp39-cp39-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d02cdb44357083123e1706bbbc33a996b85e481ad4507b34ebd14bad6b10cb2c |
|
MD5 | 8290d7cd1b50151447cdb701d0a8766e |
|
BLAKE2b-256 | 50e9f7ac9c8c366641c8d98e13fba0cb4d93943934d8c63aef4f71b9bc711b78 |
Hashes for pyAgrum_nightly-1.12.0.dev202402151707820181-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1327775ae9173b475cf7dbe59d8cdcb7272367173da1c7c258a1fd211c2beebf |
|
MD5 | dab7558564c30e0229a3b48d98aad6d7 |
|
BLAKE2b-256 | 8f52d4a59d14961147f9a5c28ed46d4b32a3a9b21b3c460dc993cd60342ce147 |
Hashes for pyAgrum_nightly-1.12.0.dev202402151707820181-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b98c181606837d6bb19b034e04e647b9e69b4f9f44ff240422b7e565a88be33b |
|
MD5 | eb6cad2b11f8b1524e37b6f056a675a1 |
|
BLAKE2b-256 | 71e7a1982d8fca776a431091a8995e115e6801bf7b0f421cdf59f5650916b909 |
Hashes for pyAgrum_nightly-1.12.0.dev202402151707820181-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3303221e17a22b501fe4d0bb3581710127dab83e2d073b2e1582c27d7e05086d |
|
MD5 | bcc89df494179c7736503753c537c3cb |
|
BLAKE2b-256 | ca2eed6e0f29dc46412854338f502461051e7a48e5473cb35f0c6fc4f412b8a7 |
Hashes for pyAgrum_nightly-1.12.0.dev202402151707820181-cp38-cp38-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6b8073df2dc952d541b4467485e9a730ca93a39f628f48058fffe153cffb196e |
|
MD5 | cfa045aea54c11235284356b442264f8 |
|
BLAKE2b-256 | c17264d5a2670c865e35517f76bb8ed0bb4a37c72ea44ba7e378637dc10d4900 |
Hashes for pyAgrum_nightly-1.12.0.dev202402151707820181-cp38-cp38-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c85cd69cc6e340907cb2f4ec03e9d64f6eddbfe769dd08a0ba702b55556ad983 |
|
MD5 | 43da575740d16e20b549a6160ad2f229 |
|
BLAKE2b-256 | 211f1835a31a02fa4494602d025c9c4cea72d414dbacb17ab1b402f613d3b078 |
Hashes for pyAgrum_nightly-1.12.0.dev202402151707820181-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c1374e88de35bcfde94901d16f84e24d365fea73d802b3de1ae3fd61c40a9ed6 |
|
MD5 | 784e51e8cd1aab9ca6b2e45b7fb8ee45 |
|
BLAKE2b-256 | 58e4fa8f700172c28085ee5269dde45c18e05d325045557949122ae2367b4185 |
Hashes for pyAgrum_nightly-1.12.0.dev202402151707820181-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5b59c89b8894c30f688550790e4e3c2490f02ba406dc3b4c14a1e185fda76da7 |
|
MD5 | 163123d9a32144028efa22a5dded6973 |
|
BLAKE2b-256 | b0815a655e6bdc4fa16d078f97910a2d72689ff0d99771aeb64dfa52b09e7021 |