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.1.dev202405021713370971-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 75ae470aa27448bab2afaef9ad6319eafe45733f9bf1f230bfb334cf5d46b755 |
|
MD5 | 42991383f768d86d285448631a752779 |
|
BLAKE2b-256 | dfe912576b7cc093114d7bab1737f46a13bc02bb7902d04b1945b79cca71883a |
Hashes for pyAgrum_nightly-1.13.1.dev202405021713370971-cp312-cp312-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6236d2e15f93ebf9a5fce89b82c85e83e4a087ae2e089854ca32da8d70e505e2 |
|
MD5 | e07933dcbd6b0d61950535ce466ca02b |
|
BLAKE2b-256 | a0863face66555f943753c2717ca7f359df49cd1ccab2f5a372e9fc637de379c |
Hashes for pyAgrum_nightly-1.13.1.dev202405021713370971-cp312-cp312-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 88322da56bc9781a05329d04a506aeb917259b33c9bf572c0c12be4d23a19835 |
|
MD5 | eef288297e263053541920312098e408 |
|
BLAKE2b-256 | f09437a0cd75f4098c35bdb8bcc935f7356388c9b21277ff8e74761b607e518d |
Hashes for pyAgrum_nightly-1.13.1.dev202405021713370971-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e5d436bfc2169cda08e6ab7ea6393135daf3d4d2c88ba8a15dcfb116b7e3941b |
|
MD5 | 8d2f31182cdb1dfe873b1b2a96c99b5a |
|
BLAKE2b-256 | 7778890e2bf33532981c4a3fe4430c5beb4fc2192911fd557407da749047cd5b |
Hashes for pyAgrum_nightly-1.13.1.dev202405021713370971-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4a79ea9d9167dff4fc0cf3ef0deb5c36a9be471720d6cd06f744e4d33647ee27 |
|
MD5 | 9f30294247b175de0ae377e9ee0a972b |
|
BLAKE2b-256 | 5d336d3486c6de630ef3e10e4cbcbd9650de1c1d499e0c58c059e0421caf6d22 |
Hashes for pyAgrum_nightly-1.13.1.dev202405021713370971-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3875a9b05aefd1804566b4714bc41181b8fea0bae01646acc2b3a27642991bc5 |
|
MD5 | eaafd30c2fad2c6a3ee3b97eb5ddbf13 |
|
BLAKE2b-256 | 68098db4a09d0a32c9255284e44006de858c77d28a7089b15f08ab684a870641 |
Hashes for pyAgrum_nightly-1.13.1.dev202405021713370971-cp311-cp311-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0de715ebafd21e1bff48645a7daa4c832222465e68b7009dcb2b1a4cca7f1ebc |
|
MD5 | a1c3632e4776e1d15a413a5575db327e |
|
BLAKE2b-256 | 37d00b0fd5607df583f8a8b0250cbc0a08bfdbf538687eb9dc3a1dea205dbdf9 |
Hashes for pyAgrum_nightly-1.13.1.dev202405021713370971-cp311-cp311-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 25f74d7611b3b908b0ceed1d7706df67c984eb9809f45bae27ecdd01158bbacb |
|
MD5 | c06b93d145432daa78dded28d15967d6 |
|
BLAKE2b-256 | 603d3ca0e5061286202d7e49e69afc53534778933d828e0599cd3aa100b8d091 |
Hashes for pyAgrum_nightly-1.13.1.dev202405021713370971-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d42c9ea89ca41025b1cbdc4005b22159bf7d41a867453c2af26f125618b2287a |
|
MD5 | 4835dc6dcccf840c8f3c6fc2ac6d9e75 |
|
BLAKE2b-256 | b8c99c6cacf4a7c63e874b2d0e099c5922ddc69ebfb48b8ec31e8c375aec80b9 |
Hashes for pyAgrum_nightly-1.13.1.dev202405021713370971-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6a72171accb6ba787b792ed8e1c0329e20143f85714796aa9d2ead825e7dc8b1 |
|
MD5 | 23675532cac5acdf4e629957d470fb2c |
|
BLAKE2b-256 | 46e9935ecf3258fc4bc281dc2079719a2774cf6d785cb74af23943fe4493ae22 |
Hashes for pyAgrum_nightly-1.13.1.dev202405021713370971-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b412c6201d4b4a80d88ec57399f962420a1bf41aca760859c53944c34f813422 |
|
MD5 | 7de23c87c08bed44393dea87c715491a |
|
BLAKE2b-256 | dcbfae8c1079e727a5aba44786563db5f006f65b73872ad2b3bc5c12867cfa83 |
Hashes for pyAgrum_nightly-1.13.1.dev202405021713370971-cp310-cp310-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ab98b62290ce1f553e98d55690887a6cfa93bf2925026feafdaa9e89347ffbf2 |
|
MD5 | aa80302c0f7de6f345d76ed98887945c |
|
BLAKE2b-256 | a6c38ecc7b1f9b1a17a643d41af5ff2e13bbb3499bdbddbf0f07e98950eec512 |
Hashes for pyAgrum_nightly-1.13.1.dev202405021713370971-cp310-cp310-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | efcc4aa9b631fdde59bd1f43e389349bd899c3a95cadbfae17e9a2e3c82c22ba |
|
MD5 | 3a114d8242b6275abb23790c456beeaa |
|
BLAKE2b-256 | 8000adee3029b81b6f9ef0f19f68bfb38116e7482ed0b45890a442cce1766cb4 |
Hashes for pyAgrum_nightly-1.13.1.dev202405021713370971-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ed893aae132fa897d167541b758f2b7f14b270b7edc8102542aa4e3e5818d39d |
|
MD5 | f4f9bf351499db4809e2351be68e6dbc |
|
BLAKE2b-256 | d2289ccba11b0d84276a8323bfb6026ee927470b467ed7faad345f92646b390f |
Hashes for pyAgrum_nightly-1.13.1.dev202405021713370971-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 81233d92f817205c3f2870053765df2e147c5f49e9a35964c5b88c6f7bdb34ec |
|
MD5 | 44eccc6eb2c3c64d01ccbf3fc82dd1d0 |
|
BLAKE2b-256 | cefc51e37834feafb71567cc168f4cadb83f1a37aa2ab86d5205c69ab803b003 |
Hashes for pyAgrum_nightly-1.13.1.dev202405021713370971-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b3b177877fab8805aba87d2908422f654a0411f22bc45bd8069d2ce8ccb1c86f |
|
MD5 | 44b5ce123323b09d930564eb070e9ad3 |
|
BLAKE2b-256 | ca735d5182dd67c8074c03272567b3f2138f0270e145af5d8d3f383d12bdc919 |
Hashes for pyAgrum_nightly-1.13.1.dev202405021713370971-cp39-cp39-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 59a4dc762244d3a39dc11f8ecc874f6ee44d5d91e59ea7b6b14148207f79b46e |
|
MD5 | de1b78497c76e6dcf5fa9810f1698ddb |
|
BLAKE2b-256 | 2fb4011c0f6c4b987305b7030171fd55b8c0073add73aa0730b3c68cfbea55f7 |
Hashes for pyAgrum_nightly-1.13.1.dev202405021713370971-cp39-cp39-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 316062b467fe04166ba88443eb22b9778d5229138adebe78c9c84e699ad8c616 |
|
MD5 | adbcbbc3fa157062bca818c732d14f67 |
|
BLAKE2b-256 | 5eb85f0513aabdc0214619ecafaac4f09628a30349c450cce18b3b6eb27c8d17 |
Hashes for pyAgrum_nightly-1.13.1.dev202405021713370971-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 20513654e82d7202229a77d2d74b47f07f58c07a21b41ac784bf39dfb56fcb60 |
|
MD5 | 6bd712bb922982880442b3eba2e7ddca |
|
BLAKE2b-256 | 5072d31c448a39d15092fb69c3bced0838e06ced4888b5a7c44c08b4e0da1d35 |
Hashes for pyAgrum_nightly-1.13.1.dev202405021713370971-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ddd114eaf5734eabe466fc8e171bb634ead2c3255a9b784167d224038c5baefb |
|
MD5 | a7e969e253b15368bd4a5fee041cd7d6 |
|
BLAKE2b-256 | 4ce6a4a50c1a3ce8a2eb76a21aa27313726d8e037aecf01d65c0590956fc6e1e |
Hashes for pyAgrum_nightly-1.13.1.dev202405021713370971-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 560ff2b1e9c50a3034a51acb0be6a2103b0c6334181ae7c3b76bdf461ec0de0a |
|
MD5 | 306420c0f05490312d1e1b49b4743109 |
|
BLAKE2b-256 | 3b62d1027e3ac857a73b8d7ceb42587c55e8eb2f4c16620af395e5866adbd622 |
Hashes for pyAgrum_nightly-1.13.1.dev202405021713370971-cp38-cp38-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 529cb4a0293738b8d44627b901024fd34513c3a46029a71fc14f74013dc78a7c |
|
MD5 | 782112faafc1a01e99472c08e2f1972b |
|
BLAKE2b-256 | 797d1d9a391ec20fc3e23895db1262d1d1649bdd77ca983ed7e50f49caf3dbb2 |
Hashes for pyAgrum_nightly-1.13.1.dev202405021713370971-cp38-cp38-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8986abe9d1780c75b68a218a7e2e90886a1ef4d55ce92ac29fb4490a792f46fb |
|
MD5 | e70624e2ca3e0d38c2beb09dcb2c6dd4 |
|
BLAKE2b-256 | 1b37bd34d4356ad9efc15bf6d8d8c16af53517e271b1190899b99246d617745c |
Hashes for pyAgrum_nightly-1.13.1.dev202405021713370971-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2d83881df2531fe05a93fb7004e05ae8af2be6d7f2453ba7eec3604601b7b557 |
|
MD5 | 601a53754c258ba0d30e9b1dea4e2904 |
|
BLAKE2b-256 | f715647eca0e97379e04ed8fa5198743f98eb4d455f0556d3142418c046e4270 |
Hashes for pyAgrum_nightly-1.13.1.dev202405021713370971-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5bd492b352384a27c3fe70c983766283dc3b70ee9842e3c713b63ffc6e61516c |
|
MD5 | 7bd9c846080165eb57162a8163afd310 |
|
BLAKE2b-256 | 4b478329f0f44faf92fc2cdd03145e04b958333a826104bee87a7605fa6b4355 |