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.dev202405121715182293-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4ba0de35e99d91053a9996d76f6cb668c9a86d5509ca834b498fb81a7124312c |
|
MD5 | da7614075d809add33a01b8c954dc3bc |
|
BLAKE2b-256 | 2892ea0b7d51a45d276244651ee963dccc6a6d2f5f776e39eab31e2631061be3 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405121715182293-cp312-cp312-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 04fb4e8604fbe5576097b98b50c65e4c499d868367b84a2b3dacd23bf1ca06df |
|
MD5 | 33869f2fa3bb9bdfb91aae15a67447a5 |
|
BLAKE2b-256 | 05aad351db28a85d7d0b4c4a6c3101940bc92bab24d2aec54e4f3967635ee3e0 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405121715182293-cp312-cp312-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c4a02ee8174e42d0ffcd3bcb5bf32ff98dbb34594822c9a6e62b077c84c7a77a |
|
MD5 | 812420305d69341c147bbda5e1f18a35 |
|
BLAKE2b-256 | f09a76882eeadb46d34c9a97514d8d7d27a0e0dc4432d3904a352e74260df343 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405121715182293-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 678047020eae02429aecf2c7ddf6361c316455838b2655cc90b7d3801ba053a0 |
|
MD5 | 48490cb9681f52c4d23c8b532d5dcc80 |
|
BLAKE2b-256 | 787f15c32c8252d4f9843248fce9ceda0d8d1d901de1b1356ea14cc0330a3033 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405121715182293-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 68e1e13a4dc1ea44740707f8568886f2d8afc19894a656af7264f77099c9ff72 |
|
MD5 | 6ea52a7151c2d9d5e3fff8de45c26c8a |
|
BLAKE2b-256 | 05fd5e85fa66f0d0026fae9a4778face81a1082644ea9b85ce3eb731be882371 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405121715182293-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d6cb1a5ff39cbfe358cf33c25f201abbdf5dd7a6e7feeaf684faad236b17fdd6 |
|
MD5 | be248fb36b902f6035f5af5d0e2e0e28 |
|
BLAKE2b-256 | b04f65dc812e5e205b4b0e01249581c4d24b525179ea99c971b65878652612fb |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405121715182293-cp311-cp311-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6d4f47d845c89d93735f88e6732c021e36e3ab56e2aeccef4c15c01e855c6d08 |
|
MD5 | c603ed5b9c63bf560a4b4c7817aa4c1b |
|
BLAKE2b-256 | 24dc3020b138f0b2bc06278579acbfe6c7aa2cedd8fbc9599f98809309bbb2f1 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405121715182293-cp311-cp311-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b9b63ecb6db2afd410a574011ee60fce4affcf38aa7b76f44fde9b865ca67758 |
|
MD5 | 5f53200b59d2a2f9d043967cd22bbf24 |
|
BLAKE2b-256 | 6b62dd48f13f1ba145df61fefd72cb04e1cc689416d3b5add9a3acc6a68b39c4 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405121715182293-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d2f843c154363bf3d1b5d0a6566c1ea10b8eba2a9c719a979603e2df05ac0f07 |
|
MD5 | 586ce2a72370e55b35b5cf8924c49902 |
|
BLAKE2b-256 | b4b8e724b27d6cf1a56fd4bd0705310bf8fee638e6c5acd8c78a4b50ee2cb732 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405121715182293-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2f62e59894453a3f7a687d48520e49fa5b40d80f96f1209f26ad0ee044623ca8 |
|
MD5 | 9ea675d954fcc382fadef12a08e0d967 |
|
BLAKE2b-256 | 3ce96374f7ed1d48b363c7ef73535ea8c2d6e9f594ffcd81a4935dab7c5d58f4 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405121715182293-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 360f0610919974b7432fe671d1a85291b872b3f38fe09aea6ee07d5f4c13bdd2 |
|
MD5 | 92a72b445ca3f7bc007e9b2d50e026c8 |
|
BLAKE2b-256 | 705adaf28e2181d02db154eb5a601dc2efd2229909fbc5f92b186d1d145b4f4c |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405121715182293-cp310-cp310-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a65d2d3d8c9e4151adf30063de2104627cae5063529a6f7ec9c3b779d15bc1cf |
|
MD5 | 25b716621894a6aa1530a81e25186a38 |
|
BLAKE2b-256 | e7e5d23e27f057c7d19586749536344de39835f8000202d66ec0b6cc46d64662 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405121715182293-cp310-cp310-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 47acec24193d2367cb4e1438b1dbd26f4a36ff213e75bdeb6d005598ece19e74 |
|
MD5 | 6366e8426ef48e1611808976d16bab0b |
|
BLAKE2b-256 | 5d0369fb2522ec34194805c0323875f2a3f5a4c4172ec3dd554ad87127cdb6e8 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405121715182293-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 70f398db4b681bc5984b90d8ae14045f2c8fcc7eda1d66bebf3a52b520115ee6 |
|
MD5 | 0c2150965577873de6eb306cea689380 |
|
BLAKE2b-256 | 9e852263e833d5eea276b8c18bf4e2786f650e0ceeb4982495376ee0bb026c54 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405121715182293-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c4284bccd40f381a49350b26a73f1d9d227589ca2c4d197fe592be0a181bbbcd |
|
MD5 | 2387365882d9ff36f3c3a12e7ec58341 |
|
BLAKE2b-256 | 07901e92f514ac3ad6830c771549bfc426ca3bb91fd78464634b441e45e619ec |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405121715182293-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a16d9f2e72ac721d717890f534bcadf696edb165038ed2914673ad39e58d93ae |
|
MD5 | d919875f6284d802f8ab395d841f7fd9 |
|
BLAKE2b-256 | af990fcba2d6b9ae466751df03bec87bdf717996795c1fe951fd38c0da762ff1 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405121715182293-cp39-cp39-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6d253e3f1dd1e64a2514407b1354bcb6a5c0457b1e35f38f7cff245ae1773099 |
|
MD5 | 5e3c596aaa8a636d710415618e4f0ee7 |
|
BLAKE2b-256 | 666f0507123e95688906408dda6cddef0221873e6294f81738acd34ea9ccd3e9 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405121715182293-cp39-cp39-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 78e69e54a4f6e72f433457ad2213c8f80b13544a109159357c1128c5aef7efeb |
|
MD5 | c6c6dda35b69d457f2d4e375d4fe60ff |
|
BLAKE2b-256 | 500ee44183689410bf37071c0dbd9f172cb00de027f2ee88c184eaf8de2786d6 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405121715182293-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0b6e4acce0250a0bf179b395eb9224c52c036b771e2968e91cbd8a1f27cb92b8 |
|
MD5 | 010e522d2cdaa8f30512b9050ba2397f |
|
BLAKE2b-256 | 63f44e7fc231294f30f3272f042eb6463a1217fa37e63bb9e0c8419e2973b78c |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405121715182293-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7a214a5526409dd2829a92ff69d742ea6a9ed2070cd78164a8e4de34c15c0c7d |
|
MD5 | 2e68ee4ec4049020678f91cd176ba425 |
|
BLAKE2b-256 | c723d62103360b74851c293ae055fa2fea38ea63ac5a3d2213d278c9df6d229d |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405121715182293-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ed543f4701c21421e145a2b86e72b877cfcd8fb5ab91edeeea87ebae20dced20 |
|
MD5 | b56e3662c371842855d34bf604c3ae74 |
|
BLAKE2b-256 | a03bc01b9f992654aad08f2a1210bafe54fea3251aff73c7b5dd4c5416fe6ec2 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405121715182293-cp38-cp38-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1df045f3f9a88e834c81b345505fc4556feb43c87b9207d6d1a8e0937cc02b9e |
|
MD5 | 8ea0fdda6264b5a5e8f385128b484e63 |
|
BLAKE2b-256 | 3e0beb3ba9582d42a6eb3828c54fa7e32cbb6d0ed196f253c352009a79cba1bf |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405121715182293-cp38-cp38-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d382281150fbec1621d860d1f2c5a7b3b06770de01b371055e4f4e4ea8f01af6 |
|
MD5 | c7e1d280da4f56bfede9bdd145175cd2 |
|
BLAKE2b-256 | 77f10f66d6a3c9480cf060b60deb3263bd1e34d4b4934363d07a14aa643c0f5e |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405121715182293-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 756c1d83cd5d800d8850a97f7518b8857cb914c192a5192cee608692c2d2adc7 |
|
MD5 | 1d02517f77ebbc246818fe19b30928ca |
|
BLAKE2b-256 | 747477886e7443c6f0d9b6f82a4dfe3701ec2a372f09a06e758ecc62cfa90962 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405121715182293-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6d32e1cabc56f7fb3d076502db9e91c4400a11170ca51dde49eb7d441ce1bd80 |
|
MD5 | 60ce4be6e9e3e31197204bd12a5b1ce8 |
|
BLAKE2b-256 | f3b5cea21f2f97b7f9179c850e5147e108bc3b6c7c8c0151b0e80884ac35abb4 |