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.dev202406101715182293-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6bebb0c88e7ebd9ab69b8ea68140a2c8c15712c9dba71f5fc773bffd29657a27 |
|
MD5 | 11f4461fa17554627d551bd88a815971 |
|
BLAKE2b-256 | cdb457affa093887ddffa88e2c93aaf9f027da0a1ccc9862614fb01005dd1da7 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406101715182293-cp312-cp312-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c9e33044286ea20e331937b03628e1d972cdacbbe130c9a48cdc18660c7807b8 |
|
MD5 | 84a70acf19ee746259a65e50e0ade4c8 |
|
BLAKE2b-256 | 034c8f67032a45bc4eb039c0c2cc0f2f1cc3d0ae649e4f787bede390ac892301 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406101715182293-cp312-cp312-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 618e95c6bada52e104622e9dc45c85803ae93ef3af5e8c81482c550174f1765a |
|
MD5 | ad027e3024e570193ddf9cb8494e954d |
|
BLAKE2b-256 | f3ff06c6b3e7f11e29bcaa0a49ae944ef6e8f6c075ef0d1cd6bd669651284ea7 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406101715182293-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 590ce94803bb7dad06e31ab5daaf95fc8df3de218b5df56a599bc7bfe87d26c1 |
|
MD5 | 83b4a1eb0a61292d638d494ed05d0e1d |
|
BLAKE2b-256 | 529093e093f0c2fe7215a2edaec8cb02f444a8438def4abafae8e14ab84713b9 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406101715182293-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c114402a811495511133dd00d95c1647f4d5a4380f88e7e186a5e2c371aa3649 |
|
MD5 | 8e5826ca73e37c289f336daf6745cf1b |
|
BLAKE2b-256 | 0eb3eba8fa0e2f249db25c7b73db85735a043796313c037fc286495c05526191 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406101715182293-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6f9eebb91144b98e12be2add626e6b3c20a7b5f4c8876c5b1f864e03098fdd49 |
|
MD5 | 6d48647877bacd55f41c1e9e5cc031f7 |
|
BLAKE2b-256 | 59c43c50bf246a101b554cf70c57c623735ac0eff6dacba467e072c5f2a8d321 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406101715182293-cp311-cp311-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7be034436b91a237643bf4d83475f54644ba125ef5f02001f171ba29ec20e428 |
|
MD5 | 8be756d3e599ae20dd95a0a5de135e42 |
|
BLAKE2b-256 | 704080502f03c9de357f738bb60a37311d4b015687ce7f82c21c65c702f4cd0d |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406101715182293-cp311-cp311-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2487cadf27a51839e8b84d6d7e5061619383b8bc2059f4a88c127bd39cccf75c |
|
MD5 | a24f8f875cc2a7b3c5fe19fb00579e40 |
|
BLAKE2b-256 | 35c1306719e7118a8d661a1646680acc1fa0c745bb114e3b510826efb13f3433 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406101715182293-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 46a110d57a68e02520bdda37fffed415901df2b86bae42bad289b1140b6f6394 |
|
MD5 | 9d0ebf3660b03ff082a0527b9eee563c |
|
BLAKE2b-256 | d1eec50510eab885d709adc4699883b85519530531e2c8729b98e18c7636d96c |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406101715182293-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 645dcb6040b7f20637a0998c58c09f2910465134605493014f3fc553807081aa |
|
MD5 | a585afbcd3e440c2326b9906481cb604 |
|
BLAKE2b-256 | 16b5a40f6fb1be16d17991e87a61f902315e0e8fee2e9459a967f13c586348f1 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406101715182293-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f33bd06e0f3e00c44abdec9cbeedd9602f3a2f5a1c782991fb6f735c35095f1a |
|
MD5 | 7a821956fc81a9619e9907a8670e7f04 |
|
BLAKE2b-256 | df659dad41b34da1bce0eac5558d5c08d6078fb604041fa607216054ff02dbd1 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406101715182293-cp310-cp310-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 18a616a580d3255f724ae3dd6c54661d82ae431acb6b0127f14f1b469a55b768 |
|
MD5 | 28189672e14bae6881e662657423f318 |
|
BLAKE2b-256 | 31ac5ce20d135fc25509527930ff7766b18efcff49bd3215793c59facb7d0018 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406101715182293-cp310-cp310-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6fd08f76d11ca9781f8be4ec8bd8b5b435fe230144c0c2fcca572d7e026e551c |
|
MD5 | e0a7cfeaaf808e55bbf466ccbe8de14b |
|
BLAKE2b-256 | c8a7c771dddf134cf906325737a2587a8a661a24723d2b58b55ee8343d6b0640 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406101715182293-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b45a2e100b70d4b4c53e341c9d54fc48556d07e951979eafb3a5fbce32524e1c |
|
MD5 | 6e1f248e36961e4ac96bbd626580ffbb |
|
BLAKE2b-256 | 84d68c8bdee02fea3eb6a1a38af25e7275a5a9931c8542780521d3b4700ec37f |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406101715182293-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b58f7cbb7b423e899fa914fd16800cdbfa78a319648e021581af46f173c96d96 |
|
MD5 | 36e92d4918dad54fbe36ff6e2f329c17 |
|
BLAKE2b-256 | e1118b9288c4f364d8e2257d1e3b21bc85d4d3d52d3b35669795847133e72753 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406101715182293-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6c544a8b9b0fa9cc4a3a500e9fe95226da224ae3186aaf5b9d7d426a29bad3ff |
|
MD5 | e98804488cf37ff5e147bfd4eafd2098 |
|
BLAKE2b-256 | 3778746411ae28d93d6c66c5579ab502e1c2206514e2086e341506fda50ad1f4 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406101715182293-cp39-cp39-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 126fc286c373dd99fc98657b6b1da0a2004d2ae74a83c50a4b54992ee697859e |
|
MD5 | 2c5f7df3f881eb3377c7749d20ea1185 |
|
BLAKE2b-256 | 9edb1259eb18408f487ca9aa56daaf49101a66be2f58a11202511dc6aa8f84cc |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406101715182293-cp39-cp39-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cecd55aebbeec1bcbdd7058c358bf860e56b535995c12e01214c2dc147c39f36 |
|
MD5 | f8be1a9b8394aa85dda2189478530f53 |
|
BLAKE2b-256 | 6860575bdfb0cd338e431528717c8948110dd40d635197a8744463a91ad7e485 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406101715182293-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6363bd0d2e3bedf184d9c7616cfa4efa2bbb2951064301fd0cbf543424b700fe |
|
MD5 | 8bc58c04851033c921e19a93ad4db7a7 |
|
BLAKE2b-256 | 431e140e77249127fcb736c251b2112460eb5ca0635cc22f7579f7d790db87dc |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406101715182293-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0361f2905b0c790c5c84af9538f8f8f41936cc1dea8c7fb9347ed39a52015a2a |
|
MD5 | eb04dfcdd870e485a2309df50976abc9 |
|
BLAKE2b-256 | 8985b43b5f6da8f3c00f26bbb358f41adaa0f73051e9c0f9f5b4a2f9f342b779 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406101715182293-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 49e7e6e48469791f94999bae47ab22dedb29e772cdb686a28110a674f0e79c5d |
|
MD5 | 878961e20a60de50abe528bc9d4132fc |
|
BLAKE2b-256 | 64435d4dd24e977ece993b343a28700e17d2c3936d94c134b9758dcc2080d9b7 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406101715182293-cp38-cp38-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 47542bcc74dad717a45b17fad6715d4bcbae1651c313fbe3cad6766e7d3621aa |
|
MD5 | 7b33beeebd8c9b403e34ddf9cc05fe9c |
|
BLAKE2b-256 | 1abc7e6a686431e29cd2101ea431ab4c2669abd9703db1a0d3fa7824df512409 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406101715182293-cp38-cp38-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | de36514dd1a5bcc3cdef0310803c35475b9d8a69be282f78190919edc391d777 |
|
MD5 | a58d3510b48d9693fcafd35811c8d899 |
|
BLAKE2b-256 | db887691f98f5c97fee975a0590fca2a7f67fc62e830ebf0d1263ba78d5a9b55 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406101715182293-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cc1ebc52625c14f7e06320b7b1d0d74fea768abed07ecc31141fbcf45ac406d6 |
|
MD5 | cdd6a416de65c6b2fe0ed82e6c0eb530 |
|
BLAKE2b-256 | ff3a687d76e6ca2d39f2a05a70504766d4a9bf0b798370bc9f6cf077ca6659f0 |
Hashes for pyAgrum_nightly-1.13.2.9.dev202406101715182293-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4c19b74e00ddedf37ea0b075930d466009e0f38e7e35e0f1fd2e60f9e4972f2e |
|
MD5 | 1fc83e48bec51be4176ed7f24a88508d |
|
BLAKE2b-256 | a3a2e2c9d466a74c1a3a30243e40949eec5086b477255b296126499900be5203 |