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.dev202405091715182293-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9ebec3b7148c93214a5a9875f6253c25e0d74ce3940bf6c7b4f628dd2ebbcf84 |
|
MD5 | 99f526ecacda73410d9cf7becf4ed060 |
|
BLAKE2b-256 | cd1f09e78617534e30e63321229cecf8add61e4b5993cae73dbaf21852a18778 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405091715182293-cp312-cp312-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b837ce053b791f05c864f088ee8b43763f2fe82a3a23b567a25ff08f257c3359 |
|
MD5 | 8fa558d68e7f932fabd5f8907a93ba2a |
|
BLAKE2b-256 | baeb6a4809ec404d96e2a5866258f6c73bbff1808debd9b9393397e25f706955 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405091715182293-cp312-cp312-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bdf9f6f5ba98844909181b01cea124d46dfbd4da26997bb859da4e9ab3533816 |
|
MD5 | 7a38c0f636928bc4cc2e5b2dc6125301 |
|
BLAKE2b-256 | cc3bd2eb2c7a03ab19e8b7c1dfd83916525266b7dd30829b5194208cd7adcff5 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405091715182293-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 507c3359635a148f74d4144f99c88721d3f80f1164aa2eae15a37595c9235928 |
|
MD5 | d76133bc10249eb1b9987a165dde2253 |
|
BLAKE2b-256 | 4c01ce700115b27e776a9e5b73cd39d6a7ddd4166b67c8c27d6448b4bd70e870 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405091715182293-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | da41d4e88c4f35add2912917961f4c7f233f7bf81ab6707d52e97e301bb6723f |
|
MD5 | 6cd3121c7b465fa5a7749a4fe1f75186 |
|
BLAKE2b-256 | b78f3cfa483ba22c813f0f55a1f9bfe453f537214c9d2c24ee8474f2932bb5eb |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405091715182293-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 919834279880d7f404695a3fab54437a84735b25faddd33aba6c31a25fd15bf4 |
|
MD5 | e6e826b204eea018231c79dcef4c2b3a |
|
BLAKE2b-256 | c847c32e5d5ac6cf5d928a54b3722cbb47a04c10930e6383cac28b013030acfa |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405091715182293-cp311-cp311-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3acaffbcbf3dc779433fa9d1a293cfbfec7edc515df0c63bfca77774cde5d0ce |
|
MD5 | abf9fcbee07761f0adb7837b92052eb1 |
|
BLAKE2b-256 | 6c252c2c8baf4a0140f0811674623399f3cabdd35218ade10484b472730a24b0 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405091715182293-cp311-cp311-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 16680f7a1941b5c42cba71db2b95a7579c3b6d243aa798268594da05d711384d |
|
MD5 | 6ad77e0add42fa133f975da5291ca8aa |
|
BLAKE2b-256 | 4a026c92b5ba69d3ce903844a4769b63f97620e42e0a402bbdd8a5d16c825181 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405091715182293-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c5615608759fb748ae3d7b2826e0dba85aa3ac78223d213924c168d71b27e205 |
|
MD5 | d599032ff1f170e286c75674def4c418 |
|
BLAKE2b-256 | 64e23b6e3de4080b6b141f192553ecdb99a7d2cfb09ec5c49f2a54c2d2ea2486 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405091715182293-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | aa2e6fddfc12090bceb7551aef23703078d75eaa16f43a72721da416a19a1f4a |
|
MD5 | c21b6ba334278edd31afd324f121a62d |
|
BLAKE2b-256 | d2ad4b012acf35783efee54d689a1157a1cecc945395408a6a1888cf5be08733 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405091715182293-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ca68d78f2de3729bb7746cfab45a414154b12030b5df059df1a38e2ea12402a5 |
|
MD5 | a7be9d2b2e707dc0c72c487d2e73cdb9 |
|
BLAKE2b-256 | 4da8f852c0b204af1967f375fc70eb2610d0294e76f2aef56e92af417089b893 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405091715182293-cp310-cp310-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b7a9289db0bead74e134d48b6ff3a692180b4e74d44ad6845e025de357e55781 |
|
MD5 | e2575379ed0ae06e1a170de73ab323e0 |
|
BLAKE2b-256 | c16de0c696b86062aa8214b67c1f026d71255dcbfd4d602d796508acb4ed7dad |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405091715182293-cp310-cp310-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 648def8cff761d034facbfc02fa00d49aed9557802989af208ff89c57e4eb2c1 |
|
MD5 | bc93f60824a4a8bb952c23bc5b26c53b |
|
BLAKE2b-256 | cf57338c4a89d6806685c4ad9e74619909621fc59934dfc404ee18653f880d33 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405091715182293-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5050ed7cf6f31a5b6505684638b33b71e52bc032ecfd3347da62b5538f798912 |
|
MD5 | 481fa6705c6b646bac5382c0df3a4303 |
|
BLAKE2b-256 | eb33a04b681726f07f78d681da00af09baffb933ed85f2680255c095aa61d54a |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405091715182293-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9769b2257441257d3c7d0e7249ce805eb29210694eb012f42606774ccde0e21a |
|
MD5 | 99873f316eec1571e6ee1162cca5b16b |
|
BLAKE2b-256 | bcf09d991603c0b1a6694a2c0fd5c84c514923a94a9451eacc579a4729d96b80 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405091715182293-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 176bc240e24975928c0cb99b44ad65d30667501b9465a0ae86e3596ff9028f44 |
|
MD5 | 185d752c84d5c0e83b1dd1ba1a2da8b9 |
|
BLAKE2b-256 | f06987179f814de21f7fa578e0ed24e169fbd494ccca04f1fc7457fa3f12ed1e |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405091715182293-cp39-cp39-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | db311ae4487ac66c08c484b58fb547521e608b761a06a3e654cff4968433c96b |
|
MD5 | 83e2f322839e90a68b778fe10ed22845 |
|
BLAKE2b-256 | 94da285362299f88123453c57e9c1ccd83cd46323e20558be4bbed223a58b4f8 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405091715182293-cp39-cp39-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 79652940cdae3bb7d4537f511f878eea503d1998dc7420c318719244b9ae4c02 |
|
MD5 | b6e415a8b0bdf688143a1822e42d90d2 |
|
BLAKE2b-256 | 6b5d6532a306fb20e40df27ddd1abe7b3db38243b538307045217f6a35c8d535 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405091715182293-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9a995512cea054c4c2dcc16448ade8bb8eba68b693fa661e3540dbf0a49bceba |
|
MD5 | 96d1a7f1ad236aee8295c8bb09bbfc06 |
|
BLAKE2b-256 | e06d5645ab6776c31709ac38a008907d784b2ad0338f75754096508137f8dc0d |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405091715182293-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 09f18cec287e12bb372c56c52a25864190190e748824e6cec1c9e61de2d8694e |
|
MD5 | 234be41ce6ed1b42ff74f3faeac596b6 |
|
BLAKE2b-256 | 862eda80c56c0b48e288b8e60495af8c142041491b5010ec4ce4395dec6492af |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405091715182293-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 50cc3b50a8c1e655a4544009c7d124439ad511d0a393e5206051a9568b3222b2 |
|
MD5 | c3fcfa8fa2c1b57cf7fdd6f4338cbb57 |
|
BLAKE2b-256 | 41999f8ed9f1f162f6f0ffb03e4b1b07d92d217c35afdc0639f7a378e396e11f |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405091715182293-cp38-cp38-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | df86178f82a2df8440d5c7ebb0fc680f0889ce3d1cfe2230f4b622547d575c9d |
|
MD5 | 6362a615779fab3f808388fd1c7042f5 |
|
BLAKE2b-256 | 0aeecc68c5b36b8480a358fe453e842dfc7e5f61b08f75bb641ac28d15f7823c |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405091715182293-cp38-cp38-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2bdea1db38a4222491cfbeda8aa70a19e1e63b940930ce57e118c31b01fb2613 |
|
MD5 | 984022de4749574d12d35bc2ae76ecf1 |
|
BLAKE2b-256 | 644d279286bc0ff4340fab8889cb9d2316152fda0adc4cc09822341f3630e4d1 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405091715182293-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1083d9f4829b24adaefa150c34289fd024b6686da9c494120c90554906c73519 |
|
MD5 | 597e908ed0156a37973b9d68d5431f0f |
|
BLAKE2b-256 | 068c999acddb11d081806aa0dc1f53dfcf14f599d93907fa87b0891f90ee3d38 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405091715182293-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4dae5544a1d0f1ef94bce2cda853e43f8b59edc5b1b726c55d4f5e73b37b302d |
|
MD5 | 028eade56ae1cb45f084c68adbf7d9f5 |
|
BLAKE2b-256 | aeb460f5a53a787ebaa5b21d9edee6f17995d08fac695c05dd97bc55467e9b71 |