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.dev202405191715182293-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8ec01d44895822f6a98628f629403406aa31585f8b896ede6b6b98e79e37396f |
|
MD5 | 5aad1de5dea70add294166f4952ef90c |
|
BLAKE2b-256 | 54eba12d64041b54b6f32fa21e80c4b185e62fb95b29566602482ea481d4f8fc |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405191715182293-cp312-cp312-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3a8cd729868da46d66c42c24bff4ea621a1180caf632ebaafe840e11fb1c0067 |
|
MD5 | e55316ad4a85ec4e167f0b4e5d0d0a24 |
|
BLAKE2b-256 | b2969f6de620103b61a58fd425de35c008d7b687f1e2fa9ed1237eefe1295e4a |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405191715182293-cp312-cp312-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1d0f394eca5e632b7dc010ddbb2501ab51e6ffa68d67412f3ee47039f778f84f |
|
MD5 | 2f6e3fc12a2f07e43928c8bbded195d8 |
|
BLAKE2b-256 | ef73adfab105cf285eb4f95c901b07866076e7c8c4e87fcb85b4484595296ef5 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405191715182293-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4bc5c0661b19171623afa851a4f1ef298b85f53c93f49d85dd69252db15660e5 |
|
MD5 | 06c7da86707e82d797344f41cb8dcd3a |
|
BLAKE2b-256 | 2652177da0069478cd963b8733318d8e4a4cb09878d8a9bf4ef19be466e14335 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405191715182293-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ef7e9c36e088482950996a1e9a7a280a167f3d6e2eff8014423d04d55964c722 |
|
MD5 | c1a682cecb03dcb66ef53d48ca5463b6 |
|
BLAKE2b-256 | 47b98b3c0e25dda116a19db67d93f76de58ea024613236843df0246eb450ed2a |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405191715182293-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dec13dc41830fabe2d48189674fd0b6f6bcbfa9491d2f907664f92feab402324 |
|
MD5 | 67251cfb8731384a6fcbfc3c151c633a |
|
BLAKE2b-256 | 00fdba900c7a9600e40ae609b448f9dae49bc8ed5bf402872da637bcdfc0937b |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405191715182293-cp311-cp311-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b3a887f6194e755f34bb88ec9f37867c19f271ec6bd9f1b7b71aef33ee202a24 |
|
MD5 | fc83cefdd26225a5598a4555ebf63a79 |
|
BLAKE2b-256 | 23bc6daed441e3ac964146e6e1c7c0a480244d5aaedec1d2ccc7d1a5c90cab98 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405191715182293-cp311-cp311-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b70ed4cd0859a195650fb9920086fb01c2078ed9a1e24f3626ac5df04805fed2 |
|
MD5 | f52bfcf9dcf6558cf81277f0f7822867 |
|
BLAKE2b-256 | fbca9957d6c27b213f8f93ae2502df912cd1cf6b4c7a6ca4cf019fb37f247968 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405191715182293-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e529eedbc5ce02063639928e209bb4e050b6a58533907e241f855e4cbb7b1370 |
|
MD5 | 0e3fb22b1f47d59cd88688e3b59d8875 |
|
BLAKE2b-256 | 777183b7f0e64dcc73362809d7fa182d721411ca31c5c47bf5235b4f0cc9ce13 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405191715182293-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 286d1e688cdf30615db7b2edf6107e3fa69e351ba82cda5eda2ae434302b4c8b |
|
MD5 | 47c67b3290bab5d83f845f5e45aa6090 |
|
BLAKE2b-256 | 1389d171ec506844fcd26d8c7b937b0269a8ac74f153ec3ccc6238f753707641 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405191715182293-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fddc8013a1ccc89ee7a89de98fd59045ba9451c6a992b22aa25602256c1a0019 |
|
MD5 | c7359b07ecf086cf7f85c00df00671d6 |
|
BLAKE2b-256 | 3ea456322548d1155180a668a5d434315e0c03584e2f4a761d5ee51855d9764d |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405191715182293-cp310-cp310-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 723aa64b5e55f9a51ea1c637a1b4f691c8e18509eb47d3335e808d9f9380fc9c |
|
MD5 | 6f80bbf91ed861b0e58f6c9ae63ad322 |
|
BLAKE2b-256 | 36944264803f73c4bedb26a6f67c58158a91b99ed47dfa78f75cc51a9a6a78ab |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405191715182293-cp310-cp310-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d8127792295538dc68c0d99ec489c88bc1f93e4e58cd8c738a137bff7230112e |
|
MD5 | 167effa0633f1e953c56a734d5335eb5 |
|
BLAKE2b-256 | 5eb365f967a7bf202339d1cba89154e395e64ca762a2e9b2a927fd63b0f4547e |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405191715182293-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7decc35252c6b66b29d74ce8f4eeb614bdde38aa4e425e2f3ef515217bbb4e0d |
|
MD5 | e1379300138aa7dcd8660db963cde1ba |
|
BLAKE2b-256 | 8e0d1c416acb3a14d3e0755503387baabeb9de7f6896cafb0a67a7a0b332c9de |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405191715182293-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 595e4eb43673fec2ad9484a036c09c3d658c3c81eede2c1f33e3c9eecdfd217b |
|
MD5 | eef5e4f2648a7b78bfecbbe67671fd02 |
|
BLAKE2b-256 | 120669cc98ea2992d55f3322920073023b4520ce10159692dd8c82b8e2fd99d6 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405191715182293-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e4ca6c00ee94513de2c9f2c3c0775498ab7bfb22ca3100105035794c74d07245 |
|
MD5 | 5f3345d5b8a89726dead6fb170532477 |
|
BLAKE2b-256 | e580d46cd9b3d4fb9731d92dd7e1d9c079b633b3223b887a26ddb228eba8224e |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405191715182293-cp39-cp39-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | adc9dc6c352de3f3305120451ddf9d6f764def52d3baf690b84ba2ca245c412a |
|
MD5 | a7186569eba49084584d930b5129769a |
|
BLAKE2b-256 | 2cd3643ece591aee552ca30c09bbbfcae4291ec870ee924b7b454997c6851561 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405191715182293-cp39-cp39-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 59c836ab0615d060ebd690113b1d9c0e012389e2aacf9946a783f1f13c29365d |
|
MD5 | 5561814641bc00f16373071b2b3726c4 |
|
BLAKE2b-256 | f711e662c25a04189a5148a6d74f2205fcc0845efa307a49731dd09f1c0ea01f |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405191715182293-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 163dac5628f305c7cd878dbf25cc57164ca1482b4aaea3569b67ca9c7fa78c25 |
|
MD5 | 0dc626d4273e668cfd965dc30b899b92 |
|
BLAKE2b-256 | bb5b0aee9879dc7a9cd2bc6d3ec0a84477b6649e80fc666dad735aa05655c638 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405191715182293-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9ad91f8005500870654bc62ad1c9de2e6018f048d0d643bb64f26b3f92bf1200 |
|
MD5 | 7df184452a0048c4a7f30fb3b6d4437d |
|
BLAKE2b-256 | 04c676fb5a2e8c26cf85c9574a420316e8aed45e3e457bd07bab1be90129d43a |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405191715182293-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 01e34a03ff0cf87a774114d26b000159d31dcfd304abb38d03a484f7c7f9637c |
|
MD5 | dfaeef9d07d4e38e1e5c22c04cbc5419 |
|
BLAKE2b-256 | b6671f8a7f0162f9556c9854a3ab0f6eb0252d39295f91566ff23770aa2ba1ac |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405191715182293-cp38-cp38-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ac677c7882ea703fc152345c31d63e2ee33cc0872c501c59b565676d0979ddf1 |
|
MD5 | 9eff824e7383de0c5498dd46df2e672b |
|
BLAKE2b-256 | 6d66749b06ba4f2f047874980cefd4eb571b7e73abee863f735dbb62a9a9027e |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405191715182293-cp38-cp38-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1300486dd9ea1dce0729be4deaa5d76a90c591dfe14fdcc9d9117e4d9a7348c6 |
|
MD5 | cee9dcbd498d3eb8cb9151fd7addb208 |
|
BLAKE2b-256 | e7d4ebc0c85722167dc1c36047396fbfe669197f130b4c2a866bbeab09bf2d94 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405191715182293-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1bf43508d2366991bba584bc0fa3d22c0577e8db25ba9c50bc5afaebf9b8569c |
|
MD5 | f0326599210d96e58d32d70d18aeca00 |
|
BLAKE2b-256 | 20261fa5f7ffebc26dcaffd8ccff206a3d887dca581457fd69cd53701bd49272 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405191715182293-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0c34b0d57e69485deacff18152213ecdf8d530fbccfb92d2188ff3c11fcef822 |
|
MD5 | b7edc3a90894395fe721c5156ef4f964 |
|
BLAKE2b-256 | aaaae718d514996d685da0aa06e1ae5610e9f88a8aacddfd3969e23dfceef178 |