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.1.dev202404181713370971-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 07a52eecc8c8bab801c010b5e99d89c221bab27ad6f53147cf95390057012145 |
|
MD5 | cc6c00d374b881a31d1207bdbb01746e |
|
BLAKE2b-256 | bbde86d58a10a7b0882df24f6eed377f04983686768ea366e9fb59854e19e320 |
Hashes for pyAgrum_nightly-1.13.1.dev202404181713370971-cp312-cp312-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dab01112dd4ccec7af5fe600c89a4c8ecef30f6db3bb2a01fc86cdb3ceb46310 |
|
MD5 | 83f52bb0d304b268986f3e3d4379f376 |
|
BLAKE2b-256 | 03cc830e7e6f4598c1a065f714a352457d95ec762a7d59f2e5a627ce5050d289 |
Hashes for pyAgrum_nightly-1.13.1.dev202404181713370971-cp312-cp312-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 89d9768a5a885e005d407f64d06466e8bdeddb1c8f60cae41412679f00d15941 |
|
MD5 | 503de8ee36ca7494e8b9c645752e917b |
|
BLAKE2b-256 | 5c59f0ea99bdaf09fca4e550e27c5676feba6a7fd76f49e849f15134bc401cb4 |
Hashes for pyAgrum_nightly-1.13.1.dev202404181713370971-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c8018d093b33a7245a239493da780a6faec595c9bc13fc3f75c46a554af26e0a |
|
MD5 | 8a154e63ecb97f212f76f6bf3e6a02dc |
|
BLAKE2b-256 | 86f1ccbe0c405eb8792ffdc338a75bf98a748a13d89d242dbd38c673d3a11c50 |
Hashes for pyAgrum_nightly-1.13.1.dev202404181713370971-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3aba1b66fd37ba9c6413add27e9a7c99b7b10dfb07aed35731f646476ed77c32 |
|
MD5 | 6083bfe28c61fe7a274ddabcaaaf0afa |
|
BLAKE2b-256 | 7a88ed35205d6b30ad6325c30db1bf3d4e777d09bab9124ec71520b6507a7d1a |
Hashes for pyAgrum_nightly-1.13.1.dev202404181713370971-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ae743f900214dd9fc135dd6c5b9ea5b2c36ca005ef1c9d2fd75cf9003a339c00 |
|
MD5 | b5977c4522eec40d3bcfeca79b6e9cdf |
|
BLAKE2b-256 | bb3fd215466618326c9247f5a8ed9b680bcd875e314f5c83f21eecf6430d7af6 |
Hashes for pyAgrum_nightly-1.13.1.dev202404181713370971-cp311-cp311-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4485d943bb4ba2e4715d58e79ce38ca714a933b20f7e63b39aad559b790befe4 |
|
MD5 | 78759b5110ca04d59267069a901a32cc |
|
BLAKE2b-256 | e02c195032040d6d1e7dec842c5b02c2b9a6455eebe3abc92f0035379dd68b5d |
Hashes for pyAgrum_nightly-1.13.1.dev202404181713370971-cp311-cp311-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 80707a75d6afc980c95a271b664528e03ffebb9d6ecdc7431ce58bbd06585fb5 |
|
MD5 | 4981f3ae36f834d7157a2e2f186f37a9 |
|
BLAKE2b-256 | 1b28da420bd46d54bb0fc0e07fb2d0415c0ac36c31c248da9743e2cf0d205e58 |
Hashes for pyAgrum_nightly-1.13.1.dev202404181713370971-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1bef0e4ce5220d4e2d5ae61fdd7cabb516bd2fa1e65852497d7e4e840730de3e |
|
MD5 | c6506bb7cfb3bed5e4c85e0d0269941c |
|
BLAKE2b-256 | f0500da95392df0ef84163e4b0a748a3f3ac862158a51b8f7da7200dfd895495 |
Hashes for pyAgrum_nightly-1.13.1.dev202404181713370971-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4a00eb3af5502b8f4304c91cb6f9e27f3843e8e4ded1d4afe1e1a812cb7b4299 |
|
MD5 | 6f0073d9f468d90776d6325c815a6b56 |
|
BLAKE2b-256 | 0eb79e65ed9e49cffdfbd18142584c5e374c100f715c71ed8ae8f7b90142a5cf |
Hashes for pyAgrum_nightly-1.13.1.dev202404181713370971-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ea710fa8d489cd367de6d1e911308356ed9247af40b0ce0dfd9829c5706ad486 |
|
MD5 | 80cd65a7343f99cd77272df393861016 |
|
BLAKE2b-256 | 5c7263043deeef3da8e82cbdb9c638e8e6f856152bcb7628d0f81f64b3ef2069 |
Hashes for pyAgrum_nightly-1.13.1.dev202404181713370971-cp310-cp310-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 57590dba15729770b0cc0558471422b6512e20612c512409a27a4a1cb7195a6f |
|
MD5 | 81f98c3e6f5fa066590152cbb8546175 |
|
BLAKE2b-256 | e7476f56f53f808838accda4c01fe80392bda5261bd8e00052c471b9a5c96e20 |
Hashes for pyAgrum_nightly-1.13.1.dev202404181713370971-cp310-cp310-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 510b222936748b30feb7bbe3938ba1f812112fcee856f2f7d3250b5a07c4ddc2 |
|
MD5 | b7ef4e93480c07f143de86f01476f975 |
|
BLAKE2b-256 | 6f56dc466498c3c8b23a91dfd9cb410fb03518cfed803aecd9c3df884370f645 |
Hashes for pyAgrum_nightly-1.13.1.dev202404181713370971-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1ef50154f5b568daa962fef866b8f6e0765d7ab854e22c37e0ad68e85d8aaf41 |
|
MD5 | 1a2e9f51445f1647a6c42191396b1a15 |
|
BLAKE2b-256 | 604dcab54d7e515c38ab93d41267ed4db9939b03bed27e218bfff578dbd3168d |
Hashes for pyAgrum_nightly-1.13.1.dev202404181713370971-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cf4973ca100210ae9939fdfd35c1e8493b9ef574875e62039bd0dc429aa33782 |
|
MD5 | 16c682be18401de5f72ea8d1fdd13fcd |
|
BLAKE2b-256 | ef7856d72c99eab4fc21ecf765a91a715c8e6c2490ed8f1fc1dba6ebaedaa2bd |
Hashes for pyAgrum_nightly-1.13.1.dev202404181713370971-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dc14acb093041a5a34587c9563810365585015738f68566e648deee68f80b35d |
|
MD5 | 20c65a94994955259b8174509e1866d2 |
|
BLAKE2b-256 | be9b4a34c7fd9559c3dc5c86b8e5a2504b98f6729f4e7e885b3bfe75e681cb8d |
Hashes for pyAgrum_nightly-1.13.1.dev202404181713370971-cp39-cp39-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 161966ae13c225fe31e641573ac7c7261da2b57f67d6d47bc8b0a7e873cc6bd0 |
|
MD5 | b1f6e047199df1d16c1fbec164e947c1 |
|
BLAKE2b-256 | 9906717f0dc9d68b51e8efe4e0813d083014c623d29092f42a387f5d88f75e4f |
Hashes for pyAgrum_nightly-1.13.1.dev202404181713370971-cp39-cp39-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 673f3860fa735f1d6e04b080e16ed440be0884f1b146ead0d016ee4f838ae1eb |
|
MD5 | 4dcfd0147d838aa0aad72d6233e9bae9 |
|
BLAKE2b-256 | 09d4fadd44387ab258b4668cd24f5c4b4824c940be2f4677dddaf45a1a24ad66 |
Hashes for pyAgrum_nightly-1.13.1.dev202404181713370971-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 61c997c055ce646e7379a011a72cf806ab0b98c9af58dad0f62512be97e2028f |
|
MD5 | c0baf3e4f8b639c279399ee219b9938a |
|
BLAKE2b-256 | f67926bffcbf686e18f03a5fa85018cd61c7f6d999deba62eadcc3486c5f0391 |
Hashes for pyAgrum_nightly-1.13.1.dev202404181713370971-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 140b4832f56d51a599d005f34b306815e0e45ace1383fbca1684c4d9ebe196bd |
|
MD5 | 7b03f13931f8352b50a86c88a1ce4799 |
|
BLAKE2b-256 | 3f2601406dcd83a25d56b4b84f75eb20e227dc5be96415914df71761d76c71ae |
Hashes for pyAgrum_nightly-1.13.1.dev202404181713370971-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8d401785d8dccec30f8bd59bc8dae901acbc47960c0f1db71ecba9564d080624 |
|
MD5 | aecad5298fce4edfc38bb3d66af9f9dc |
|
BLAKE2b-256 | a7d51a98a3bf02ba818681bca6713ef2f0fc7526c4533adc3bb319850516d3dd |
Hashes for pyAgrum_nightly-1.13.1.dev202404181713370971-cp38-cp38-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 168f854442e1b16cec476ac3591fcd33697b7ffca8d5fa982e9078bf62e38ebf |
|
MD5 | 858fb315575faab4681b04de05c2770c |
|
BLAKE2b-256 | e2c7eaff93bedfdf79fda308acf935e288000614573cd716ac89e036578ea402 |
Hashes for pyAgrum_nightly-1.13.1.dev202404181713370971-cp38-cp38-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | edf955fa94ca22029e72931a355778a75fc8003fcf567881a5e853d785ad820f |
|
MD5 | c52a1ca275ac23ef6600dd940828599a |
|
BLAKE2b-256 | 6fea066f720a39a33b16e49e430d7ee12b70c04f2913caaaa7eb08ee243d6a21 |
Hashes for pyAgrum_nightly-1.13.1.dev202404181713370971-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c4de7f20876b402b30373084e1afe561674ce658127cf13419df0e6263899047 |
|
MD5 | 2aacf022cfcc915d504414c71febfca4 |
|
BLAKE2b-256 | cfe9da512f91190da216609a29942d4bfa50a7f6ac73021f614b273c349be742 |
Hashes for pyAgrum_nightly-1.13.1.dev202404181713370971-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2e0a11c811829224f9fb9d5ed727174da58f97e8f33a655b864ffe002f9ec3e7 |
|
MD5 | 8e2e85db7945b27574bc2a7a2d0a8954 |
|
BLAKE2b-256 | 823b81938221c78b32725aed4cea934a82dfdb337255a7f9c8b594e25f4627f5 |