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.dev202403131709747362-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2c716a863cedfdc251ff0124a1971c81b2624ee6fe52f572aeac6cbb36597c63 |
|
MD5 | 64da18c9d0019e26f7e442c49cb4ff19 |
|
BLAKE2b-256 | fcd299bff93fbd3881646e078f75b51ca398e772d445144e1725af86cd423b6d |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403131709747362-cp312-cp312-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 98e3886862a0adc2e73ece6f1a7a2340bccb9899e41eb5f2a78e26398370883f |
|
MD5 | 560d9302eddfa4cea7218bcc62385f38 |
|
BLAKE2b-256 | 19d91b097ce5619f4d3ed2b0ffd09f160ee7470288968a01a58515f0fff74e95 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403131709747362-cp312-cp312-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7fe8f5f3dd914c373e172941c208559b0b2bc1686383dd34e67def6a6c1256b0 |
|
MD5 | ea66795fb98b3fa32e2da8de7dbd110e |
|
BLAKE2b-256 | 737bf223ff9fa6827db0b8990a4bc9c273a7f7fa6c1b9c749640470551c0b7f6 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403131709747362-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1a8dfb3c2fb9cc271758336d6b427c5ae066b79a5b366b88913e91f8650f909e |
|
MD5 | a6d5c7380bbf329790c64d2225833e5e |
|
BLAKE2b-256 | 8ef187c1a2fdfb0fa72aa814d3c517e907518c69f3b6f2ea24c0a93ea4651ace |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403131709747362-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0933e8329bfdd19647a3855eb3761f84eb3ea93cf4675d3938fbc4913b725a05 |
|
MD5 | 15efac8bfa996ac92cfdb2ddff42530f |
|
BLAKE2b-256 | a57e5c970906f9ce5f6573a3abf8917b5e92e991ce00e75dfa9e489a16d5cf66 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403131709747362-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9f1819c91c1dbdeecca7aa28bf34740b16eee50f8c263d64f09984495ce834c0 |
|
MD5 | a9638887a54be3950e0e1689887e3a0f |
|
BLAKE2b-256 | 14834abad0c72f089e208a7c12d4abf354bbc96d4e864ad8e74576f89fee5975 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403131709747362-cp311-cp311-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f46dd1431a9f868722351eee074fa210d57e5722933389134b8a2ddc2cd7239c |
|
MD5 | 1276c44336ac065363ead9839eeb6af7 |
|
BLAKE2b-256 | 991cd9f372a744f039bae2dc87e2bb1a03506fadd8c1b9b38eb6d8f7998f053e |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403131709747362-cp311-cp311-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a069657d364b10cecd384e18ad67d953113986f6cc6abc7c694ecfc81ec0ff46 |
|
MD5 | a1f2dd80ccfe2e45b59153adfb5f3422 |
|
BLAKE2b-256 | 8d6cd05caa0844556658633912dd3978736aafd9d58d331c290425a49b6ed535 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403131709747362-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7be7ca1ff30c724de19c250ed44f2fe905fba0aab872ec1e103e84825339fe36 |
|
MD5 | d9006ccb955ffcae466b9e8bf823af9f |
|
BLAKE2b-256 | d4ac6e7c9137062cf4b68f6030b885f3be728c34d5cbfb35bf4a3d39ac92d459 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403131709747362-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f7b08c24e821a60981f97c98f9752afda2c9caefdb3983be09c0474dbdd2b409 |
|
MD5 | a6f15c02ccabc87236d28dd818183bfd |
|
BLAKE2b-256 | 2b3eebf5752547befe7ca16fbd2ec977e5a80202126d3dec2016b521e0e8fccc |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403131709747362-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 842fbada44e9a05d9c8898b5bdc56dfd3f512a98d99324c787302bdeb7655846 |
|
MD5 | 9f45d9571c192df40e7ae1d3583e6c71 |
|
BLAKE2b-256 | 688f934b0dcdf47c69103586aa336b5c51ef5f71949156f9b283b6c734311786 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403131709747362-cp310-cp310-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f5ab793cf4d8f7880c4bba9b935d61b0d84707f1521c0660a177c9be7b548770 |
|
MD5 | 67e71a7f028f216ebf2e069f4ebd99ab |
|
BLAKE2b-256 | 582d0364c9bff3b767a1af4147aeccbadfa8773e9b958412a2a36dbd8aff09d1 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403131709747362-cp310-cp310-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 15e0c8a42a798c1466998d53c8cd21839f54df64f1275f6dc3723557be203104 |
|
MD5 | 1ea666bbe5c55275c234f3f106dc56d3 |
|
BLAKE2b-256 | c8d6f6403ad93f3d3d9f44c2442e0c56782ab674efeaae26a1a8b51379f19d5c |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403131709747362-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2c6162123559f8d1ea34990d54b84d1a91feacb556f209b8f0e4b438fcd8e1e9 |
|
MD5 | f0d334bfc89fea9c5523b2eaed126abd |
|
BLAKE2b-256 | 84b2f2e1d6d95fd386eff34f9fec18b1f8165756c049a8a627a3947c7b1dcf7c |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403131709747362-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 209abf253c090b9e36ff61fbda59254192f9b3400d2fb7a4463d0bbdfd87699d |
|
MD5 | 12aedad9d008a1619b1556c5843ea97a |
|
BLAKE2b-256 | 3dacef367368a6a459e2a05ac056501e496cde32ecce50f647efc8e703495a77 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403131709747362-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6cced49f9e449ea11f3731e71e8473fc727bd31a55edaf38323a2f824b8b374b |
|
MD5 | 79042e82ecda97bfb6e0c23d60fd9313 |
|
BLAKE2b-256 | 940bada490c5ef3a0a4b19da0476a69cc90c52166d97458408fb1985237d2fb2 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403131709747362-cp39-cp39-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2bd2e63185f08d82d234db5ec740dd19d3de4c686b694997e11b160360e1197c |
|
MD5 | e9c5d6436d37f2c81f7efc1e36f923c6 |
|
BLAKE2b-256 | c0b83d571a91580e711c0823360e863eaf48a4e7c34dfcf4c12ccf8a503a21cb |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403131709747362-cp39-cp39-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3aa79d9479d45cf807c496c68b9350c7b597114c4b78568a934b14df4da6b1d2 |
|
MD5 | 2fdf4a1018941a8bd53f8a678cd0999b |
|
BLAKE2b-256 | 91719b15cf9671fb8cec66888f6e2a392c2d670aa16d3c8948e98f3c1fd2c7df |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403131709747362-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8397c7c0bb2529a0af95c905d92dcd35df58d32c1a55371a8de8a42c283a8d57 |
|
MD5 | 0d1e6ba2402e7d536f64556c6c6c8e0a |
|
BLAKE2b-256 | d6c447eac61653a5463866c2854d398b8ce0b021cf65992ce28d7ddc853ce285 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403131709747362-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 68ce5bfc69b118230a354976040f3322dada14a03a61c2d95d62aa8f537af13e |
|
MD5 | 5b18ee04be5100890d002bbf501a1256 |
|
BLAKE2b-256 | 966459c0662b7d279803cb72cd31cb4d6c761ddfed717ab40e4208e6c62afff3 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403131709747362-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 33b934a5f682f6c86e766430598ca3e1c49476e7f1b2ac9e5697d4e920e5e0de |
|
MD5 | f628f797c335517f7ee2e564d2378794 |
|
BLAKE2b-256 | d562e00470900048d58ac7de34fcc65c261b556e651d6347cf62317f5cbd7be7 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403131709747362-cp38-cp38-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 55af07f85fe868c386d744cf1be9c27c01ea1f60e17bcd956a4d4251f765db8b |
|
MD5 | f0e0875760f4d2418f8bf4bb19a30d65 |
|
BLAKE2b-256 | 8bcdaf9d0990ce03bb7e3c1f9eea9501afba95a60978bf38556200d4e8790089 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403131709747362-cp38-cp38-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1f242ec0a6ab073c72c33bf8ef558b8fa3c00e15d755f743ee7e7d8ed27137f4 |
|
MD5 | 4377ea9eda1cdbe753a346735718d496 |
|
BLAKE2b-256 | f69ecfaeefe97277724faf9e227ab81300f70eaffe0d0676ba12f3c6622da693 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403131709747362-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bccb40af59cd265406257b3d289ca4a31e4b51db5903d9820cc77d8826bff327 |
|
MD5 | 2f1158712a8e509dd0917a6e79a647b1 |
|
BLAKE2b-256 | dd76be84e7a068f26f7cd61d42d42c471b34d775b0d5aae53aa3a66ee44c3a21 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403131709747362-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7b43c2e000206aa6f9fc4ed9d08ae2c98fbbc7665ba1b64e10049b3fb9fd40ad |
|
MD5 | 76a26c2d4e8c15891fa008f59c06b06d |
|
BLAKE2b-256 | 561a49eae1e76f9c0cc52d96655ada7f31502d6ac54ace724f86db4cb51d207a |