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.0.9.dev202404041711839473-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 289bce87fef52d02b67be6df16feb339f4e759021e808e250c378233fef5cba2 |
|
MD5 | 0d8503b7ba47baaa9130b5e4bddefb2a |
|
BLAKE2b-256 | 94a23222f2fed92ee5a0b49226fb4b9eb2e9ea17aafba6bab01f05075f3052a2 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404041711839473-cp312-cp312-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f475216ef6cce1ee6cb29fc29dda84f0cb0e9d9702f851be46409f08c2965ada |
|
MD5 | a8e0f9a2d3afeb0892ea60a8b06a3628 |
|
BLAKE2b-256 | f1be7301bac169c62d4d156e6ebef3b3516303b2b840c0b2811714272aa7e718 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404041711839473-cp312-cp312-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f6e1697ba099f1b55b4cb282b616f7c2a59d7c9e5a7820a148d9989f7a753377 |
|
MD5 | 18801d53fa2810b05b443405ebd0665c |
|
BLAKE2b-256 | c3577210fdb39c6ab1418acaf4c2b8cdaf8281cbc1463c07c230acee8622de13 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404041711839473-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a5a611e25ee5c738b7343546616a4568ad708588d572b59e67d60b404b8c6882 |
|
MD5 | f022057bf185ddf5624add4210a23631 |
|
BLAKE2b-256 | 8b47927fba488099e28179d5cafdeea951126c1d188691fbc3d96522aaaff753 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404041711839473-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8ff5e35887a2c8a907bfe363c93cd420b21066955b543716f0ba91f6f5741bd1 |
|
MD5 | df37790b4ddd3e9b1fd9e99c5a6c24c8 |
|
BLAKE2b-256 | 165bd029db14bddf1e9edbda111096eccc83d3e7ff1b9d09ad8c47e9154f1670 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404041711839473-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 44488c78b44e9549fd15224e8653ae606bd9e025ec6b5f0678e17cd4906b9add |
|
MD5 | 5594a83aadb6970173d314c57aecc9b8 |
|
BLAKE2b-256 | 7a7bdd00006624c83415e77bcbb4fa098e1f52a7053667bdb9230243c4a062e8 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404041711839473-cp311-cp311-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5f4ceb185309f85fa9464881945db95f7914e24772996f241e54d81f33ced058 |
|
MD5 | 88ed7412fdb07bb480a6c543a4a40e40 |
|
BLAKE2b-256 | 1f459fc393f8a059bc89a05a61d768de2c964071a949a44b49139473b29f310e |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404041711839473-cp311-cp311-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c4e703cdf8a401490eca2005683117625e6fd592432d2ea93efb80333a45ea59 |
|
MD5 | a1dfbf3dbde8b08fa6b6c01ef4f403be |
|
BLAKE2b-256 | ee3991fff01fd847542f2441d714be98a535a03332644dbae7f0c6f68dcd87dd |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404041711839473-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 88d94de8245647365bd344b5b218ec4945c248cd6ee1b6cc3475d8c87e9ff0ea |
|
MD5 | b22728377dec264da240b856f8fdefaa |
|
BLAKE2b-256 | af0da08a3ac04905642a636d49f59ca07f7bacef817073031d7c4b2f778c5f55 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404041711839473-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e68fab5ef6ca0974cb4a97ebcf2821f4b0b848fd268299a7b98ffe840628434d |
|
MD5 | 10c794ec4b82d40f4b5752cfbc8c6d48 |
|
BLAKE2b-256 | 1ee81d87820e950ff369ca6303394a8af1b5a113251fbd19a4c9e82a8e97519c |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404041711839473-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4cd094520e246dbf9f5872107b524da5c87e9922441e9b850e3520bf2f04b015 |
|
MD5 | fd49af7b51c8a5370d1d11f8ee9c7827 |
|
BLAKE2b-256 | 6c83890622ec5c6cd767474df7eb3a202d5046bfb7ce95462349d3409ab1960d |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404041711839473-cp310-cp310-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7b18d13d14dc95105c2702c54aea0ac730262b3b322783e2960324044cb5dd1b |
|
MD5 | a60888c5c32e79e2fb67fdb200b1803c |
|
BLAKE2b-256 | 196680c535e603c9956d7a57b29e7820df7689d9b3c173942f9844d3196b222c |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404041711839473-cp310-cp310-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9ed9b5c496a9cc48a267f9b8197e47c635dfb8cecc1e52601d90837dfe01f2b3 |
|
MD5 | 6f2bb8f4cfcaa79a18a5a00aa0d004fc |
|
BLAKE2b-256 | 615fa68ed46fcd6b508464f1523bece8a92d9e38cd3bb813f89b966745065eaa |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404041711839473-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ef86b0f4cd3292648483a3753a0b27170af5f9474506b561ece999ebea9bce50 |
|
MD5 | 06f34b2146df279c6c2b5ddcd77a060b |
|
BLAKE2b-256 | 79b3af5f57cea8147340570a831e66e706b028eecda05eb9a233e352d09832e9 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404041711839473-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 749d86de5b28fb894eb36ad259b335cf46207f1830f201326f589b941a0a12fb |
|
MD5 | 7ec66441a25b2c946d5c75a19fb0b032 |
|
BLAKE2b-256 | a30e6b36865f56cd5dafa1d5ba1e2dfce551d45d57ad42853b7145c0e5bf584e |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404041711839473-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 56779a0d96c5914880f43bfc91ee79efec49140aa8545dda502c7d73844d439d |
|
MD5 | b6b37fae689bce3940209101aeafd4b7 |
|
BLAKE2b-256 | 1192b4ad119a18fb723b99ba9f3d8965ebacd5d1fc293de9925dd105df20c4dd |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404041711839473-cp39-cp39-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 690b8c4cc8c80b0f6e10a941c4fe4f9355e1d23be60702fb4ab6474952e4e4b3 |
|
MD5 | 4142c386cd981ccc139a115e3f558b90 |
|
BLAKE2b-256 | ff448306f1c0fd8eb595426017b9b0b2754ec506a1c2d0aac48958218f3bbd40 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404041711839473-cp39-cp39-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e6ba754de438fda7bc56a0e21a624dac0c4af55f9357038f48dcb57582e1885e |
|
MD5 | bed0a3c8980745f145f322b49d907b3f |
|
BLAKE2b-256 | 87111f50908cb30fecc9b655e0d0092c696ef59679c25aebd34036d51e3ee4b1 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404041711839473-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8c07c39a8e23d1be3b6f22681581636cc99be1f4f97d4a9d206af84abb22164c |
|
MD5 | aba04c17ee05384a2fc655096fad731b |
|
BLAKE2b-256 | 706a2071a57e56ffbfda239a5d94791d4462b66fce7ed30d921de059cc706eb0 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404041711839473-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 017dc246a4fc6ebd2c0adb86ee7f813cb8eb091451e5b38e3067bd42835a58f1 |
|
MD5 | f9e742bc16853f63f49a37ff8e33dcca |
|
BLAKE2b-256 | 36988a33c826202a8dca8f8eabec51798287e0de9174245dc6484852d6ecc721 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404041711839473-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6bc5ae4fd396943a7fc9133209338b77921680af1007204b4d070f46fbaf22ea |
|
MD5 | 81f8cb8555757b8d87036a4f1bc99d5f |
|
BLAKE2b-256 | 808998780de449ec21ddb8a8745777bac1b818e7d66a1f83a6f36f859e3198ad |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404041711839473-cp38-cp38-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9bb1872cfd651cca7e2ef37384407e24806ae73e5976bf31daf91a659e62ef53 |
|
MD5 | b0c5051aeb31295d7335a7850c802e4e |
|
BLAKE2b-256 | ffe2e1efb2541b37dde0e7b0f8d3c65032472cfb7caf95550a5e033908620a57 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404041711839473-cp38-cp38-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ce87a4e26f2233d20ec0bf1aabdbbe18579746212fe260030febd29f6663fc8f |
|
MD5 | 205b91782a8a8bdfa215cd27bc3cb7f9 |
|
BLAKE2b-256 | 47aacedec7fe4cfc81110bdc049753ef40418ded6cf1fb87d29cb366bdc3dfa2 |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404041711839473-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ddc0e18876ae4db1b95c47cb9f76d7f1d3812667959726057d63b85b881aa7dd |
|
MD5 | f066b0ee4e54c58defccf3f98ae88ac3 |
|
BLAKE2b-256 | d1d1ca6fe7a45be7d11bccef18e1fd61aec75ac7dd795f86e2a552533c8dd29f |
Hashes for pyAgrum_nightly-1.13.0.9.dev202404041711839473-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 048d42bde75eed92ceda3112a713f9377a6baebabd58a32d0ce45e61935a905d |
|
MD5 | 2367bf11d5a9b1299b8e5038b1d3780c |
|
BLAKE2b-256 | b568587e39cdf0945aa3bbe7e6e333b3739bc3305c85244f822a56dabc911a83 |