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.dev202405141715182293-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5551695ca8cff619a5fe374c231f27a8956e87aa6bfb1b5291a815448872eab6 |
|
MD5 | 2461ecaac7608962ee82aa21d203fc72 |
|
BLAKE2b-256 | 523d06fcec44f5c1250b1bb8432cb5c89bed0b8223765acbe4decaf44b74d572 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405141715182293-cp312-cp312-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 770bca7f3a4b3be65fac153c38d493b4d4b51525565971ca9469bb449ef50497 |
|
MD5 | 008cf76019b76e0491d4307cf315e097 |
|
BLAKE2b-256 | 99fb110972cf6e05b324761527698948f024ce0ef6adb33ad371cb279cd23a31 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405141715182293-cp312-cp312-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c007b5b3117f036a3cef3378e0fb716dce0f82a86e4d5cd89f6e1dfa8ae0265a |
|
MD5 | 6e47b3f0423f90175607de5df5e9e7db |
|
BLAKE2b-256 | 2ef821fdee05e5dd1de5afdc0692b7e060045b8db81dcf02906845a2b568449a |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405141715182293-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 74bf6b060fc2302248341be82b6748e09cc369b9c4e5d9b7eef080376dde1651 |
|
MD5 | 689a217d94fad9040769a4e05e0941b3 |
|
BLAKE2b-256 | 408de5103a11ad9928128396355333fab97496e9f2be177931119db08e5e3030 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405141715182293-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f044d8bb34f15ae3dae286107f039e4559599da0685e47fd7e8bdcdcfba83e68 |
|
MD5 | 4cde28e5e3a2ec41e3e2218bfba16c0c |
|
BLAKE2b-256 | d3921ef2d9e92c64d18afe2a30ab1368dfdf2e244eb282deed7e63a2f71968af |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405141715182293-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0f28f1083684f238f2e62f9eb54ed8c661ed4282231574f21b925831fa1e5eff |
|
MD5 | 99342d9b435550d9caaa9e452168305b |
|
BLAKE2b-256 | 814c5354bb44b47117864bf8817c1d9f7d8237de52b23f7079ef64e0aa1f90a2 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405141715182293-cp311-cp311-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9fc16d4a33b7a742d81b652ccd10a115c764c6a4ea6de56735129457242de6cf |
|
MD5 | 3869679bfe34991a23e54f958858c31d |
|
BLAKE2b-256 | 0c96e9b478edbedbc3122854ea18dfe2474167d2b59007c8b659333f69097036 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405141715182293-cp311-cp311-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 52ea7797bb3d4b046f889f8d72da3cdecdcf3c7d1c1382a44412aae97c353f45 |
|
MD5 | 80644682504aa38a9de125ba5f723e2c |
|
BLAKE2b-256 | 95bdf38f252d6969747fa6df6e853d8443e5cae999356bbcdb74a5fef64ea3a3 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405141715182293-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e14f1e3fabbca4699e9d5406d7149784663a7b9b6b547064240ed08d318fe16e |
|
MD5 | 7d5c4d53f1eaf2ccf8a14e3becb5da7b |
|
BLAKE2b-256 | 0002218fc4681ead0e1541661850567ff5d3f6ef2a6ff959ffa59a1b92a6212a |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405141715182293-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cd143f7b109bf1f416288300b6d7b51dc1f99236919eadad195a5d608e8527f5 |
|
MD5 | 198ab7c651249ae00c616cec93e7b19b |
|
BLAKE2b-256 | 838559aa52a9245fb86b18326f5071e08f3b44c6c7e0dd03aba160b127b5bc75 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405141715182293-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2e2e836e7adf7d10062d2c7a41ce3c5280076705b0d433cb6b1983f2d4cd962f |
|
MD5 | 314c970883984990b6df4c6f7e8638a1 |
|
BLAKE2b-256 | 8f0ac73f6838d980ca8644f4a254057e4f70483a26263c937f2bceac86e13dca |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405141715182293-cp310-cp310-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 359e410343ac5a79efc219c489df2cf49dd14d05348fac5655a3a42245122f6d |
|
MD5 | c0942d1105dbf4df0122895e97f74f96 |
|
BLAKE2b-256 | ab6a2a074a398adeaccf69992f449f6337c8a1c207081f9039b09d1ef2dafd26 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405141715182293-cp310-cp310-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0444138222642c553ea06c66e700fd6f3d334ad9f540ae155f3effc6b069cec7 |
|
MD5 | 8b4195ace5d6bf80daf763aa378fd1c8 |
|
BLAKE2b-256 | 27d8bdb6fdac8b71458b55ad24cfbba9a420581b182e4ba9d93840c1982b73f9 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405141715182293-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dde6fd1bb8cdc93129b2b35e9608009f37d40bc5798dd0d27a373f485eccd3df |
|
MD5 | 348f1b2c84ee92fa59444c5b8afce0bd |
|
BLAKE2b-256 | ca5bf1829e8df63c5bdbb03dc0cb30bcf2a8187f9e184fa339fc13c74cd09065 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405141715182293-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7847ddb66fe3276a9e1da873ae2fb2eb6d9b3a2fb4b15d4458b5e6936419ec6a |
|
MD5 | 237ef221bca6c05f556374d0811a9127 |
|
BLAKE2b-256 | 60a2ee3313c5f2821d03f196783b104d10b801efa3e22bb6bf6114569162c288 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405141715182293-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 68e7a56945a67b186010edd6fd4e091ee33592f8b9bc9bac42b48ed18bceaef0 |
|
MD5 | fcbf37da00cc101ce65578b37f9c945a |
|
BLAKE2b-256 | 5793134eb8beca40ca1e4cf9249b7d5c3fe51c89f14b20dfcc310f2b64a92976 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405141715182293-cp39-cp39-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 58f70f540f7a207cd05a8382717a3d4e718963f6c5be3224dd44e4c114d2dc44 |
|
MD5 | fc4be05a3e5a814899ba4dd5421d92d3 |
|
BLAKE2b-256 | 7e015153c3f2462293a3386cc89a7ccfa19211fb4c598c4487db1b06c5f4132e |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405141715182293-cp39-cp39-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | aeb0f6bfa1eea2fe45ced1ba046e97ad53cf6995de168398d3ddd3ccdd7bb0ea |
|
MD5 | 3b51bd1dae24f83ae016fa1a3cda9189 |
|
BLAKE2b-256 | 67dc54c4ce895d558f593b9e10c1377370a1766a04ec4cb86ecde557a9dbfb11 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405141715182293-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 044b74cf6086dd5bc9dd328ce357371cef24d51d11ceb2f59fd927da31c430cf |
|
MD5 | 0a17505bbbcf0d95d3c75be7b94d2b66 |
|
BLAKE2b-256 | c4c752ec4c4fea7eb1214abdf7e3d09dca118ed5e64f2a40eae59f49b17aeb97 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405141715182293-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 40ece0d267d6bdc4ae2b4d771cf14df8f9ade969f68415e13f0a3fb57bb34f57 |
|
MD5 | c83a23bddbaaf044d9ea801a3f1d7c60 |
|
BLAKE2b-256 | 56dd242c24f0a294043825a497622630c1468dcd8ad7a5c617376efdd1ce331b |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405141715182293-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dde06782cdc3152aee137de8ae8cad30de76a62a059ea462367fde9e4ae0dd3f |
|
MD5 | 39d4bd7ce77f71e937c727beea548918 |
|
BLAKE2b-256 | 3a0c782b48e295e2e8276ab2ab774352ae9b5403cb7ba572b6c1f3bbe6362403 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405141715182293-cp38-cp38-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2961f4858e0aa524616bea31fd18bb321f47baf66331c17b2696e10eedb2a966 |
|
MD5 | 0f1230be7b74f8102193ae7d23856101 |
|
BLAKE2b-256 | 1e7c176ddcd11dfcd746e2bc4d10949d7bb5a3ac903b1262227b07ed8b9f60bd |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405141715182293-cp38-cp38-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2e2c8f49a830a3ba544611e36ecd7661fab1dcfe3f34331f9dd656bb8160bf5b |
|
MD5 | 7bb6e26ca08b6be91107cfec3b3dce5b |
|
BLAKE2b-256 | 1fe860348526ef376a2ac0f11f08f9106ce6ba2a9f7b666a3bb1ee8e340bab4d |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405141715182293-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f165f5dbec1cd3dd45aea13fc8352542ea82765fb3184855824d2a5959d2a6eb |
|
MD5 | 0c3b80bd8624b58f5822776a1369592e |
|
BLAKE2b-256 | 5a0cfd63c9b6f9a78a25fceb5b6e4b9a919e43ceefc4c961a2759ac5a5a04de0 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405141715182293-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 32a26e9ba4a9022b3947ebe2da7da40865e713d02fc1face56e220482766f288 |
|
MD5 | b14d4b365ae96bc256b34c456d0e8c6a |
|
BLAKE2b-256 | 5ba8f26d2fb6940bde2e16aa7c38f494c8ab3d4137051735614c684cc20a9266 |