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.dev202402201708115962-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5e29f5af76219a33fcfad31df2a1bdcf6461a3a3aa772a9e2acb16a4c9e71832 |
|
MD5 | 5e3aa338a12360454c4d1b6f3ee68073 |
|
BLAKE2b-256 | 741083ac358cae1071a30d960bc096dbe42daef45f5794fe573bcf250b762333 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402201708115962-cp312-cp312-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a241899e02e27f4d4f972bf22c1dbd0147cd37a0bc919daccd21764238021bea |
|
MD5 | e555477e6a072cb869cdf5458499ddb2 |
|
BLAKE2b-256 | 62122e3236e6a06a2c28b1a3677e994a3f185ca7a8cc2ad8c93c7f5ef9508593 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402201708115962-cp312-cp312-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 567b9ad460d92b36a31c2653d61a366d372aaaac9e950a682dbbb7405033662b |
|
MD5 | d3592a225a60cd552762f642ffd74820 |
|
BLAKE2b-256 | b0c5932c5bad509158ce402e338b77bf0eb6d94cf6a78ecab43da43892cba3e8 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402201708115962-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3a5ef4c25ed3ca1b09e9151c2f327d420339a73a5aba00fb39a381fc6682f40b |
|
MD5 | 0456b18f7da11c535d0a55cc3b0d9595 |
|
BLAKE2b-256 | 88d37262f7dd6257796316766a78add53c17a31a29838f84a21024df1eae8737 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402201708115962-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | acd124c7f98d680ef9b6a8e8780187bd8e98217cbc1264d727714d670b40775e |
|
MD5 | 18a30ee363820f8561b125125e5232e1 |
|
BLAKE2b-256 | 0bbb0e5de12df785884f6633c6199e63ff950453536151a46472a18e367ffc3e |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402201708115962-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1c71b18f40776ee68b8b5b765e9aeeadd5d703d9eee7dc6bc2fb42b668b0ceb5 |
|
MD5 | 24c1d1e7ac6bb09557bdf7b6db34152c |
|
BLAKE2b-256 | ac32dab1e7fe02c8b4aacf23922f20ab4b86ac5323fea586b94e47dbbf2791aa |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402201708115962-cp311-cp311-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7b880c407a402536f8a0bd99771ce7b04076c11c1c787f1a457477e16dcf1ff4 |
|
MD5 | 8d63998a488763000b5bf241349950d9 |
|
BLAKE2b-256 | c5e17d79e78b45e7dbed11a6c1fedd5df82c0284ae820877678bdc447279ac97 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402201708115962-cp311-cp311-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e0f4498b5acfc975c542f1911d8e8029dfd9b7ef72d560d1afc171214e2bf9a1 |
|
MD5 | 6faef6fd2df5422d9a6b044480dca2c9 |
|
BLAKE2b-256 | c45692dd0407d9c7fb68bbf33882157a4d6dbae0e2093d35c38d17dd61380db2 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402201708115962-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4b5c72d61b0c41b8f87453075e960ec20363fec854cc53dabf002cf0f6ec3c6c |
|
MD5 | 4404ce06b642209ec4e5204c4a02e0f1 |
|
BLAKE2b-256 | 21d7b1dc3cd9a920c267b6b43b7d06f57b49384a0f7840ce124a7e46423a4371 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402201708115962-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | db74c915d0ab50d09b41c26cac81e8cc0cb9a76a4a9f38fcb3a32e5eaaec53cc |
|
MD5 | d9bc8d499ca22ef7ec99154b3010d313 |
|
BLAKE2b-256 | 9b2bb22e326a5870c4f6fa4ed802632eb6817eab4cbf9c6bda1ddad038c416a2 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402201708115962-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0a2b65ec874035591ae801544a3a1672fb4a1ba9e6f67431f2e798f813e4ad08 |
|
MD5 | 7620cea408500db72f8644523da9e1c6 |
|
BLAKE2b-256 | db1e0f6a7ec52197c696da0abbe302118ab27aa6b5c6450b81b6d89b079a903d |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402201708115962-cp310-cp310-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fc8bb841ff079bc46591007c8145ee96f2c71e75626fedacb963a3ff74d3862b |
|
MD5 | 3c21e0283366363e71975c1c10589d26 |
|
BLAKE2b-256 | 30e503dc01898198ac59fc5acc988c81e728fe36ad71c02744a7dd1b6482a88d |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402201708115962-cp310-cp310-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ead29af73b21be8d13dba3aae2890982cd986bb3173e3bca21f1185f9a7ed78e |
|
MD5 | ee17338502d9435204a0848eec38b9e0 |
|
BLAKE2b-256 | d5564a775db46688b3225636c89ccf18cdfa90dc89eea64ecd37796be897aca9 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402201708115962-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cd8624b9b9c0101acc3e7c1c203d6683a3fe6dc3501912a649aca9dd51a63612 |
|
MD5 | 207c22c6aa3d0f5a23e203e56094c0a9 |
|
BLAKE2b-256 | 245f8ba09b157309ed4540e0e3fb4a8e723ed0891c37e416b67657938d0e1c1e |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402201708115962-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f3b20405fb5fd4f9b852a2fb1bfd61d238c1a25aae855dbdfb26593874ccb28b |
|
MD5 | 5d2a7cc7b52811e2fab6fc8aeb786c5e |
|
BLAKE2b-256 | 9f26276b15120ef1c6a9e03f308103a99ef22c7c43ca69f7d86e358bb68de91f |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402201708115962-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f88abc95c78b787c99f15c2a0cb6572afc68589993bc7eefb73e660318dd3691 |
|
MD5 | b284b9a768ce12a65ad2c0e0028d574f |
|
BLAKE2b-256 | 6b1f7a26c17a6e7eb9e666029cee66ebb4efc8c2e38af94166e38d1a2f321732 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402201708115962-cp39-cp39-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 366047edf7c0299740e55c0189a16cba3b208862b7704b4f2a33eb8e5c933c79 |
|
MD5 | 21ba62da514932229bfe13346f2916d3 |
|
BLAKE2b-256 | 3b9560cb7ca717800f7fae10cf204548c7308d820d69d7eea963ca79ef43937b |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402201708115962-cp39-cp39-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5b3a6c3fb9a46c975dc34c04b67250912d4ee12bb4d8f6f8ae135141a7f8ffa8 |
|
MD5 | 2da386bf58b33bd9a2b6222c6cb70279 |
|
BLAKE2b-256 | a2ef5f1153ed1e7d77d5288afa28f7307788138fa719ed0a2f26181f62dc5a2c |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402201708115962-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 209201402c6b1fc1514c3370c5735af533e604e1e8793231e536552aec12040f |
|
MD5 | e5a056fb8e794476644edc2497e8e55f |
|
BLAKE2b-256 | 7917b5625b3f39361585a447eaeddf833ef941eb21947f07bd8935eb318946e4 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402201708115962-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ee048ee04fbc7468022163ef48f847059ec3ac8c448043b74694e35d61b94bb4 |
|
MD5 | cb15fa4c63af4299b697236bb9f111c2 |
|
BLAKE2b-256 | fb27dd0f3660ead5884b6ae2cc006079ac74ef3981f7e4ae5bb3534e2466d318 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402201708115962-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fbe6dd0c7f2205fb5876fe6a69e11b8b465ea8b9dcebba86f6f15db98438f8d9 |
|
MD5 | dd93a7beacfc818711b94d280780177e |
|
BLAKE2b-256 | 4f5921b92b3696ba71aa65062ca930ec0841fb2ecfed6495fc76afea9a8000cf |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402201708115962-cp38-cp38-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 756cd746d75af5356662f560ed9edaac04b103121f9a35f4215cfb5ba5d47b30 |
|
MD5 | bca787de92cde29b8e455a9ca8a0b99e |
|
BLAKE2b-256 | 88236234895a72060fedcd03144abb2a43d4dd6fe85115124bb7457803d53381 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402201708115962-cp38-cp38-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bae347ba355d75a5aee620c26caf5d4e400efdc6a164d783b3656d9e87065c9a |
|
MD5 | 3e3b840d2e9f08b8f27a17f9f9d340a7 |
|
BLAKE2b-256 | f1f41b876fe22347030b9be763f58ca0b1721f2bf3c9fda570e863c4d42f068e |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402201708115962-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e7982a7f65ccdec6b59b4f1036141f1b628544614671f2364ede8b5d56d04b96 |
|
MD5 | 78801216deee1af3872d9dcd1238d533 |
|
BLAKE2b-256 | 8707ca258c806b14c3d741b5a9bf70fd866839e8a51ec368b6381f4cd7546fb8 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402201708115962-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c3cc6b6344614d2bd323455e82850ea0668d86b48a7bcfc3c749518bec704e4c |
|
MD5 | 11972f644c53e826118c5a129ea60bea |
|
BLAKE2b-256 | 8c4b943a4e003b0ce3381ee197e7fbd70bbd54060533588ba4fe9ea51d8154fc |