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.dev202403181709747362-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 07c46f68983c924e7c82e7b37c384b38d139196c83b42d2320bb7ca63361d56c |
|
MD5 | 550bec61c713e533d4c3f9f5a0bd1f54 |
|
BLAKE2b-256 | ab3274fa829525f77db98aa2c14149a8a0dc32f61cb8d959cb222737f50b2b02 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403181709747362-cp312-cp312-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9654080fb2a886fa368826979a644f07bb2e7b5bc8577a3ea804ba8f4abdad63 |
|
MD5 | 9c9017a03449e0aabc2ea18c629ea0c7 |
|
BLAKE2b-256 | a08c24ed7a0db8c08904b134b4a2e5d9d288cf7d3b19484fa91909aa9b307716 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403181709747362-cp312-cp312-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2dd2ba12a04f38784be64ae0b07f83544c363c41ff15f4e78ed6b00a8398ca91 |
|
MD5 | 644c422d97044bd61998da5617b9ba46 |
|
BLAKE2b-256 | 0019bc0fd80b932f7665ed8c607b11847840dedf728eafc14352a43f86f3c5b8 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403181709747362-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1958a9b143f0e8a625f0edc575d2e7931f2bf4a075743326277499dade4b581e |
|
MD5 | 00d06497b7dfbcc6bec336542d4ea857 |
|
BLAKE2b-256 | 76ba7223dbc139cf45f21d9443b02b2105bed0dda7cf11251cd4f2dd1a539ae3 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403181709747362-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 655395fcc2ab4f881bc393cde65113038627a279c69fc0cb6d8b0e3bea61321a |
|
MD5 | 4163617f148a1b846a9d6c175a2c370a |
|
BLAKE2b-256 | 02ca86ec3c98cd7ace805f6f5beda21221963f128f69950aae06fd3a5fb609a1 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403181709747362-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cbdc17a97d3576099654985f461c6b4adcd8e674091a2101f2f76623e95b8eb5 |
|
MD5 | d277c8b182d786809f71424bd99bbbd5 |
|
BLAKE2b-256 | 3ec7656b756be7f9c291b352d8ccf8c779e613b8b6acd839f91ed3d61fc66149 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403181709747362-cp311-cp311-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0ed5f58699daea75e3dc43c5bdd9137d5ece6ff132922b26377e9e6b449c8040 |
|
MD5 | 636bedf4f62c7671fbdbdc51309eced6 |
|
BLAKE2b-256 | f1586bf706cec4b2c48af26465be4e48a8337d04fc90a183f20c5e1918866f8a |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403181709747362-cp311-cp311-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4a0eae680f33bbd89fdc6db358415dffde851cacb0ed09d1e803f5744b203580 |
|
MD5 | 351a8bee1b50898a608569bea620076c |
|
BLAKE2b-256 | d51eec6d4bbc8ac74d5815b867abdba89678f49bd8ecaaaee16d6c5c320004d3 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403181709747362-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1f16304d2cca765807d7903d8565e22f36b3ec0a568304a446868c8866ffd9ac |
|
MD5 | 6b9fe38b9f164a0c1f0d81b72db26573 |
|
BLAKE2b-256 | e4a269a5568c6e95c0f43fc8de75b39b1b4410c7bd06ccbb7d8b21a89230a86e |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403181709747362-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cb0305d6dba9379acfd73c1e66b19f6c7022c2737e677bfe86e62a1dfb81990d |
|
MD5 | 941e899c49fcef47ff82233536ad6a68 |
|
BLAKE2b-256 | 2de4a5659cc3672c0aaa057a23b039159fd903d6f31ba459190dd7a3c1f4536e |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403181709747362-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ea2da696915cc1c87ff18f42d8fd780f38a60904cb8a05f9a66c8a6c036a7c02 |
|
MD5 | 218b98203c3b2c2554453c2d94317520 |
|
BLAKE2b-256 | 38313dba373cf7e3c14e95cd5f33fdc97a15e3d738f4785de8b07f25d0542948 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403181709747362-cp310-cp310-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c6d1c01adadce26ed16ba5fabb39e5af2eba97415355e4d36e68c16356fade0c |
|
MD5 | d9bc7e9ad89e38047695ccbef5d57f09 |
|
BLAKE2b-256 | 2eecc83550c7afbd7c5c40dce56f62dd8c06a3f17799ac2c26b7c6c5d028fdd5 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403181709747362-cp310-cp310-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b25ad8af4da77ee61bc9e8dcb2b2b731f75413f9eb5eb8d53587c0f1ea2b8673 |
|
MD5 | 43ee4fa58741e94270ebc3228e1ce791 |
|
BLAKE2b-256 | 98c65f3729954a15f562c8a60ba5155eb76eaaa7b0a5e820c6d20fa97d37ad95 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403181709747362-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 14ee1c2dc77bc5eb22359c9b2cfb8860b4e1317be934fd66d58915d444ce8003 |
|
MD5 | e91b6fbdc66f3696d11aebebdc0d4444 |
|
BLAKE2b-256 | 2917cb5d7c59d051f06b7432a660eb67ed5f8375327c951c147d0a240a030776 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403181709747362-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a43408f6b12f0521d5e6bb5fbae6a68feead62a8b07b15cfe8e235e695ae07fa |
|
MD5 | cfd39231d8a52c5dcd7535bc846c5f24 |
|
BLAKE2b-256 | fc6c468d420a7aa966a39a29678083fa261cdb647ed9bc8bab218edaf8a61eae |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403181709747362-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bb7f04d5a4212e2a1fa9258acc559c9a359951aace6a35c779918beba999b0ab |
|
MD5 | f845e74e7cf1892dff5a4a3f280deedd |
|
BLAKE2b-256 | 2b418b94cdc42c239357808cc4abdc0bf3cb6b6fb2508910623430130db84cc2 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403181709747362-cp39-cp39-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | db0bb980e0ab6904cbf95e4b46f82b7e8426acaa0c293d8b0a42845866025567 |
|
MD5 | a06714122de951442c72db1dbaec7d04 |
|
BLAKE2b-256 | 09e14b1c343a8ae0b6cca478c90eb9f4b8cc78e8f9d57e9027055d9a7840ea71 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403181709747362-cp39-cp39-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 26e0edd7977a4974dcf06bef516c84666759c597079d39bd7d980de9b65ce75f |
|
MD5 | c27ac5ca5bfbb5df85a9c1b41ac1c681 |
|
BLAKE2b-256 | 617f962d0a6c9524982c1aa24e871241c641e4f52c72373e94d94964541ed48d |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403181709747362-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bb83182c256d033bc72c51df16d3b3fcffa37f3a8d05e591d66fdcefbfaa8f09 |
|
MD5 | 249098d37a244f02276ff5e4e31f6fe0 |
|
BLAKE2b-256 | 71581d199222701f103a363607b32eb8f4fe306372828b38f9f08190525b39c9 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403181709747362-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a7d191a08b1ffb596366f829487061b622298eaaad3bfd58a10a2f5910ac84bc |
|
MD5 | 660df999ebe543b64e74fd4dc98d50d8 |
|
BLAKE2b-256 | 557fb8acb6944d9a20c1e691d4ed632bc2c3a98c9a3dbdf095e4900821931720 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403181709747362-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8b39a160ef78ae7f10cb6be0d4df86d0997c2f15e2924f34c77e9aa346a1460e |
|
MD5 | 44dc5e3f1f04a3a6f548f77e590c71ad |
|
BLAKE2b-256 | 70d819ac8d20bcd5675d5525b63b02dae86922b91231b6ecfbde936a7a5ea4af |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403181709747362-cp38-cp38-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4d024fb6d2a453a4cb9e635e2ee63c7a3fd64734a3c64c87d338ee8e82326c98 |
|
MD5 | 246097ba6b29931f234b342c05e2db11 |
|
BLAKE2b-256 | 99df7066fe9081fe034dd6128f068b2f6ba24eddb6e0bc7a64a7813c22274918 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403181709747362-cp38-cp38-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 45aa75ee45b44f940216a32fe1950da29267b6af09996546b0f5031c94f307dd |
|
MD5 | 039edd87d1db73ca0307ba8ed564fe97 |
|
BLAKE2b-256 | d6b387be9aa70425be0953a9541c414291ec5438e20640dd27a25000feb47252 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403181709747362-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6af4853c6b8710e9de0b56e98e32ab7032c8d308795c5ad94eb5d3cf0132a7aa |
|
MD5 | f66e6542ecd58559e5941f51023347b9 |
|
BLAKE2b-256 | e5a24d3c732a47573ceefc5a25c32174ae479d7d697bf2f888f1205549d98faf |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403181709747362-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7c6d370888b5dc67d5bbab58cb2f1c8bea985ad728fb2a25b60ae6657fa2d2d9 |
|
MD5 | b8c47ad636cc882ebb133e6099566f67 |
|
BLAKE2b-256 | 4c526493dae96336292a28073854e82f5d1440479e4883adf400b35eaae1d335 |