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.dev202403041709417054-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cfd5e70b6ac37ab0cd5f01e09109668b50fb8c3cb65bb2789c651048472a8577 |
|
MD5 | 2ba6cb4b8fad8372672cff8fdb8a29ef |
|
BLAKE2b-256 | 2e4ff4630713276054f26717d4644353659b486a863a2f7b5154052197dc43d8 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403041709417054-cp312-cp312-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e92471ba9c3123542c53cf66883d3003a01ae99f350cb8e0ab386ca3d0613873 |
|
MD5 | cba9a1050f63ab990949a98612591a93 |
|
BLAKE2b-256 | 6ab5a0639ecd83da34aa9bcccb801465244ce8a9278b10c110a0f8744a3ccd4d |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403041709417054-cp312-cp312-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ff63fe53906230c1339a06d290e21032ec6da7a747023f65f22dfcdce314e7a2 |
|
MD5 | 8d7d47a6f46434831d2b3cb2bbf401e1 |
|
BLAKE2b-256 | 933925e64b06978cf2c6a7b386f20259ae63478e2b015a564bc9f0ddd6e3ec2f |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403041709417054-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3142661fc429fd68b743db144d392e7c5ad1a8875a2f60be9c9bd384ba59ec92 |
|
MD5 | 1dcf2a978b8758df5b0bb6be69a23f7f |
|
BLAKE2b-256 | 2987744dd99f6108bc66d287f504bf7e12efb2ca6a879fd33f4cf58a917f738a |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403041709417054-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ff4ba52430cdd1e830b9208898df82a9d6ae4c578327f5204df0c9fcfc0f48f7 |
|
MD5 | 1038f1bec0fe5eb0bce78985460986c8 |
|
BLAKE2b-256 | e27985f3154d1f297f42e899b47afdb56816a3c4f4a4003240f23347d3b71e7c |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403041709417054-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7dc374024e62a29e825335ca24e59a4333a758fc4e451a2214009e1e4d9d4be8 |
|
MD5 | 354d1fde741905a4e7442625312e369a |
|
BLAKE2b-256 | 70cf60c9e76a211fe9227b194c93258a92c62498cc1f34c765d21d21b7a2bab5 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403041709417054-cp311-cp311-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | aa45b7c4300597d256e2adccbb9afe55eea47e3bd06224c199be82ef64314e3a |
|
MD5 | 604d96fe3c2cfb44dbe74210fcb2bfd9 |
|
BLAKE2b-256 | 8c404cd05aab38ba787320ca5e3ff6c50fa67016c7d417c8c22cdd42ec8e2464 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403041709417054-cp311-cp311-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 11b087c2114b0fa101506a2fc665cc29b414392832738b1557113edb91647321 |
|
MD5 | f320ba3f5b4a79b9db2a4cd49d09e30b |
|
BLAKE2b-256 | 64df2d8d1d4bf57435aa55612599e71b22dbfa24b915647eb317e8610a2f821d |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403041709417054-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d4ec7bff4117abdbb9eb4494cd271a2aac780ac86482910105d9c87575248cae |
|
MD5 | 50dc8fba2261c34e1026c1f2fa67321b |
|
BLAKE2b-256 | b1f5cb363276d22b8c7adfbfe46274ee2f515384f2dc040bd010af2994fe5ffc |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403041709417054-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 43454550c37d5ac4c81887ca9bca9fba2f7b12871d1536d137ecb58c628082b4 |
|
MD5 | 3f86034f339e80fb02cf2be708bdf0d6 |
|
BLAKE2b-256 | 7f108c8962068b8470fe6489cb9eb77cbd56cdae6a1d4236df0a6143cb7794e5 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403041709417054-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2aee1e353c25508b521ad777d69c3e168a6c81cf2fd638886bfe267db131fdc8 |
|
MD5 | 1d43bfd10d2b6414c1e2870a0b9e758c |
|
BLAKE2b-256 | 213e403ae747e9ee2ef62eeebdd96c0b328c2b7c3ed5d522366b68edf371ffd5 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403041709417054-cp310-cp310-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 750ef8d178166ce2cb277e49361fe2cd805f7b58644c4aee44a274ea4f820a08 |
|
MD5 | a1f30312b3bc66c28865357f79d06c7b |
|
BLAKE2b-256 | 1cf8d5e7660270b76f8955f36b6d4bc456097778d68c3d578ffb843a37f750d9 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403041709417054-cp310-cp310-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 090f04e09dbb689031973676505535f1e570e3555c0e88de85226c6932b3f613 |
|
MD5 | 6e360617e0b894c48d45f6e60a3a4d7f |
|
BLAKE2b-256 | 131154f82fed1194092dec6c0b1d9bdf2f6b9cd1cc4ff5ba558d213980721157 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403041709417054-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 423ce2ddebfdcd1b0470e1820ea363c587b00a11365c27c52212fbbb0bf5c323 |
|
MD5 | fe785b4728ebad02b3ba0dafe1866589 |
|
BLAKE2b-256 | 179c0ea5bcba36716593c874b5345a6d85a100052fa99c2ce506fbaac07862f6 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403041709417054-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | adfae42915a76c368fdbfa08ae142f60158a9e6d692fa8344086c401b642a890 |
|
MD5 | 7e37ba05ac8e30d46f7565d3e1a22205 |
|
BLAKE2b-256 | a5f1750a08010e27fe0cd053ecbbf13afe0649ef96f52938f2882798b4fb4ba9 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403041709417054-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ca9b39911db3cc2dc9ce39142ead5405907e0fdfa77853e1b99bc63102284a25 |
|
MD5 | ace583ea77b1e0ea9df5a33b9b68d912 |
|
BLAKE2b-256 | 0f4bceaae5d7639b3692989678c0c10f9db04c8c22c0debc9e27f8d93e6d034d |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403041709417054-cp39-cp39-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ffd5a0d18ba8d0049de65d35aae588e6dc56cf9f6024887c3c06badaa094fa60 |
|
MD5 | 6e81ca2950cd671a0b3ff8d08e4c5d28 |
|
BLAKE2b-256 | 326a5f6a291041620a72b50161fc3ba9b1b5cbcc5cba501c7424cdc3de427ede |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403041709417054-cp39-cp39-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9933ea6720b1bc4d504e78fa6ead013c10b934022c0cab5f72685e276ca500ca |
|
MD5 | b3c6720709b42a42045ee6d83cacc8bb |
|
BLAKE2b-256 | 2dc2d04b50a767dc44ab696fa63189ba3592502550ed2b71f63b056cc9fb3631 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403041709417054-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e97a17ff58aca1a8c9c056eb51b40ccbe2be70e6b5da7319b0d0cf2de4664693 |
|
MD5 | 1425a4ad79dc8ec80565cd06c2154bc9 |
|
BLAKE2b-256 | 6ee7d1301803f3ba670241d2544d332a0db331bed30c43ed7f5f88e3bf2672ea |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403041709417054-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 407e9b573486d19648d0a0674f5b113f57b7bbd59ada208732892bea06d7f6e6 |
|
MD5 | 29bb09ec07e1e64b48c489149b6f3c21 |
|
BLAKE2b-256 | b45ec1b08f4c02a60edfd45107ef3dbc08823ae64257d6d4f5d389ab371feb68 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403041709417054-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d67916e1d2e6f1ed7df02d35a0fbc60c935d71abcc0cbca2a86d8cfb741ed4e2 |
|
MD5 | 9287bf182b6dd2b945d3f59a98df169f |
|
BLAKE2b-256 | 00cae66c39e6b9723c20caf070fb65b724a2c5b8770f0ff65d3932a8259961a5 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403041709417054-cp38-cp38-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4b44dd312e92510676087e79e95505ab11e3464974f266e9c771c9412fc2a43b |
|
MD5 | f9763a38ef726a0d4f8f13508962b6df |
|
BLAKE2b-256 | 18f90fda79c63acca64b15b7bbde07d33827fded70c1514bd3bde4d8a3498b17 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403041709417054-cp38-cp38-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e300c8812113b3248f491bf20412acb1c2a07fab5eb36b759e90c9ee45f4bec2 |
|
MD5 | f69a5fc5c7e757ae9c2410e627757dde |
|
BLAKE2b-256 | e82fb4587e275d3192c81b717fdebcf946ea7674fac9f6ac8dde067e61b9276b |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403041709417054-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 887c8392258ffea78c210465db58341e483732d80df3914a05be7a30cf3d4168 |
|
MD5 | aabfd93eafef698b92bc12b5acfa0cda |
|
BLAKE2b-256 | 79a61079e10c16138ff7c96fa78f1dd4b394bb9f9ffd0590a09c11ad9436728c |
Hashes for pyAgrum_nightly-1.12.1.9.dev202403041709417054-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9ff57848dc8fc534e1b288b6eb5a7b1df56c0174a6e451baf2606e06003cd359 |
|
MD5 | c7f0edf7a11b0b15b143033009deaec2 |
|
BLAKE2b-256 | de9c4c26511113cc29cd71a7ae3c96cb0cb7464f89ebf638ded16052314b0aae |