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.dev202403221709747362-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 857d1b4773cd409c32de9c1c18d9af28e20db77c0f15f867e866f0a8472433af |
|
MD5 | 8fea11d34362b5c5fd89eb33d4357bc6 |
|
BLAKE2b-256 | 9d692491e16ae7ce33fb201d770b00a72053bf5e7413de4a8f926dff0c6beb91 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403221709747362-cp312-cp312-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ec141cdc656ebea53044a81e81bce2f9df5e9815dde8db0132bd52eb19ef3f0f |
|
MD5 | e0705cedb9c57e4e132279ba7bd7cc59 |
|
BLAKE2b-256 | a7238b8f73b9b26327fc01a11389ce2dc864efea2ef7b2e8e1e1956a1e1819d1 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403221709747362-cp312-cp312-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fecf81874b7c77c645fbe80e7504df9cb3c87ca2b7262ed402dcffa968d99f3c |
|
MD5 | 8f3153e3029703fcfe4ece91b9dd1ac9 |
|
BLAKE2b-256 | 6000f386f6a8ef0d59f2ba6f9d8a561cbeb802a52f3e8c2dd68d03d7b31fd144 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403221709747362-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 15da91c5734bde95c62aaeac84c7bec6524e6da0a6ef6576cf27bb75407a5cfa |
|
MD5 | 2f00f22c66ebc81d64ca5f6aa045fa8f |
|
BLAKE2b-256 | bea0e5caf9c6c0c4cfbaf56e523e91377d95d8f45d298e14cbadcee4d39d3e22 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403221709747362-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1138bccb11e2b9c643942fff072da64d9105f86ce6b9a16c82de1103c751e8f0 |
|
MD5 | 15e84eb767fe977d02d657a6a8ab57f9 |
|
BLAKE2b-256 | 5d18cf4891cd96417c46c008fc93db01c469337f9ebe423178602d946b8790e9 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403221709747362-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5ca5b6aa2a282372fbeb3c210948acd408ee366ba71d8730be563ba5e4a61cd5 |
|
MD5 | c81b7a76cca38b43c1bd16e4bc15fc0c |
|
BLAKE2b-256 | c7162a3915fa5c95b7e20dff648c6f2953c3872d34350c4a31a1feaa9d5914c6 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403221709747362-cp311-cp311-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7d70ebbd485c59d172ab316095ef937f78537fc6a7ae3e0a5ceca48bbe7ab3d9 |
|
MD5 | 368a9d0c96002ea8ea9bbc999188ac49 |
|
BLAKE2b-256 | 1810537ec190c2906db0e2609a2a74050d5e369064e45b423516f6fca3a6f39c |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403221709747362-cp311-cp311-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e25592d720b3db70cb308d10a7c738ae5b1240de03a1387e99552ecb29d47aed |
|
MD5 | 2e47e7d9d7a8434580caed28e6ae91d4 |
|
BLAKE2b-256 | 87337410ad0f8d9195428cf9fc4abfae22b539eebf7b0dd7633e86599f82f7d4 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403221709747362-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 15a5f91a562a98cdcf68a6efa7428b87e39201289a305aebca4b02c36823bd3d |
|
MD5 | 56196edd6724c31143f3ff1b89acbad7 |
|
BLAKE2b-256 | e9538bc75908b24a67664df50afea096e610fddf3790c914c94af72e32e243a8 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403221709747362-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 23ef7ea5653a7829fa09c28e2c2d856b777a8cde749d93d5b0a80f1c7a792cd9 |
|
MD5 | fc782f33e08a3a652086d22f25454f14 |
|
BLAKE2b-256 | 09077ac0986a18cd0d2a4de44ca21e9892aed88cd36f3921b913bed480df77e4 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403221709747362-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | aaf74c4ebf37f43aad56d95a2ac48858f700479f9315323bbd4f6216dfc356ea |
|
MD5 | 44ccfb2f2020d5b2a6fc8deb4a032e48 |
|
BLAKE2b-256 | e605febf5123a9c8e25e26213e7362bfceaaedc2c3f0d948f4293921b3e1b13b |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403221709747362-cp310-cp310-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 821d58f0535d3bd84885244bfd6606cbc15d449a22ec21c194e6508aabd97ee9 |
|
MD5 | 1f0795c96b643cca5bedbdc152a08822 |
|
BLAKE2b-256 | 506671c0e225c2fc6cfdd3b6d1d8105c4a301d6679ff1f696e7fb89ee10a9a55 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403221709747362-cp310-cp310-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 601f1ec642c93c7df8adecdd9e3642007e8b619f36925cfd760932fd32660714 |
|
MD5 | 75638420749fda429db2da8eacac6585 |
|
BLAKE2b-256 | c9a9519e32aa5e6c75604a360405f44242e605f74213a1a8869b5a85367edbc6 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403221709747362-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bba45add211ec07e6154848cc25485fc65858f6333ca4b43af40247261d6531a |
|
MD5 | 728877b082bd3ed4a5bb7b638c1b4ed4 |
|
BLAKE2b-256 | 8245da2fe0361348d703afa3023f4b420d0514ff16e537f8cbb3af806ee56c28 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403221709747362-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b28170c90cdbe28f21cf912974e89796a86f014acb11d3b976735d6e909ea037 |
|
MD5 | 2fddb3991c4dddbeef7a8bb7c7d4d138 |
|
BLAKE2b-256 | 239bd7f1350a072ee2dee76b93770432b9aba58e0f0b241c43e00f092666e720 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403221709747362-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b67a9bdc585a27777602c119f4454dab20e4db091d322ec7336beae9cbbcc7fa |
|
MD5 | e973d97495650ec27bbd39738efae72a |
|
BLAKE2b-256 | f5a3eaf6d6d37a834adb09eec02ece8bde7ce961c2fdb0cf558da03afbd0b814 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403221709747362-cp39-cp39-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 06db256a3fd9d229c5e2a011befe5ae6767e1129b9024c1155efe6edb9e74d29 |
|
MD5 | d99a8094b6aff43a0e85e549aece88ee |
|
BLAKE2b-256 | 94f07db07444478c958c5af73ade0d1c5783b9417b53a1ad9ff151ad2c47d6de |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403221709747362-cp39-cp39-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8d1566e95e8bf9c15df286c1c1458eba0ac8cf071e6fa994b05a443deedfd4a3 |
|
MD5 | 02e06c75227fac439aefa0589fdba840 |
|
BLAKE2b-256 | 8a1bfc74e58532c0d9a55572ec44ffe30f15af05c8fcbbc305055f200e4ad726 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403221709747362-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 11f30377280dc8aab1afe29f89df133bff6bc2f413aac4b107dbcdf6c1d2cc4a |
|
MD5 | b000d5aef3b3796cd689557547deb25a |
|
BLAKE2b-256 | f7f8a6c02bca851904e88fd56287dc25253478c1545678cc290326b9e459dd27 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403221709747362-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 59909c61d90a2387d62738c2b62bc49a2bcb3202f14927eec4b7873a4a70561c |
|
MD5 | 2b33eff49f224010b3bb8cd551fd1e59 |
|
BLAKE2b-256 | 117116251b72872484a52e595bdf78f7c51876e2bfb5834212b74d0f64847420 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403221709747362-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eb8df85db1651b62374539e44d74a9cca97af6487a4f8d4ec42439e35c409131 |
|
MD5 | 87358316060d45fb1a4812d6dfb50d33 |
|
BLAKE2b-256 | ab4f58ae125a72f568dd017b5fc4585868803dad3f5cc0d622342678cefaaa4d |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403221709747362-cp38-cp38-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7afc40f8444c97d2d88b7a1a3fb99ede7a384ba6173bd210c291c1719dea644f |
|
MD5 | 9973e4167e72f92cb42d07cd50b21ec8 |
|
BLAKE2b-256 | 293bf6c1c998bbce27e3a831bf699db2f43e7485276b5d555ef2f4e007d00c74 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403221709747362-cp38-cp38-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b1489887575f4a5d24f5319143de35bd236e5be2bd38e353f2473aace58e4ad5 |
|
MD5 | 1507ffadbd587b86163c0eb969bafe1b |
|
BLAKE2b-256 | 0827cdeb60d8fc0cfc55142e0d4fac2cf04cad855dfcf0e437934650ee0c8b81 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403221709747362-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b24a9ee8e69e9fe025ccc2a0bd24664ad3d7b000056773bf7c70857a425deadb |
|
MD5 | ffa0a9984fec05844276f7b746785d83 |
|
BLAKE2b-256 | b6cf58e3f045585017ffec08c8b0af0594c12c3b915270eda2fd523e45d9d66f |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403221709747362-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8fc0e6e39496ef39a885a3e1bf67f045f3e262d38595bf3b266e4c91b4d7f54c |
|
MD5 | 98e2e799bc6ba3f07f2adc4ec6b16104 |
|
BLAKE2b-256 | 726b8b59ae7061a66718481016871f70f2853d1d2c84beb8d5146f2523498c5d |