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.2.9.dev202405151715182293-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a96406a228e04c4a05f23a7d12f2eedd5b316a11e7364925e93d059d03e55472 |
|
MD5 | a9eff05ab264431eeb7ecae05a82b863 |
|
BLAKE2b-256 | 32e8c98f25e709ae60c14390e1a52caf9747ddacbe64206213994a1645a7fa44 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405151715182293-cp312-cp312-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ca9be32c4e67877a09dfc68afefdf9812790d42013a8b27776b92ebd54a705a3 |
|
MD5 | 90833cd0b6226d54799e7a7a7e44f25f |
|
BLAKE2b-256 | f0ad705cff964717fcdccbf84c550ad85de4228bbda554f895ca1218c274a6f6 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405151715182293-cp312-cp312-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d6a88fb0bbe1b95af6fa0ee29e7ee6f9bbc655d5c6ce56e73b297bf4dab1de81 |
|
MD5 | cc43977771be40d73ed1f7244be2b3fb |
|
BLAKE2b-256 | 6832c4c2f4893537e63501aa978aa26cb27cb49fd7e6089b065fe4564192daab |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405151715182293-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 54b0698cf0a46944a810625641eb98182dd328760acce27719938cc59a97603d |
|
MD5 | ef5c32cd03439d48d22169c1add3e02b |
|
BLAKE2b-256 | 2804c83881453f092d0d73d045ef5a6be6db3dc1b26c7028aa91d011469c21fc |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405151715182293-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7024a0fc3b1651b2ebca1b76989a9cb6e2cb33a5ec282ff792a9472e24f6a332 |
|
MD5 | 906e84407ae642b611929cb424598bc0 |
|
BLAKE2b-256 | 98f9be7702990fb1d4053861246425f49668ec0e620d11e9b628ddc83a5e6e38 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405151715182293-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fe5150deba91f7853a3395ac58a292f8e8abe26ee065e30fa876447c701f6494 |
|
MD5 | d9f5a03116f531cd146813938d892625 |
|
BLAKE2b-256 | 38638fcde7a7de0a199cf489823547f112589bd666a36aac1348c8befe3c3789 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405151715182293-cp311-cp311-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7d30b1dade0bca672b64fd83c69bda97130c1065582468d4152b710fc4e4eece |
|
MD5 | ffd6b97348b45513dd440cae5757a3d2 |
|
BLAKE2b-256 | 04c2cdd2e5917dc0dda9dccc87d2c108d2c67c0d26bfecb8615db49b2aed26ea |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405151715182293-cp311-cp311-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 511025ca637ca4a7ba7752c1f4ecce4093cb5131676dffbc6dd47744e50e60b5 |
|
MD5 | 0465223c2674ef7ef4d50b166b409a70 |
|
BLAKE2b-256 | b71a13121191b53c1ea78ced59618f9ed18d424dabaf9724f16e8d586516cbfc |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405151715182293-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cfdb0b381b75b733a8cf566cfe042ec482b86fca46cc15033c99b83f0b8fad3d |
|
MD5 | d8da36515521226724a6d44b658fb9e0 |
|
BLAKE2b-256 | f868fd57fd040b011b6df427110cf0b25db2262e552de0400d82fc34aa7b6b17 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405151715182293-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0a914c5e70738b12cea09806f6087210bbdedee304f9d4849932ac2d6896ac92 |
|
MD5 | fe0cbd59490f8032d6adb32269173c12 |
|
BLAKE2b-256 | 190292aa3ef1991dc9d33cc117648ac9d663f715aa3b8a55663ed350aab2b1cf |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405151715182293-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 664dc7a23aee9b9de183b78986ade2cd5d6bcd0b88b1c92d1684892c9d5a481b |
|
MD5 | 2e0dfade18244f5ace5efe72c190380c |
|
BLAKE2b-256 | 38f7897733113941eee705c058fbe5b678637ba03b7aa88dd0034912704fde84 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405151715182293-cp310-cp310-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1c0f24d7689cdedcc39721e3bb467943e45a04ddbb6587715d6a95e9aa37373e |
|
MD5 | 091fa88653979fe7fbc0aa3e8b659e86 |
|
BLAKE2b-256 | 8a37ada134966f06e86c92a704fd7aa7951308f7b0b9f33d197444728e9fe340 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405151715182293-cp310-cp310-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d4b288f51ec512ea6b8d9717d5ea34b7f91bb95729e9095cab99ae8acdb318cf |
|
MD5 | 62db4f2dc69aa8eead3a7c4e21ad3155 |
|
BLAKE2b-256 | 200f04b8f7e3a03b7291be46fa007241a8dafd054be3cde3c7718e268b59ea67 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405151715182293-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c5550a7923722ae12dd31a2e575a88494795d2fe3bd81a7e2371f425b6fa9820 |
|
MD5 | 9df5f6abcf97d512b1d45914cadda297 |
|
BLAKE2b-256 | 3e588e9ad424c73a26c1cc9b03bd88854386a371c91ee022ef6627c2bb41575c |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405151715182293-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bb9487e4ec84e0fdfa38c3fc9f807e4254acadc29e2751d235bff0a9f3237de1 |
|
MD5 | d0e9b3ff8e0aa5d6a1b126c8063d1a35 |
|
BLAKE2b-256 | 1d54cdb146c9c198c28e3f65070f8988302a5a40ad7c4cb06c882d3f29031ccf |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405151715182293-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 508f33bca7a6352cfacd1f8b7feeeaf82e5e27af196b3c245714ace74d9cfd3d |
|
MD5 | ec5668740c93c7753454e0440524f4df |
|
BLAKE2b-256 | c55c4c9902a3914db39f5347c5fed4662a8d8e575b0df2dfe2bbfe799b921763 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405151715182293-cp39-cp39-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8439118594f4643222a2a490fc09ab46898a4505098d5e0a485830c5e9263986 |
|
MD5 | 82a83f2e40ffefd8bce8791015f175e0 |
|
BLAKE2b-256 | f033d52aabd3bd6052214ec263197c48f0e04d4cabacf7210bea9c877f8dca6d |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405151715182293-cp39-cp39-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 00337276c6bc8335fe1c6e90717a04e9939a37675c614d41a18eaa214b64f5e1 |
|
MD5 | 62cc2292b94dd92aa570d71a6ebeb266 |
|
BLAKE2b-256 | f3ce66741b9b526a5cadd7eedd246eb098f381207641519604634fc7b0893061 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405151715182293-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5ef373b1382ce8f04662a86524b1d90c1bb99251a80e94f5ea9c5b601374e814 |
|
MD5 | f544671b06ebfc7f8a835eed28dc8a39 |
|
BLAKE2b-256 | 0f1cad1e4cedc29b844913d3eafd3ac3286378563cacba4c85cee7969f3f8f90 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405151715182293-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c078fb18091d6f63c769f5be7594d0dfac9f929fead33ad442d5fe83d2e68ff4 |
|
MD5 | 487cec56828e615089771fe6415f2d98 |
|
BLAKE2b-256 | 69a5914d6e53e02751895345464dd2e70b17e4cf954840ae62041a5154ecaf0e |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405151715182293-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6348174c4515b0b2f510f09c77528d524f12e0630368300cd7a0f686b5313617 |
|
MD5 | 48bf200a9e100402444c1027f009a81b |
|
BLAKE2b-256 | 46b1f321c3101882df5f7a7747a1f8cdf3a5e083bbb1dd6cd6d4f48ca636efa4 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405151715182293-cp38-cp38-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 949821da4905d92a3fff3bbe25c2ea38b2c27adf6aa8ecb4fd55551365aa29c6 |
|
MD5 | 3dd869a4301c4315c97e48a8498a29ca |
|
BLAKE2b-256 | f5f14a7ce195853db29532b42c208fbd8f6d8336ff934cfb36f44b7ec758903c |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405151715182293-cp38-cp38-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b79421ee2ec2306c9f2806eb6f93742563daa29d904650d97cf19928e5cba25c |
|
MD5 | 36f1f83e25d3261e8f532b2d52c65757 |
|
BLAKE2b-256 | be7b177f5cd7c5e8e80a50d432ee89e07709388d8e2e0621788acbf32c86012d |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405151715182293-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7292b9abd43a440fd5034d7170feaf469057c3e872830cc82b197db4f609ca90 |
|
MD5 | b34cd9e8f6d0a77c9c6912fc48c26009 |
|
BLAKE2b-256 | ee4fd309ea66fea67e368ac0460362cce27778d4115099b4e6c4cbd5835d858a |
Hashes for pyAgrum_nightly-1.13.2.9.dev202405151715182293-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 760d1f0ebb586ea99212d13d7335c1464aad8a2f38a5969a29abdff212240d0b |
|
MD5 | 84fb20dc8fa21f66a1a1f9174b5996c0 |
|
BLAKE2b-256 | 8bab9901d5ddbcc3b87afbed6758f343da48b29f90237a1ab07310ae698fc288 |