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.dev202402171708115962-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 35ed3f2d7a28d2880920216ccef7a3c5d6b40f027e9c60018210b48470325eaf |
|
MD5 | 312e1454739e91bf0716166bae596ea8 |
|
BLAKE2b-256 | 94cb32c54c2553b160b81be1ef0d2985985f9e1dee90308b43e0f2b7685566f2 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402171708115962-cp312-cp312-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 36fcfe4a7584fcd12547e2099b38cba6ac763ae108a4a781d2d713121b216bd3 |
|
MD5 | c9867f598335ca05ce55dbf489407f70 |
|
BLAKE2b-256 | b0cb607eb416ffc685b9457cee25a2ffb8716162bd31d676e342c74625659e6e |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402171708115962-cp312-cp312-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 70b11c7a027b6fb1317cf7a6047a001cef6af199b768b765e41e0c12ea4122f7 |
|
MD5 | 37574d367e32578f460cb69c7366cee2 |
|
BLAKE2b-256 | 148afa8176dbb559951bb974bca6377e843f3dec83158c0a3d4ec59dd908744b |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402171708115962-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 62502eb2ecb71153dc4520266cbf3680a88772bf6d8df0aeda46d843d17218d5 |
|
MD5 | 5114a6fdd5b789065d52e7ab9bee2317 |
|
BLAKE2b-256 | ae1dfbd32b540fbe4db4899bae5feca6e636d8ea200183dc6cbcbf293f10886b |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402171708115962-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 359d5f2b82fa0ae5bb91461270b67d045c24b7623d4514a4842fdf245d9cd708 |
|
MD5 | da69ae22407ce9de5d92ba6afd083196 |
|
BLAKE2b-256 | dffbd3fade9ec7eedb21bbcc2c3f2faf589e5a5d4a78d362ab258c60f4ff5436 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402171708115962-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a6ef946c5cbff3ddaa1b43d76609b9fb218ab2d3f880ffcef82784dd493d600e |
|
MD5 | e5b8116d434be6a5be755d0ea0d997ee |
|
BLAKE2b-256 | d47bdb832bff1e0ddbedb945653e22c0e09e0e01984edb312f9795ca4dc2d125 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402171708115962-cp311-cp311-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 823f767717d5f18b1398f614665c41999e67bae2aee7710ba65c37252752c34c |
|
MD5 | 64272ae989b1c248911dc0ee0ef11b24 |
|
BLAKE2b-256 | a1b09a65be028c6c24780392f2aa81f10afbede23f75e3e66a8afdaba4aaa83b |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402171708115962-cp311-cp311-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8cd781b5d67e2af4fb02dc60836afb1b7bd1a18605f77fcbc469e60e4cade2c1 |
|
MD5 | def1dcd9bef7f5316a0d1cf027345777 |
|
BLAKE2b-256 | 6f6c3220ef7ed68e9e7263f669bf152559d8abfb535bd1a3d3514d463606c425 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402171708115962-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 91cbac2ede4768c60836fb9f9e83d3b32a9fd9447f3a9d042342478233a0657c |
|
MD5 | 743f8003e3813bf6e2b50c6f0c5537e2 |
|
BLAKE2b-256 | 16ce16e30e1f56d1e78877044876b9b0894ab6708236e09a9c1a02225bc97d57 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402171708115962-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f5bca982a4dd1e49f1c94fcd1886157eebfb3ec0a6b4aeb0ed7d636c530eab8d |
|
MD5 | 5f909f41c00ca2f2c9d787e68f2a2428 |
|
BLAKE2b-256 | 77c5d55399eb2a64c4205c9ee0d6c7b9cebea556fe2a350a45c9ef36fadc4e7f |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402171708115962-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7ac5e91378b650bddeb4f7790b38c2b8e666202bde41760194dc314a9224dcfa |
|
MD5 | 28ae2cd85349131fbb821da6dd3b01d3 |
|
BLAKE2b-256 | 367db1a224f22ea7d99a42563ed9089ce8b27a3eaaaf2223474078e1f1e5415f |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402171708115962-cp310-cp310-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c65b4f7418661040f289f7277bfa0f2390d686219ea951b9e5e4b8cc54beadb6 |
|
MD5 | 4e954a2e6b54832407b24fd525af9130 |
|
BLAKE2b-256 | a85637e34d5abe00b36f3f0b7bc74ce0b37b29f5fad76962b98759eb46d8db63 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402171708115962-cp310-cp310-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d6d6637a224bfa390f3acc01fbb2a7d20c32c667d1768ab26f963bc03d1287d0 |
|
MD5 | b6b442f6fe817bc40c92a75445acdf1e |
|
BLAKE2b-256 | 5990ccb96c3fad2a0c0659391e01bee88cb97d9fea381d00cc2dac16f5b8d80e |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402171708115962-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 50affa9ef875613146aa16401eb75b7600c7cd8f19a5228e8f792a428fa3af56 |
|
MD5 | efd58e2d94ea5113674fad5a56b498c9 |
|
BLAKE2b-256 | 7530f3690f9ab2e32bb639ff8e26106bff0a899c9ddd1c3061ee25f6ac91d861 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402171708115962-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b480d8027e4aa05bdf2ce077ac36b6fc1d077510760ab0dc71a92692ddf91cfb |
|
MD5 | b5fcfc4151f14a07f7816376e9df6ef4 |
|
BLAKE2b-256 | 85d6135250c02f4033e892b11897887048f8362cb8f6095dd5d0ee98dde6f101 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402171708115962-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ecf9b2ed2dcab4321f441947a17263102ca0e88e037a8c24597817e4122968ff |
|
MD5 | cbb94dfb3f39a11ae373dd986eda5e3a |
|
BLAKE2b-256 | ae7a7b8a51f02fd8c284b75586371ffe014f7f6b188dc54a26231c7747a288a8 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402171708115962-cp39-cp39-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b23f72d85d978664488de451630dc8b673776117b758a9bbc47c87d4a362e80f |
|
MD5 | 72209517943c3586af81b0004798efdb |
|
BLAKE2b-256 | ef84acbcf69165173b1d221e68dc4013f615d0380fbade2891fd7dea30451f4c |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402171708115962-cp39-cp39-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eb6c7a0cc7e858b33c0f24579a7eb24a7da89e698a2580d69491d35c06221f18 |
|
MD5 | eb4a9afedd2dec2064657449006b420a |
|
BLAKE2b-256 | c1459bec051387ff0870ea7fa9b917b688271c9129c108af8f5d8f2338008d85 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402171708115962-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d78f40a1fb1879ff2a222de49d5e786b76ee1d31da124fcfef9467824e91d5c8 |
|
MD5 | 1dd9e887aedacc6417e94ec5a6401837 |
|
BLAKE2b-256 | 70d1e52e44618ae26eb4032b4011e702b548cca59fc6a1449dabf09ab6516f89 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402171708115962-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7d6fbf6a1f61bf53198a8deab6f082857a7b7dd65ef169d82262d01f18171045 |
|
MD5 | 67b5f64f1780be74638f13f1bc47e323 |
|
BLAKE2b-256 | d6cf6df090258e7a4ae2d00458d2f30f1d42d6481cca70e5466f20bf0559fde6 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402171708115962-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6412eaf93d356661775e7650fc985d3999aef6e73f45b8158a4fb96a1a0f5a95 |
|
MD5 | bb9300e29d8ab05db17b9e4286d2162f |
|
BLAKE2b-256 | 4177f4359bde4580a1a257f9df198e2af529175c1b12f7d07b3a121ccfcd9f4b |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402171708115962-cp38-cp38-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0452ab39c674c99cb414128e3a0723d9b1064731dca8a1b911a9c1387c53d858 |
|
MD5 | b8bd28eac9bc9770a740320a7c55af9a |
|
BLAKE2b-256 | 4d1c15feb54eb4812d0f7529d63bedbedc9d8565dd514fd060f8d8f78f6ce3ff |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402171708115962-cp38-cp38-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e50b77ddef3952d53a35c9ef04484ff2a4c08c080c280e85b05f20c4f7020b95 |
|
MD5 | 5f0695dd687ce7939abf1f607b722200 |
|
BLAKE2b-256 | 526ee47abbd54044521e2fe546939fa63b1cc753d9c162dc637ae79fef2bb4c6 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402171708115962-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 42ff4212c91ecf0e8834b21f3aaeb89097030d7916f5319e5675fc86fe594685 |
|
MD5 | e5b6fce68ddacf4d4a2c9c6afe0273f4 |
|
BLAKE2b-256 | 5773cb4fee4d4c32e5d01768db1e1c694940ec0f4a952a01c6fcf5ee1ddcb79a |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402171708115962-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cea1626e6212f9a22ca9fc199699526db37edb7c21891305860eebf47caa6dbd |
|
MD5 | dd041da1d4f8744e9519af401cb73194 |
|
BLAKE2b-256 | 8feae076ece64cbf45c820b332019bc1f4e198a9ca9110a0b682296611043441 |