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.11.0.9.dev202401081704620238-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2e4f65cba59232ee803f6e4f622d3df69748f9ae6d1bab74e26230a2100efc90 |
|
MD5 | 2f8f8d2783d3f526189a6927d97f29b5 |
|
BLAKE2b-256 | 8a5cda9d49805cdc4193bf19da9d0239fbd1e41f175be90ceb7414ab448d3a77 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401081704620238-cp312-cp312-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 17c8410fb5818a2d393fa840df67fb9ec0241d3b2dcc5805e1e8f2a767ebdd3d |
|
MD5 | b4c642e24302342dde1d0fa02188f4ae |
|
BLAKE2b-256 | 1324e1db3817c1fe19221ca246d2f86c66a3787472407a57786d7fd55cfbfab5 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401081704620238-cp312-cp312-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3fa610cdff092e05812c9e036affdbfa272a28334b6e2d06c27637570e059acd |
|
MD5 | 61d2095b4d6b27a4abc7a81b7ddae49e |
|
BLAKE2b-256 | ab6184f346c818a8bf3810e4aa71124a67788d8bc61ef4e75ab57ed11232f7d2 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401081704620238-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5b08a654631c2d4f1d30959b2a88bf70f628958e72110cafd18b907465d6aeb5 |
|
MD5 | 793ff9575935665c1d97b14bb4d32fb5 |
|
BLAKE2b-256 | 42da3644578a77cbde736975a3dbce7ae99a36fb6f951615ce46341e276358aa |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401081704620238-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3f7a60604efed80afbf7aa972e6eeb13ee5eeebd68e197aa6ec66f3afc0557f6 |
|
MD5 | 56d6c642aed38621cf1eba988f1fb5bb |
|
BLAKE2b-256 | 5b160c08982652446c8df8af4eb0f6542c3ce88350a8b816e1bc6eb7a06427e1 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401081704620238-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8b9ea11a186236bbf875ae7ef9ad582e81a5ccfdcd98067ad56c87a9d1190dd9 |
|
MD5 | c2a0e4879f8d14c3962078b3e33d0920 |
|
BLAKE2b-256 | 0ab2320ad83b73afe454719d61c28a5a4ea9340fbafb567e9e522b1622a5f32c |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401081704620238-cp311-cp311-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7a250e806137b90a207061c30e00c6a97e5576c2b7dd4a5891ce78fbbd8784fd |
|
MD5 | 2a5a43fae15b38f671662a9600364156 |
|
BLAKE2b-256 | 278fd0451ae28bf662cba6f3f9053b906c446ba7189c74e732f27169dd4a1a75 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401081704620238-cp311-cp311-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f9d6c383357abfa07dd44f1d855471f10b698617e1e2705457d1539de6fea15f |
|
MD5 | d76d333118f646a7809c619058979a79 |
|
BLAKE2b-256 | 791d9d59b61d9b8ef99e803c80b83ad5c146425a6479e071b03dc774d22db4a1 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401081704620238-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 27efe427edc9466fe52e1b8ea110726764c1fd537dfccd1134afa73d36047bd7 |
|
MD5 | e8be60a7ca1daebc3c28aea9255dbba4 |
|
BLAKE2b-256 | beaeabf91c36a9eb92b70e31a65383f5566bbf0bd88698b44d5ce6a1328334b4 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401081704620238-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5ec2fbeffcdf4e0044c7fade61d9bb7787299c85d8ad4c48cfa10a86bb207332 |
|
MD5 | bda2a91181b8e6166103e0c081794197 |
|
BLAKE2b-256 | 694ad9787988b16c11d9f769def926f385efa1d024f83466a9c7e5ed2692e6d8 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401081704620238-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c5fffed81cd84039658eb91ac0a52803154547e6323963f628d952f34dd0fb22 |
|
MD5 | 52fa67febff95915219dfd9be4a6ffa0 |
|
BLAKE2b-256 | 8752c6339a4342bf4a75fe1b5d6efedff2d5507ca7a5b4e243be9266e75c6697 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401081704620238-cp310-cp310-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 422e2ab9890c1d35866df083f53fa3aa63d59c7a80a2943cef7a57ff73f67346 |
|
MD5 | de0fa228245aeab4a8e1eead1e73b29e |
|
BLAKE2b-256 | aadcc955e42362501c138985ff5fee3057cf8ab71d27974ba3d5379815498ea4 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401081704620238-cp310-cp310-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7f38aa399f9d2ce33cfd95673ed1fb75de5e9c882801684444e086f40ab51773 |
|
MD5 | f00481b6c83110e55700b101f8c0c498 |
|
BLAKE2b-256 | 53ec24829fe4b0e728faa18a39593789303d8b99604f8dfe21169927ce05bc17 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401081704620238-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 32dd25b4b7e3611a6c19b412c7725d70f41ffffc2a4ae52ebcd28e19b2f9f105 |
|
MD5 | 1ca3fbdb7df356cc684d4aa25a760573 |
|
BLAKE2b-256 | 1e6efa31ae114b203ae1bf0a47f869e913bdedecaef2292b33bb468b4cfd55bf |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401081704620238-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1d1eaea1c3d601fa29a13d8b56d045ee8504037c582526d19c28da6a3bcf11e1 |
|
MD5 | 3ed3913cffe00e98032e2f44a91f838e |
|
BLAKE2b-256 | deda651867e9c4b9ed73ba408700ac1e52215c7d96e9cfcd1c9ff4eb6a70386a |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401081704620238-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a4378480ea945300e06b72fcb6452a12d5c8d4c00e78d9537a46038e45bf9360 |
|
MD5 | f793618b40a9124337525c528eb8e5f0 |
|
BLAKE2b-256 | b9b2fd98bd4a2d576f1410ed6dc977532287e501e7de6d829e45480054096453 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401081704620238-cp39-cp39-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 49fbfce08c898cd6408a12b82052723846cfe5f13bda493898df5e8327ff200c |
|
MD5 | f90043fa441644c49ff169910fbed476 |
|
BLAKE2b-256 | 2cdf28fd9a4e806f48dfe2736e05057cb60dfa5d12ac83abf75c90fee748a08e |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401081704620238-cp39-cp39-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4b3790833af78476b4b57d9ca8ae677b6221246a7177aa75e8243540432a21e2 |
|
MD5 | 46868d0c72f1c9779cdb0a1974f6cf86 |
|
BLAKE2b-256 | 87eb771d4846f1a5a61b1196fab0a327241175d4fd7d402c7dcce94821c53c86 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401081704620238-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a2316ecc1348540a76e44bb3dbe45eb0f413449ff9a7b042bd95e965863e1d98 |
|
MD5 | 897e34f2b96fd6ddcf40344a17eb0da9 |
|
BLAKE2b-256 | 6d924737726ce1d83226651373e0652c283565de3ad1fea398fc07a180238ab3 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401081704620238-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 507adb9ace9d886933ac785e192de1ee67edab0e46ada1ee050f8ebf51a5d26c |
|
MD5 | a01107009e99bfd40399bddefca28757 |
|
BLAKE2b-256 | 452f35a9e87062d1ef432a68dc2b5eff431b2195386c450bf78bc08067d7a10c |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401081704620238-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e523c345970b8c8d07515170aa6c6d261f45877aea18e28cba400db471ca4f95 |
|
MD5 | 4ca918b3b0e18cc57e0c78051e28823a |
|
BLAKE2b-256 | 4fa0d345a74698937088efcd7b930bf97af448685dcae8f3d3679b39edd2724d |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401081704620238-cp38-cp38-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | daefbd5ebd8941ccb0c6e859d0223b8a9ceec42837e8c8889961b457a189e5c4 |
|
MD5 | ae3bafd4cfeb02024c1b7f1afaddf58e |
|
BLAKE2b-256 | 8ec7a2bbf8b90a9d24178510b0b301d57c9030d22f8feb300219c85db200135f |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401081704620238-cp38-cp38-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 80a6c9f34b21a62089aed02f6f8c6296df2bf85bd993eb81dec3c338bc66eae1 |
|
MD5 | a5aef3bce66d3f48b578cc368ea8b6ef |
|
BLAKE2b-256 | c9bd07813adc211cdcb3dc234545794dfbfbca48f614be06b429223d2298919f |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401081704620238-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 625fb081aa66342f729fb1da6c6a0394aabee13fb99fdd037295140e20ce3f67 |
|
MD5 | d3932ea27c3ca84d4b8d7c33dea11d62 |
|
BLAKE2b-256 | f4da81d113c74be3072d4a39ea1db4bb30dbf4448ef8f5a787c06d0576618863 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401081704620238-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | aeba18bb8ceec1926f798249f4e7d8d0f9c57eb1b0670719ffa0a545cfad9e21 |
|
MD5 | ce4fe848fe2ccc0029494efe4d0c7cbe |
|
BLAKE2b-256 | e6488ca2ee2bc7548a25a39edf8286db1b9f176797c664a05d514fc04707b7d6 |