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.dev202402181708115962-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 90e52aba12717a114dd07ee09bd34c7d786d890a7a424ef08fbdc68490dd2d65 |
|
MD5 | adf29a5df395f2e96a3a9745d164436a |
|
BLAKE2b-256 | b302fb6a7b22f0d1d1eddd14832ed23e1aa2dbfe41462e225f59e440d35a3270 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402181708115962-cp312-cp312-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 531c4314cff6aa8409aa435d6ac6a6e7737543d5ddc262a9e90139b9d1c9c28d |
|
MD5 | 32e9e426685ce4364d7dd3d90b18ee12 |
|
BLAKE2b-256 | bca5599f14e821d9cd55a8b334e2c67ffd5d2c8b6fb9873133b754bd4557bbff |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402181708115962-cp312-cp312-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7a433bcdc561231413de97946b69efc7994818ee0b7286a1bd00f37778df608e |
|
MD5 | e7b12a7ce8cb60f05bf496c639742904 |
|
BLAKE2b-256 | 37d580592eaccb3e3dfbde564817055a22df61ac9aab245434e01cbcca85f62e |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402181708115962-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 13133e5eb35c6b95cf703cc65573e94f48bfa88267669ad9a1cbe56fbee21a5a |
|
MD5 | 1ab18e81cb20a140d98ea7834670dd8d |
|
BLAKE2b-256 | 21a9a07fa1007a183e2f8990563c09522c640592cfc4aad83f166855a53ee909 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402181708115962-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6746a2190dc83a2291443501e5e14adb7d044cff47ee65812beeb5d27684f6ac |
|
MD5 | d1a2c45fd5782f38e4285f3531350122 |
|
BLAKE2b-256 | 0acab1d1a391730e4625a397aa47db445e9108850cfc7fee260be7b5d6a3966e |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402181708115962-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 012d3fdaed1d4e2c3c2cb8064600c26211a8387d7ca74bc7706469304f86172d |
|
MD5 | e08e20d25ea10d07f9abd7db752a6560 |
|
BLAKE2b-256 | 5b1e77b75602f92cde53f2d4014dea4b12b110e403118a28a8d56cdaff84c6c7 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402181708115962-cp311-cp311-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dc1f4458d7dcf8c44819923edb48a1b2a4661451a464f264625f022a9689159e |
|
MD5 | 10abc75242c58070ac89d8fd7a8aac05 |
|
BLAKE2b-256 | e22d0d5f04bb2786bbf195ab2c800339f2da3be4af3d6b6734ce2940c6608100 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402181708115962-cp311-cp311-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4255393f77171e111dc975ca36180f14d20d7b88d03dc44ce716e13ba7cecc4f |
|
MD5 | 00a6b4e3886e2e9f17d8c8d2dd82171c |
|
BLAKE2b-256 | 5674ea4eebba70628d1929c419fe5e02c2f925a7f2878515aa62de35040e7676 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402181708115962-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0d68a31983c6b147eced5c2d2d9af5a43ecf207410cdb8ea7b6cdc17d57ee6f2 |
|
MD5 | eefdb5899a39edd230c63f607f25eace |
|
BLAKE2b-256 | 31823356df6363aca784f74c6721c97785967cbd490862c2b7874872a08672ae |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402181708115962-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 40240317a6025ad89fe29506e2795e19c85fdef15fb0d4281612c3a9f4af4cab |
|
MD5 | 7415ad1f7412f7f5c523a89417064846 |
|
BLAKE2b-256 | 97b6fd8b9ad7ffbc494eb3976bc6c3752a825b83c93df587dab0b2bc1d43911b |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402181708115962-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4890564e69bc4904cabf32d16eeaf1acb6047d9538d751800ffd8df2e9e27dae |
|
MD5 | a06c94fec4bdacf9b4b3547395f01388 |
|
BLAKE2b-256 | 43b2213270c5749da494b38b54e1603887bc8f7c08d4782d8b054b861955df15 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402181708115962-cp310-cp310-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ab0f3078ead934a0df0d699455633e25599d474101823e4f706c07b56702811a |
|
MD5 | 4bbc39ad4f009ef16c97af9f6a2858b2 |
|
BLAKE2b-256 | b6598b3ecc5cae19723d96903ce4a7aa67e90fbbccd2a6b72f4fd963257104de |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402181708115962-cp310-cp310-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9dc15dd8c0bb816d92a0dc4782dcebf4854da078216fecbf8f5eb2ee214ab5f5 |
|
MD5 | adc26c4df87d522f3d6af4679d2567f8 |
|
BLAKE2b-256 | d3b26b2beffe088cd7a32dcbec0d2f7f48bc011a47c87dd9e03dffdba1354f0c |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402181708115962-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9784985ce4010a4088b6334fda6b1b1ed79e75f248f66740a97bafabe6e9f1e8 |
|
MD5 | aab1a983ff6ce89fad2e846f567513fc |
|
BLAKE2b-256 | 5921b348a6f19b21b6f1620fcc40d2f2c2a78f4da51ab60fb50a7aeb2f8e0398 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402181708115962-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 59436b69ef8ca901e133522c8bfffb412cb8586205937dadaf13dce851ac6f0e |
|
MD5 | ae372e6c4dfb4a950ca007fe9acab762 |
|
BLAKE2b-256 | 3b326b3fa042d522a8f506fae440d33e1c3a216005b71464b24afd3c587e6a08 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402181708115962-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a5c94815ffa1655d349305dc7ff80f41d50aff03db3337a57751e3f32c505cf5 |
|
MD5 | 73f5efc9ec1606935bc0d669211c23c5 |
|
BLAKE2b-256 | 3529eb11424acffb16ec38e080881152adfeb065075722cd1b7ee24aa4f5daf6 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402181708115962-cp39-cp39-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dd4c21835da4315a7c8fa80cb2c238dcb16e04e7f7d5b5d8dffe5f98b8edecda |
|
MD5 | df540cd5a688adfdabd503d95b66c497 |
|
BLAKE2b-256 | e383cc90dd41aa66e709cdf87c16de7369f64e3e00e5480a3384cfacfdfa43a0 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402181708115962-cp39-cp39-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 86d4339929d19903c7d4812be2dea6073367e82052c2e3ca0ac1d9c4240df113 |
|
MD5 | af9d18c7af29c685cccea08c0a826630 |
|
BLAKE2b-256 | 7835bfde491dfcf5b61801801ad43bb24280b4a0b03545f1f62aaa8afddb76a9 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402181708115962-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 66c126243e1abe884d6cf059cf76a641ca072165d02be90536af418a5c76633e |
|
MD5 | d901a0abde224b5e38681258e681af18 |
|
BLAKE2b-256 | 3030f07bdd4b97d4f87a6ad8259bda6a708a167fb7f99a1f165c22dc3eaa9b23 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402181708115962-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 34a2a6d51042e66a45febecf479dce4bc11a98d8eeb22d004370d962e14d97cc |
|
MD5 | bc67a2fe48fa39dbb5de28cfa6c976e8 |
|
BLAKE2b-256 | f85102b819a25cf202631f9f37aa678455c2f91691607404470eba3ca8418394 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402181708115962-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ed3495d5690e13f439ce36bff3cb27eda8332f11b6c841b8f1688df275b5652c |
|
MD5 | c07a7c4ea3c5f91bcaf671406664a4c8 |
|
BLAKE2b-256 | e97bdf5aa80ed91b58ef54eaa404f8fdca361ad15a10de5ad4d8c7d69536e192 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402181708115962-cp38-cp38-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a1879b51dcabb0754d4e5e0be641e0890999787e09a111edb00930e03f019ac5 |
|
MD5 | 258f795e4232fc1c7a0f80f5cc18ef1e |
|
BLAKE2b-256 | 23e4ca25216d4b31f58ef6c9197a9d39cf12f3bb36280d956feb79fe6246e115 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402181708115962-cp38-cp38-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 37779ce209ec346971b6cbf3ac9491d7d5b11d6a646a7240c06e1f0b5393b35c |
|
MD5 | d7567f5929c8858821fac0899452ad6e |
|
BLAKE2b-256 | 265b939097a3185bb87d92146b0cc63dd45b19257be7cc27f9e9e93e742ff352 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402181708115962-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9c2303ad0777dfa95b762050eb87241c451c7cce58b2e7de9ef52f8b807cb616 |
|
MD5 | 01f4db3e5eba5924fde7fbbf1601cc8d |
|
BLAKE2b-256 | aa4d377eac053762c8ca3cd778e2cf75af711949e9d55e09170b9889e08caa1e |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402181708115962-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b9b7feb14a66f55eeeffe9fbfb2cf146bb906f1a74de84bf086a2bf6f9ed3e5f |
|
MD5 | 0b890f44993f4f1dc52175f11de3c1e2 |
|
BLAKE2b-256 | 67930c76e683237f823fc9dcdbfe8e10109a9897c7e0a5af1ec56b42a6a4732f |