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.0.9.dev202404051712167003-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 48c9b681260d9bce126fb7b68e1ec107e4da07fd2e2e38eab6fab7711d915cfb |
|
MD5 | 0a32506aed9ae1bc18cd7c235b715320 |
|
BLAKE2b-256 | 80f003f5fc09ee1ec62e10911db609c5659b4e68149dba179ebee43abf7c5f02 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404051712167003-cp312-cp312-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 382df19e87e76024aabd2aafff32c3687fe4dd71cc999252a828abb8825b6db1 |
|
MD5 | 259a7b8d9a5110b52a7f7edc8fca52a8 |
|
BLAKE2b-256 | f1c3cb3e417a1f7a3cf0ff8b92fd789a0b19205ffd6cfe6712d299422d29fd35 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404051712167003-cp312-cp312-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5b704295e078aaba110fc0bdb22da196d63a96345fc4aa3d277d007d5e9a2d7f |
|
MD5 | ebad5265cb8a456c794bb66ab6d8e759 |
|
BLAKE2b-256 | 5a05dc8415516010c1d700d509321a40558a68db2ed0c8a4497bc8c27f7796fa |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404051712167003-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e6c93b41b797e861bc0f431b1e11969d1520e7e9f4431b055466f98d36006bb1 |
|
MD5 | 80f0e89f6d9b68f596e9bcfbe15ba8d6 |
|
BLAKE2b-256 | 60b9dfb2c974c38f7146c7baf499002df865ce5f59210a21c105789de8f11834 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404051712167003-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ecd7fdd1cb6a870686004f1a42174d6ece556411abb3d6a515bac1ab5610858d |
|
MD5 | 94feb8e9a9a12cd83f1adc1c434eb442 |
|
BLAKE2b-256 | 2fe059a9bad473ae758e8d8194366226d56cd3cd0ffe5555787e437590300fbe |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404051712167003-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 53bb81db79998aa6799e0e7f6388eb5d64bafa94080eb167303e17a8ceb1b9ce |
|
MD5 | c99656a41a2da095c3071cc7a9323114 |
|
BLAKE2b-256 | fd35e1dace94d7193d05497056a4e76801c79c3331e18a246edbeda5ef3ca0b4 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404051712167003-cp311-cp311-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3e803b8d9e4f62593570125c7311e23c89ed0ca281f555a9b963423b4a854a77 |
|
MD5 | e913ccc10dbd2a0cd11ad1bd880e87d3 |
|
BLAKE2b-256 | 7ff2ff19b1e0904b8b2dfbc14e56983410220127ba84167fbe533bbf5d34386b |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404051712167003-cp311-cp311-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 893ca948a27ca6c1c894837ccf5ba24e71ce4630d93d04b1a03595cddb7adc6c |
|
MD5 | a2262a8a200cbbc9874d3c7069531448 |
|
BLAKE2b-256 | 71cc6f22830b5026f2b2809bb963967850e1c44dce87ccf273230389cc23e6e4 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404051712167003-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ecf78c5fce6acfcc09977c84f83dea8ce915b92c129928f8c2667da7a738b164 |
|
MD5 | df951fef1270231afe8d19ba9cd74cbe |
|
BLAKE2b-256 | 1944c094b2dffa95ea82807090912e4a20740b47f5a712b24c331560712c1bc6 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404051712167003-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d751bdaf4aff401e5f2d7e91b2caee8d7b7ffbaa5ef5fec582cb167c3992f18f |
|
MD5 | dd520accf755b14b7757ee5421ffcd2a |
|
BLAKE2b-256 | 3368eb4ef4a10f4517b5cc8271f63328248647358ea9b6a4d7f4d1af02959139 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404051712167003-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fb94a6d6e44835352fc88c549e72ef0407c073942407224b5fbe2a27cf17062b |
|
MD5 | 4c49ae690a6011a09fd3186ab21f6852 |
|
BLAKE2b-256 | 2ade7cb8a1704eae79b3f37ba0dd00f4fb76d5d491e9113b8b3edc3000a4992d |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404051712167003-cp310-cp310-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bcab5e000ab943931db9b84fa224240b561d4f022b5bf985189f6c46328c11f9 |
|
MD5 | 514f0eeda1a1968e2d2692cc582bc0c1 |
|
BLAKE2b-256 | e4d2fb8164f46455e6c951a070122832df74f1a8b1e663c2d445144f2f5e07bf |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404051712167003-cp310-cp310-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3b47ffe025c3b7339db41a96cbf38b59db5ce24a8c8a9df691e0e50ff494329d |
|
MD5 | ade5369d4802d7258c84e87ca3706647 |
|
BLAKE2b-256 | 24221112ca76194b20d3eeec72b0c3391daf82d3833fd70721d1b3968c1852b1 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404051712167003-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 27e721180ef13b7ef2f36000f179752306f413df9d9783d19e4d99d73cf27c36 |
|
MD5 | 566e08ec210d073d4c81f9e3310a5f20 |
|
BLAKE2b-256 | 34e6c26d3e7ca72778cb94c18c86dd7c46eae300907cdd3af68f8767c237b1e0 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404051712167003-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f73bca6d4e331497acf89bf7ef0ecf6ab0376b719b1e97bc4c26f6860044352b |
|
MD5 | 197c380d251a29d025f1808fb7afe43b |
|
BLAKE2b-256 | e4d05ebfde1940264bb0a7749f38e09afaacf2c6bbee748215e2bc7b9bb21ca6 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404051712167003-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f58c8ea605c3a51a0e995d1cca2e8dc6234e4508f9aaff51c9263d45e1826c47 |
|
MD5 | 3ef06432dffebe4c5f2189de2d8b6552 |
|
BLAKE2b-256 | 372fa48069a744e9c079e3ed22635836a6dfbaff8edea0dcc6b6e250ead3826b |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404051712167003-cp39-cp39-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 381597e9d8d4d5b49047919716eab1cbecf5b56e9be69c40b923193417888667 |
|
MD5 | e8e7274c92fd73e7f8586a531e16d831 |
|
BLAKE2b-256 | 58424602461966b897a7129ca878877449207609c88a35828f9309caeb64d629 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404051712167003-cp39-cp39-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a5681616113dc52f2c27e5cce63f8ddfea803cd8136d3ff7d930f325b9f4a738 |
|
MD5 | ab4a403935627143d6028ff194cdf802 |
|
BLAKE2b-256 | 347d8dd8b6abb1ad575b171ac2eb588ddfaae51303efd6153864199ea45486ba |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404051712167003-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7bb258fd55056ef5a69fcc9663ea91b9c371512d66f0637236544c54f288bad7 |
|
MD5 | 8d3b9f45ad71c0a1f661af2cbd67a4a5 |
|
BLAKE2b-256 | b62b4df3d607dd7fd079950de8e85ea7133b178280dc146752d910d10929b272 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404051712167003-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fcc73e01e0dc7d9486db68ee035ddb1185387cdb42d9f45d9eb75d6e83435483 |
|
MD5 | e7dd432e9f540c5680d9dd4323e2ac17 |
|
BLAKE2b-256 | ff26b3235461b0774cabd7f648083e15d5a78b3a307d4ac4c6045a2e7e14b197 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404051712167003-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dba7cba72bee5084229c0f943beec5181fad6688c79896d27d9a6d72154ad528 |
|
MD5 | edfa9f4eb626a7606c436840b7873f19 |
|
BLAKE2b-256 | e988473deb1d665680ea95d23563ab51d28a1c4214241bdcb69b3dbdda8decf1 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404051712167003-cp38-cp38-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5555dbaa8c80ec5c3e77751c6e5c867ff5dfc5f7e849e8dc24248f631d71a60e |
|
MD5 | 2c3c68f213ac6dbdf1a6c254efecc312 |
|
BLAKE2b-256 | 8afb201ef00f62d67018fe3f25ce433cf970ab4dc11c5d660e52464c506731af |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404051712167003-cp38-cp38-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3c41e60b9f9435902d6ac098ba1714a6da64d3b82904a7dec77fb97af2879b6a |
|
MD5 | 77ee05857cc7a82a5a2eba8f0fe8da29 |
|
BLAKE2b-256 | aec4dcfcc05afd94a45e30bd94987caeaa29f252c4ad45c10ce96ddc64df68be |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404051712167003-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3c2d5e00ea18068f73f407e491851f7a6cedf2e90fdc4935a1ab5c244b9cb868 |
|
MD5 | 349dfcc00e5cfdf2696e8d09c0f0b2f0 |
|
BLAKE2b-256 | ee03c062f2dabf7ac4b9ff0a417e278fd482cfe9e69953c9636f03bc73785b72 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404051712167003-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a7e8e4141f945025a24b4242326cfb82d50a66ece0bbda81948d0d067ffd4601 |
|
MD5 | 0533570173b117309120da62ed93082f |
|
BLAKE2b-256 | fc464a227ea7ded1c888a832ddfe3ea4322f76c849698109af09fd7c35717ae7 |