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.0.9.dev202404021711839473-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9cc4cfe1796ff6f9a7b2fdcb3ee92596b8136c0621a57538bf7b81472f2de5c4 |
|
MD5 | 04f8e35535c3dcec359b85216a1eca33 |
|
BLAKE2b-256 | 9b117887ee75e4bea88393dcf8f290631e51325831c39638b09f3843833ff69a |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404021711839473-cp312-cp312-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 187112835dbeece43ebb6d2e80bb635eafac2f0e3c5ec70535b6d73566db5658 |
|
MD5 | 5c321ff12f487dd4eff698532ab51c57 |
|
BLAKE2b-256 | e61458b0719a4d319f6f6ef035124fe0f431a5d3c515bd3b2e33ff8b6f70ae0a |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404021711839473-cp312-cp312-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 49176458ff2f22bdb591c5a490ca11bcbc10ebfb0fe63c8981dc7049df8b2fe2 |
|
MD5 | 2a9ed048354a1db30ef6cd6c74ffc745 |
|
BLAKE2b-256 | 35d47390f43e01a929d0e271992bf6f7610e027987a3170359b99a3c87ad0f57 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404021711839473-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3db798df2e6bc6f57aacef3d12477ed1b853968ce70b23dad432f87d9b36e6e2 |
|
MD5 | fbe103afefc298aab9ae9436e384a417 |
|
BLAKE2b-256 | 634260fc66c17c481316509b3e91a1ded577440224dce918f8f57ac110de86b7 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404021711839473-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 26f0ca25e2f80161f4b1580309d7300a2d0a5e05cabfdf7346889db5c61d3a9f |
|
MD5 | 7d51a7d0d52e408c107ddb05a1fbf106 |
|
BLAKE2b-256 | ff3706a0103064b62c55a23c7e2ece07d18ba4a6dc1b5e2ea6148994fb2fb535 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404021711839473-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | aa6a43f246e7d188b66c8d302824490b795f6d4e229de876ad4f0d6c1149d085 |
|
MD5 | f232b0b68fd5e4118a5943579de5bd3e |
|
BLAKE2b-256 | a576b54c7b98447cc0bc70ebc14f3cae5b6431f12b56b314ebc9ea9773f1078b |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404021711839473-cp311-cp311-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bdca50b36107e0828a54ad67ff27212c7830cc4f6fc9455d04c110e878178d4d |
|
MD5 | ca0f7d4a067737bc127af7c5f873f5b2 |
|
BLAKE2b-256 | a8f631b8a9b17912cfe3b0339b79936d86d542a94aace63159df099e0ffc7a6a |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404021711839473-cp311-cp311-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 25b5904c3d3214a6ce703af698195d4044ec12f0d74cfac9b7367ef4448f967a |
|
MD5 | 41a535414bbc2958baea3a2a282a1ed0 |
|
BLAKE2b-256 | 58d42f77cb5f0d46a7d8d423c1896e708a6a95f5d0352a5d32d39f1c25951664 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404021711839473-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eee9b278614c49bc5ffe4f830e760eb58c6d4de1d560ba9086fab7fa8190495e |
|
MD5 | bd6f6a9879804c4e7f3f6bec2c7c19e1 |
|
BLAKE2b-256 | bfa1dc9b33c1588d626e673ad34038bbefa2bb974dbfbc85eb9018988fabdd94 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404021711839473-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1a16404e074d8db70d37bb0100c9cb7997ea76d0e9872c2a2a216c57c08d01c8 |
|
MD5 | 863880bcac9414037bcacd48d92b7611 |
|
BLAKE2b-256 | e51098b02811e68c6792b96d8abde5cd42ad526188fcc7230305e568059fe39d |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404021711839473-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7573ac84de5763cb80debb25ca9dd2cde5fe84dfcaff4e6dd038b9e59f74e944 |
|
MD5 | 9823fa936a7f489403d472a456ada060 |
|
BLAKE2b-256 | 9e5e6634dc81018e779d33707ba8e5ecf89b9c12bb9bbe16bdc68180de29cc01 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404021711839473-cp310-cp310-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dd2a4cf24bf8b84fcbdb750165fa2c0981dbec54f63a440c65712fdd23338825 |
|
MD5 | 6f9b2f71da5002399dc97a774f40088a |
|
BLAKE2b-256 | 8688302d963e20479606fcd75ec1bb49b62d1941b86d9d4d7c8b5caaede5adf1 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404021711839473-cp310-cp310-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 63d02bd3f8549bd1661dcaa6503069a0070d8b6f23c43336ee26230931111842 |
|
MD5 | 7b8656765b24990d29e5188c13b5d8d8 |
|
BLAKE2b-256 | 80f3b4c4ab2aeb82f0ab7cddb7c6877c15654d7544bad7994f68c955e5f0ad0a |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404021711839473-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bb8ee26997f62c54446485da3da797b6c3cf259bc76ddaa19108afbf735491b9 |
|
MD5 | 70e396a6be5ebbba3e4674e41df078c6 |
|
BLAKE2b-256 | 4ca097e570fa096bf4d2fa4bde4818f9eb1eb1acbdd33f115d2d17e273ca7c14 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404021711839473-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ed279309e0a54921f40d20c825d0fcba4121f55ce521e5b921dbf7081c677252 |
|
MD5 | 925f2ef38776596ae82c9d3cefae8bb1 |
|
BLAKE2b-256 | 9228b933ca0ec66c0018e606dc83930830061d3f1db8c0a0613d1f74e2a40ec2 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404021711839473-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | aa53447e6edbf16e89296fa06fc6b29bca96d126bde587d2898be9634730aee1 |
|
MD5 | 7b876776c17c922a1367b9242577e6d8 |
|
BLAKE2b-256 | 8fe1b3827c4fcb5508838f34531080f87bf1690b72bd0185cce6424a7849f5a6 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404021711839473-cp39-cp39-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8b2f4854a3f31ed4128c81454493339b921dda683b23038babbe8fad1d3b2b7d |
|
MD5 | 75f2cc5d5c1670c430541f3704855b44 |
|
BLAKE2b-256 | 37372f1f0b5196b34215a3a081641fbe00e24e651492aa98860a6ac730eb246a |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404021711839473-cp39-cp39-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0b5b7c3e5a8c150c1d93d08a9227674dbc16f3007627af1983a07113518c624d |
|
MD5 | feaf19ca1887f1c830e809371a53ab1f |
|
BLAKE2b-256 | d527b0e5895bac71c9219628297e27c72cd33d96bf25c491120d493247e0d86e |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404021711839473-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2cee458e010039df9d49dda447f5dae4ea77b2039b6885a2867febdf4e594622 |
|
MD5 | 3adc0eacc7b8c9f0b0a75b27b6257900 |
|
BLAKE2b-256 | 16f2de6e7ade871a36b9036ec96e217c93366d5071ffe57fe93d870f4fd6b702 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404021711839473-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f91e10b83760a9ffb6d005cbfa6565c8f02c254c579f65e80a2d27a14b834461 |
|
MD5 | f9851a0a5df69cf49b7a0d57abcf1e5d |
|
BLAKE2b-256 | c41b9da18166edc145f5f7b2b2b71916023b7d6e77203a584f6b31fb2d506088 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404021711839473-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 580db31b13b8f26b9303d1ae97bb759953481ab36c2ea2b51b196c0ac6e4642a |
|
MD5 | fff0a1f1aae47f03f54a07061b6a5fb9 |
|
BLAKE2b-256 | 7abab8628c929d9861147cf786bafe3d3dae055195fd76932e2652c82cca87dd |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404021711839473-cp38-cp38-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c785fa0ec086f4de3897ff2ae2b15ed1a5e1b682fa54f503381d84b5e371c18f |
|
MD5 | 85a7226f76d3107b9af533526a2450d8 |
|
BLAKE2b-256 | fd4716ad42d86a82323893b8b21fea069bdf9cf114e5057676626a6fac2f1f7d |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404021711839473-cp38-cp38-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 055bee32261b3e82da5fbd73e19537ff4cb957cb70cc10cb2289883026e8044a |
|
MD5 | 34d9c620a9ddd39fd11e413aaa13f4db |
|
BLAKE2b-256 | 397aa21ed21ebd0f41d174e5442efea1822bf0c787d31dd50989e785eeeb697d |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404021711839473-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | af91250ca6aa46262c7acf32258203904b97d77be21195ffbb2985e08ebe6e56 |
|
MD5 | caa501dc18d6600f2870b0e3009775ec |
|
BLAKE2b-256 | 9183975186252158987591bd3f4d02fba77de7fd19e92913993c679a1989d1e9 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404021711839473-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 77862b45b8147c60b0df96b4c5c8991cd383976946141f6be50570f4c3fcc2cf |
|
MD5 | 3421bbf4f3c4a9cd3b2fbff01ceb0bb0 |
|
BLAKE2b-256 | d2beea3cac7aaa70b038fcaad40d8a0652fe67db9ccf77edfaac8d91bf99c410 |