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.dev202403081709747362-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a91521b6c234208e8298ddb8408ee5e2c725d990c67892c01f92abdf6af8a1dc |
|
MD5 | f4a8c4cc968c7a883a08a71173fd9f47 |
|
BLAKE2b-256 | 14b7d1ec392b47d7a5b4b26ebfd81c1b7a24851ccfd690c6696338bf539d685d |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403081709747362-cp312-cp312-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 155a4088c915d21f6a0484ead939eedb02c4d07d08973bcb003b64200f27b1d5 |
|
MD5 | 8883be7477f49923a760acd6ac241e92 |
|
BLAKE2b-256 | 2feae3e05217c4e6adc31399cd4ca4e0235af2cdab5fe2739b415d8788292dd0 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403081709747362-cp312-cp312-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0ee1b1daa4957c87918ef6477d5f77e7750a9f3cd007d863159d8f487da7e023 |
|
MD5 | 48f8ee0b75061a92040b950a33690dec |
|
BLAKE2b-256 | 7c7098e57282fc64b1afade52f063a03ccff08460d05a6dff31cf58a052a0534 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403081709747362-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 05d4bff5f99fb44ab0d89cb387904007626f34a75f6e9e9a87b67645e7ef9da1 |
|
MD5 | d21555811a6d4da7c410c1016d59910b |
|
BLAKE2b-256 | 4902744d554d92f300127e869570a256dcb1cde1f1d3829cec236604df57871f |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403081709747362-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1bb2c47df62b4864f15f04ce6f021fb0d4a8ad12f6cc6413d40e245c6c774230 |
|
MD5 | 6671c1a6df61b838b90f72d2edf9b95d |
|
BLAKE2b-256 | 9ab71f4e3f735e8f62f656128b61adc7056dbe77e03f5edc4d08628c0dc2efcd |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403081709747362-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 96244668eea5a361b6a0dd3a5a8f9c80ba055aa57f868b0a3517cca519dc9c91 |
|
MD5 | d8ec8a9b5839612c1e25b363e16d238b |
|
BLAKE2b-256 | c856a7c9e8cedd8f70140e22808f5bc693ba63c810b787379fb71472f8805c11 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403081709747362-cp311-cp311-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ef572eec54875d47e28e2ddb31638c0d0158f1bac8e1c55051b2d52cc9357274 |
|
MD5 | acdb5231f966f47076796c26a84dcb4e |
|
BLAKE2b-256 | 9c194aa5608b5168c887077562f19e6c070e766be97fdcc6e917c458477e5ec7 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403081709747362-cp311-cp311-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 49e44d73f419c06cea903fe70459943445ae66f8d90e9ff04f32d4a500d16f11 |
|
MD5 | 1557ca1573fbfbd6a5af127073370063 |
|
BLAKE2b-256 | c17e07bede892d02bb7759641bfae84f9d15a43db9f4825c3f576eb826dc1f15 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403081709747362-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e47921dae17be5372c3d308f8820a9717366911c065ce276a9783f834b009aaa |
|
MD5 | 918d3a4c7b0563c1b9aa5b4cdd29ed02 |
|
BLAKE2b-256 | 200afa4ed6ca7ce8bd1cabe0945141b1148a48ee55db7c711177f6bdb9297e97 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403081709747362-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1e4baca035132896a5473dc9b9b1687e2542f55aaa81a6a0807caaa8024389c3 |
|
MD5 | c63fe10ec34048f5cf70a45c39edf07e |
|
BLAKE2b-256 | 0c0ae176b94524d83a7216b548c15ed77ddd1867bfa45e2768515b34aac6439a |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403081709747362-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 024469b0620d280f1ac7261c6d3e1db3a7dcb51cf77bd3dd41650a2f0e0c0593 |
|
MD5 | 16ce86f387dcc4223d723ad88cdab53c |
|
BLAKE2b-256 | f69c52158610e3d6fb3438b1fd57dfaeaa08f7bdb74177816bd0053abae508e3 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403081709747362-cp310-cp310-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | da4dc44317334d1d890f7b5adbdd66e8c8ef1debfb018da09c2e4d1da29b438c |
|
MD5 | adf387c2af92eb90f016e8ffc789bfae |
|
BLAKE2b-256 | 131e5b5a53e204e1ab826e47928cde4efeeeb490b0829ec4f7991b258a213a48 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403081709747362-cp310-cp310-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cb1de37de455e8c98167df2fa32be737284e501a1ce2ff54eb4d34e07ec8dbb1 |
|
MD5 | f63ea909edcb7e681448923e90ce20ba |
|
BLAKE2b-256 | 82e7cc46073e9fd72a91e3f3d79df8f69d5d9839b03b4f71cdfb56a3d4771129 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403081709747362-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c222aab8535765b492f38d075edfb952b5b63d6870360e349fe6189034728f5f |
|
MD5 | 7718fb76f9caba446d02be87393ec3c1 |
|
BLAKE2b-256 | fc805c3322fd0f1cace8b2324c67be0d0c22137abbfb8c559b8629e31e6abb5e |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403081709747362-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5d44da862a3c3c4830c3f5678e797880e1d486dd63ae9bd8d2d0a1b454a65ac4 |
|
MD5 | f61ce806f362fc8f720ae626b8ffde67 |
|
BLAKE2b-256 | 2af15cf8b63d8cb359c1b0ae451e5401b94af89a040f90c5719ce1f1589d875b |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403081709747362-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6acdd1de08bd3b52eefb41586615d1c0334ddb9b224240ba3570e7819ab478e6 |
|
MD5 | d75feda8283700df87afebd3375f497c |
|
BLAKE2b-256 | 3cb36273ebbb5c1cf7bf74a46282dc7b916e926392e62e4994acf3a639faf578 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403081709747362-cp39-cp39-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a4aa1eb3ab0d79e9f50a6e9e437eead39027a37c360a3fab30c2d41c4fda6e7e |
|
MD5 | 689a7c232b9acb27b3ab6fc17784e632 |
|
BLAKE2b-256 | 83c505696fa7aa00ac1565b50c8a11b22b255855f56033ed1228e9c52f449bb9 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403081709747362-cp39-cp39-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 65cecee06d8e48a61724308c5f6c6b3a05c6f66d42c500682e9a421f035e8258 |
|
MD5 | 95860e7ab0710cb5477e1fdb44813ade |
|
BLAKE2b-256 | e82eae98519b719aed172949ae2375f58de7dfcc120596f4b145d2a0d1bfaa75 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403081709747362-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2dfce192cd6c4f4871f28fccd3bf42d97e76cf1166d45ad711118df28c9e1944 |
|
MD5 | bec9ec6028b7614eae362b248c8e418b |
|
BLAKE2b-256 | b267fb0f42c73e5e6f3f7dba2cf8671c56ca3053b0d3a9756256ae379383297d |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403081709747362-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ebb76d1444a21a7a05b964e5be31550fb38441317930f475f83467b820228c51 |
|
MD5 | 65f3e2f3fa77ad66ee9877a51f9346f4 |
|
BLAKE2b-256 | de35bf9eed1f59bf5cb94bf80e439dd3f505b68f3c79a92c4d7b157318f94a26 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403081709747362-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b9e98ab2ce4f609123b2489d7e8a79e8c5b58cde7dd967a9895f33e1370cbb59 |
|
MD5 | 56b1dabbe26ee9ee04dcf9e4461f807c |
|
BLAKE2b-256 | a21c082ea4ae1c691795bccec13b6ef85051646d459a6c67a7a57400c1889469 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403081709747362-cp38-cp38-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ca9487ac9fe95a3aecd966e4457a8f94934138092ec1e440ddb0289813980f94 |
|
MD5 | 0829a580d6aca44550bb1d1acbc6e9be |
|
BLAKE2b-256 | f47892ca680d01121bca168e62111a30ae9ef7f51630512b5b9c4fc6a0f4d8f8 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403081709747362-cp38-cp38-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3537d1a0515e7165a9373096df3074727b480daadd7352691a443a2f6b90d93f |
|
MD5 | aa952de7dd9c7ac0a60ad91fe36661f4 |
|
BLAKE2b-256 | cffd993de60ebdb14af85631ae99ad31df9c89e7254e0a4461b813cab27ac1f5 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403081709747362-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 153a8c9a23e54ce6575fb886c331cd3f6c7a459c1a456daba8a3f2d08e03c76d |
|
MD5 | 0a8df81b1124d9d1efee569f38c12436 |
|
BLAKE2b-256 | fbeac56e880a2e241d303529772d80c356e83b0c590aed919a06a00db61ce397 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403081709747362-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 12c338034c0b03cdb2f6a35dc3977963178ea904000bb4e188e9c01c1f64b4bc |
|
MD5 | ef6152433fb80cecf4e509c474b38e19 |
|
BLAKE2b-256 | 3eaf5d6c657adc02ad60def4e2504e4397bacdbe0b8e962d8dc53d815f376e86 |