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.dev202403021708630418-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6d9fe798fa065e871b212d357244233e48ea4f09e1a82ede865a5a5a9c26a426 |
|
MD5 | 614ccf2ff210d6a9053d748ec910f914 |
|
BLAKE2b-256 | 2efe9768b3f3494fc38a467582215dfec9bc78b929a7761bf8871f3b1fe487f3 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403021708630418-cp312-cp312-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 858a598cd2968c38e6093a24af5feb73c658cee0c961c872c28f500be812d5d1 |
|
MD5 | 3d279b15f30dad7a2fc3e99cd9755415 |
|
BLAKE2b-256 | b8b9396ef7669dc7512e8c333c43d674223fc0ba546baca7b270d2638880acb6 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403021708630418-cp312-cp312-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b58571f0eb4897b82a90c4971281819bf149c133027d0561086f9c774f3c218d |
|
MD5 | b325f93715af9d73300878f9ee6851a8 |
|
BLAKE2b-256 | 1f2cdff17f406f4883e3e7bfc05440990c2cb6756db41dd50fb1517544324254 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403021708630418-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d7907038361d6181d06d09e26c6ef36f97d302b30e4a7a5a2c53f47945a93bce |
|
MD5 | 4a318cf91b861761d9db4a5ac954bd66 |
|
BLAKE2b-256 | 9992d35c4edd8e960d3b48ec25560ef571a247f65ad04a97bef891fc82fac41e |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403021708630418-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f71d0c5a3021813bbf49feb7557a0b2721882837e5150b8f5f5847e118e6e48c |
|
MD5 | 06f3804a369d514f3767046e94729f1c |
|
BLAKE2b-256 | 2b929a00c0f84b6a4b6d7e6e4762d7c263c1b52de34facfcb8a15e2b25d3afb9 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403021708630418-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8637ffed6b03fd8fa4f0029a1c480752102aae2f38c5b90091dfbfecc6486732 |
|
MD5 | 74e862fcff507f6fdf6d9d4188f1c7d9 |
|
BLAKE2b-256 | 338e4234cfff6323c53f364ad333b37f7a52879d85d6b9d587e929b1b8ccdef3 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403021708630418-cp311-cp311-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e873852efe148d4a58798cb66a0b3eb050a8359501765c126f41c5ed5e5e4715 |
|
MD5 | f550b84bec9efcb54966ccfa86fee0e6 |
|
BLAKE2b-256 | bfc5ceefeebd9ec62937c7fdfcff6c4d4073d06bc6a40bd872c2078a5deda336 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403021708630418-cp311-cp311-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cc99734bfdb547fe4b10f08dced9c9486868e3437e6978224a4248c985adf14a |
|
MD5 | 91a409910e7e2c5d1169b2ac8708c43b |
|
BLAKE2b-256 | 39967990e5aca55d46ecd418b2f44fac02e97fe6a0ebf05059d9000494c07f3f |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403021708630418-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7949f507d5426ceaf4e7dca5b70d62e33c414f818e47771fdf0260b50af40dcf |
|
MD5 | 43429063cbdb1b2ec4f29b0d7d91a870 |
|
BLAKE2b-256 | ffc8674d5ed1a5ee7748917de9aa398d73424ce3cec8e28d0668ab49f00c57a7 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403021708630418-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5e9b9f96f4885be3edec6b061857c3f678728ddb7adee7ab8012c1fd663f7ff9 |
|
MD5 | f9530df9e74ebd130d1050fbfb1afe59 |
|
BLAKE2b-256 | 3456f7c12a470149301ffa99736daa5e222047e1db783b77dcc47b642d688a4b |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403021708630418-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 388da86d2e6a202f34d0eec815cbeff50c5de31a80eacc3efb4881f6a948ea00 |
|
MD5 | ef61e8482b654a9c770ecfabb3d5647e |
|
BLAKE2b-256 | e243df3f16f878210db303bfc61bc0867ac65144b8ee0f126e4a7d7aa7300500 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403021708630418-cp310-cp310-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9951456d77c4754884fb8d389df9e8e7c6f7d0264b1891b88f0ff1ce88424a7d |
|
MD5 | 68051483cbdb8f8b405bfad10306438f |
|
BLAKE2b-256 | 4e26a961910353be088909768e516378dc0cf02ec8b6aebe0f28c9484306d013 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403021708630418-cp310-cp310-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d75e8f5cdaacabeb66bdc6bc1bd4ada391cfeafa26fbe49921fe47ec76d4a02b |
|
MD5 | 9e1f21b2b22989b1c404997950b5d951 |
|
BLAKE2b-256 | b2b983b7bdb03421d3c2407e23d410ff527ef20c5c8ed06e60d6dbb25db56a41 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403021708630418-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c8cfb5149f331ce7aa868d84880a050a450cf3c1d76bff767256d6ebb15207c8 |
|
MD5 | afea460862f9d4b22fdc5eb441f1fb34 |
|
BLAKE2b-256 | 2d9b72d47e6983a648765555c7767fb7b840267d0f75214a96a8f2a15bd14c72 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403021708630418-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 36b74ee95b87f982f70aad57e40e3963d5e5d8a0d594965394c3e3318d187ae5 |
|
MD5 | d3ee261e5ee46af087e78a37b4b6b7d8 |
|
BLAKE2b-256 | 4d4602378ee2c9c6d29278c75b2d3dd6cb27217d58ca99c0ee385ba1b62f5ea7 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403021708630418-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9a616c0248b7a17649e45cf475f1bffaf0a6aa4012c1cdb71c8c7a116a71d829 |
|
MD5 | 73d281b0d2321c0a130d166d7d001e6c |
|
BLAKE2b-256 | a9b4493ccafa544ca376d76b703013df6c82f595ee0b8394ddd4a698114f0995 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403021708630418-cp39-cp39-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d00ffae6b8f61952d643ad1c4c79a50a521f22e9c883386ef823f50344d8e2ae |
|
MD5 | f1e6f3977bfe03e2fe2b1ceb9ccd73ab |
|
BLAKE2b-256 | 7789efe8b88bc977dd2d107982d8e315e435f3e9ad52bb0cea6f4c830b4ed7f3 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403021708630418-cp39-cp39-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7c18da9f1693ac3c49de99d6b1d7b6100bcf7e84058a5a1c851aecb08a408eab |
|
MD5 | 6134563578bfad8120c1e61fa2d26d1a |
|
BLAKE2b-256 | 9d9b9e764c4999a92cd68a442b71fba59c54f74f6c20014fe594471b71ca187f |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403021708630418-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1dc4beba858a3b9959c10005ab4fdbe28309ef6960f9cee7c0563cb94120ae20 |
|
MD5 | 96955495e59e72838837f567d8bc4ff6 |
|
BLAKE2b-256 | 00d70d838b31ce61a5b2afe8224f8b54db66b0683bd3549c6ae79dd0b73440e3 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403021708630418-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a78f6bae8ade45c07e3562b922be7d1d55ea8652b8d922b3f458b9c2be236f9a |
|
MD5 | 78b5cc362e402bd8dcb821422de88565 |
|
BLAKE2b-256 | 8b90752657bc1cbeec15269b7204f158c718e7b142585791a2a827b8afdde11c |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403021708630418-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 912ec1e18f2844208a14a62a26d75f7edf14e9f077d3f4d41ae08c853718191f |
|
MD5 | 69b0c2577bc400ff36f41115411fcbdb |
|
BLAKE2b-256 | 07b41f8caee65d815d9635fb9332087e0dfa5ce30b79e3d87bb418dfecd20561 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403021708630418-cp38-cp38-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 51bfb59efceb1997e1337aea3293d5cf128061b48ead09ff456a48eac5fc8aab |
|
MD5 | 6a0c35689338ba5c604e637ee1a5a757 |
|
BLAKE2b-256 | f6e7cf20de068c064b2b39926cc6ec1b48b923df07b56bb13d9feb1e0b5d6ec3 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403021708630418-cp38-cp38-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 57e09065b2005ac667e70059a46e575339f07369751ed907dad27d9e76248a27 |
|
MD5 | 554fe4132b3ff572814b99c164bf2535 |
|
BLAKE2b-256 | 08a395248ca0a140ca11f6c7987ae9e869a7482b33e3d70e0d107a92eedf8f7d |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403021708630418-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5856ac7b26601945fe874c370c29fe3c87c852e1708903d8576418f1de04235b |
|
MD5 | 42f5dd00bd3cf1f6f4dff996dd43937e |
|
BLAKE2b-256 | 270cd7d3c4959eff3f6f1a2b4cc8b492fc6cc5ee4385557e0fe673b0f601d684 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403021708630418-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7509f6a2819aabc6cec6a0303fe04518e887415e297d5e6a540e5237476fdbca |
|
MD5 | 0c65977a3db17c2542f2d78c39ea16f3 |
|
BLAKE2b-256 | 845bde79a40f3b718109771e246a5733b7c4b704cbceef277307b28cfc8632a2 |