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.11.0.9.dev202401151705041676-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7c59f0dfade7144107b2386676d88129c64080408803b83573aff298b369aaec |
|
MD5 | ddeb979be7a3bfb883d5f4644af455e2 |
|
BLAKE2b-256 | c7cdfeb1b5bf36fb25af4e59ef13f8f2eee8826adc2e9e328fb317c92e4a0b66 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401151705041676-cp312-cp312-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 041ef13ddb8e759eff0f2a1157803f04e2a2213d6ae34cd626467ffd2a6bf7ef |
|
MD5 | 9cfe20ba0379ee664f98d896855fe448 |
|
BLAKE2b-256 | 00cf2645eddcd0373f5d63afd3903dec1c74f46fa1d1430dbcdfd770ded1fefd |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401151705041676-cp312-cp312-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d2b4093a49877868597d24e07b374c9e07796ff095264e151f42226a62042d1f |
|
MD5 | b72d9e60bf9640ebe52a276945d96fab |
|
BLAKE2b-256 | 34c707d1f805a2191975e95f3353af364066f2238f88b2b504a4d3c037ca01e3 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401151705041676-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1d620c6fee2c1c98ebfaad709ad00daa8e48bcd738e67f8d111993350cd95bab |
|
MD5 | a28225bc09cc9f245032f1095df37688 |
|
BLAKE2b-256 | ece97c207fa0be750ed765cc8b94897bf4160116836159af998c47803ae69c0b |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401151705041676-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e9d19d5aecd85b171dddb8ebac1028c7589f9f396d9a8d0ea2dbee5d363bf39d |
|
MD5 | a7a7dee798bbd2bd780aa5343c549c25 |
|
BLAKE2b-256 | 7e8dca39980773da73a8accbfec21f2ba070c1198163d7931d7f308e15291130 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401151705041676-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a293afd980bca7f9869752864e6fa31f19aedf2bcc0e71d8e02c0629e68dc15e |
|
MD5 | 584daa6551f34516833393d8ce481fbc |
|
BLAKE2b-256 | 2e31e6942dfec5daafd972cfcfcc2406a8b98ee885edc9e0a745cc48af675c1b |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401151705041676-cp311-cp311-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5a63de0e08b53954c1a836c9c70fa4f845b95315d2932c53f2d8f550b16cdedb |
|
MD5 | d922e8327cfbfc6a982760916850009b |
|
BLAKE2b-256 | c9617a71b5997f79144f2605b3efdce2d8a5ccb5a2fb3525fe4d7051e1a21126 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401151705041676-cp311-cp311-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1803332d1373df554321342215bfe76d605ee02992c7313d5bf133f24d5f7fdb |
|
MD5 | 10c0fd4eedb241a2b83c62574bf3bae9 |
|
BLAKE2b-256 | e3f3f964d9beb638673a533aefc953b5a3752aa6d04176947ab93750468b905e |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401151705041676-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bcb59386fdee28b95ae230dc3b93ba4d5318745a57d55e66969bf4ab528f81b2 |
|
MD5 | 763fdfe571c4631b82d4e2e3eb34da3a |
|
BLAKE2b-256 | 9db45146fe43d4928833d171ee47217a6d9deac4688a3f7843a9aea0bf148c1b |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401151705041676-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ff33d45405e24e69873ee71ef3f8e20e5ae3d69520d0a65a41ec59a46e9ff45d |
|
MD5 | 557a74c5e7d43d05aebf59e357f197b3 |
|
BLAKE2b-256 | c44001d3ffa8cb579a0ad3a59027e22dc9db9f5c6b3d95b6b9e6459a4f376731 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401151705041676-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 94d2aa838e4df8bdd1821758184c68cd0ea360f6f8f54d412e56c821530bc114 |
|
MD5 | ba7cb99a9af88810604a8c4eb434dd9c |
|
BLAKE2b-256 | 2c85aa422bee1e96b949434f3903b41566b0846e35ef500d9764e57150ac902d |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401151705041676-cp310-cp310-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d6aa7f02096e11c19abd902cebb46aee90e55906dec58580a17f050f20255935 |
|
MD5 | 98c941ed608604582cd1da4a68beeb56 |
|
BLAKE2b-256 | 247c659e17e99e9860268e03f2bdc7a3b3d15e8e69c60d5cc8a5939ef1d7bcc8 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401151705041676-cp310-cp310-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c556b2a516db01436e9c4db9f73867797915f4d97312c8a2ad395ed25c23b5ef |
|
MD5 | ec082fe7b9ae1bdc63c22e8def1e3129 |
|
BLAKE2b-256 | 03c1531a7cc7eb97fa264fa0b4615a6d1a224ca9b8ddde3bea8299e5a62ef48f |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401151705041676-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 80c50c74d6a9190eccd57c7aaae40df0e19c1eb71749c931cfe9a36c305e569d |
|
MD5 | 3f6b403865705126a6154be7369ceb5d |
|
BLAKE2b-256 | df18da8248d5250ed60dfdadaae55e491f00e24941bacfd707add115e152f67a |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401151705041676-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0d713a722feb93ece96aeb108c18e0f542b049d8bafa56829cf67af0a978fbf4 |
|
MD5 | 3b24c4398e4f43942d1daeb6afbb1dcf |
|
BLAKE2b-256 | c015a09bce3c78748684be83eb25429909a0121951156237df0f2d612fc98960 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401151705041676-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 35f9570df9b1880c998278c9d35df88bed0fb900f77dce03f90c4746def5a777 |
|
MD5 | 26c4ba5dc93986869c9946e0f694d821 |
|
BLAKE2b-256 | c6374ee3bbf3534b4929fe335a7e39d2df2b43e2dc7eca3c87944b7029b6a962 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401151705041676-cp39-cp39-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b7086eb372858a078e3ee5596b774495b8507dd0a93ccc29913c78f4ce00fc47 |
|
MD5 | 35b29058a0327a5ec2df3619a04a6795 |
|
BLAKE2b-256 | 0e47733b38c1efede4cc9ee912b75039e86fb87a36cd1500bf75b14e3ba823ef |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401151705041676-cp39-cp39-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2ccd73b317e44c06b27dbeaec707e7ae65166298ad53c30ef921d31b6394026e |
|
MD5 | 40149d944f602f4e469a676ab6f16a49 |
|
BLAKE2b-256 | 5e46898fb4c660235165e6afd0313f1dbf4da6197e1a41745f91ee256c2d4a1b |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401151705041676-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c13066497fc4de96d8465cfcb2298954887b153182674afeb0a1ea9c2c8ac182 |
|
MD5 | 7b4c4a2a8db439ef97f0ae240c4b01ca |
|
BLAKE2b-256 | 883f877c6ec6fbb65d88048e0814d71e776c1bf5718f8d4389b6907d171a3859 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401151705041676-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 50aeccef2885747af73e3ea1d2d5e5a1d9d34e2cfc53f43d6d74142d21765dbf |
|
MD5 | 4ba0974da7595ccc6237b314bd2065a7 |
|
BLAKE2b-256 | d068fd2edc9c0253f32481b57516e9dc79f097689b9084efd93929f4135f90b4 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401151705041676-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 784a2c6efaf321c775b53218e3fab06de968cd22243f10736e5907f640a68537 |
|
MD5 | e42037663e29f0ec10486805b5e2512f |
|
BLAKE2b-256 | d813b815ab39d8d1df0a1c3d201278c52a4b695d27e9b352a28936d6359d449a |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401151705041676-cp38-cp38-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5b14f36d9c5c6c11dd0a72cdc6736f23df0c75eb6a02b37a2f03aede97363ff7 |
|
MD5 | c39379ff03dca775228f1c61ea190aad |
|
BLAKE2b-256 | 3ac0473c73ba93b2b3a16ef3b0683444cf635bf60e60d10f05c7144b50861732 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401151705041676-cp38-cp38-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d96913edb01f45281b2ef42a703108a36f4ff4f3289dae61dec465d850757043 |
|
MD5 | e81d5914352fbd7dc7aade422b4436c6 |
|
BLAKE2b-256 | 4d049159de0f053bc4753de681d55d3a585b6374494b2f7d8c1e91c05c27dad7 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401151705041676-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fd02db2dfe33992ee9166a62d022fb3cfe2bd7984b4fd906830c0b6a253c552f |
|
MD5 | 048722e28aa3128a00495bf557cfc445 |
|
BLAKE2b-256 | 521c634330c1458873a691c4c216d35bd9f8205ad319f7e49ef66c3697a2b9df |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401151705041676-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 883e20f660ce0ee255cc8ce5113e14820331dfc1f04246036a804d4e08af8db6 |
|
MD5 | e82b035c1b561c931d1235c34b712e4f |
|
BLAKE2b-256 | fc860882436f1eb7a94239a2ef98c966da6279ed0b03e63f9b829c7973d169f3 |