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.1.dev202405051713370971-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7246790e3f96896d8b9ad6dec5a5d589f43ac4b26da25b4c9bec5588e56c9dd5 |
|
MD5 | 55ef117a575ea6bcbbb8d0c0fa62c75f |
|
BLAKE2b-256 | 32189c34117eb44e514992101af48a04d2635b4d64a08161a09004d46ac22fcf |
Hashes for pyAgrum_nightly-1.13.1.dev202405051713370971-cp312-cp312-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1064a51c37f3bcd487f328b6a78523d4c83d00a799aef04afd9925113e14d7bf |
|
MD5 | 42fee6b05884c62a1ad8d17ff9cca956 |
|
BLAKE2b-256 | 327be175034e838d79356eb980e51a47aca19bc3838e542cb72ae62185c3c26e |
Hashes for pyAgrum_nightly-1.13.1.dev202405051713370971-cp312-cp312-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f3794f468bd57d5d59cd3001f79acb8cb726cbb23754eaf85620b724a619a425 |
|
MD5 | 69ea5da14ad7f879271b8a2e62fbd44e |
|
BLAKE2b-256 | d8f7ac27685693b7fa7ad9bb1c9af25858823d3398d3e11a601c916dd5a8424e |
Hashes for pyAgrum_nightly-1.13.1.dev202405051713370971-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 564c1902be7df12512974bd4e3ba436d48edf1f16476551f6d8e6e814c53ba8b |
|
MD5 | 33a94b87c6f4d9869ba3cef416fa422b |
|
BLAKE2b-256 | d7099bdee1e478097556af0f8e9ca875491d79b4cb8b33a68e366aa8f31d4c79 |
Hashes for pyAgrum_nightly-1.13.1.dev202405051713370971-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1293772479f8f4212d232059574974e17f23c1742ca3c45f5dded311ae80b4d7 |
|
MD5 | b90a319d6f857b63dab8ec902f04e418 |
|
BLAKE2b-256 | fa75e8be41e3a237ae2880607d67977f2587dcda0c8208fde71d841aa554621e |
Hashes for pyAgrum_nightly-1.13.1.dev202405051713370971-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 21ab8900e2c4ded2a8b1b8417d91963f30673e0bba2990b1407aa20236e177bf |
|
MD5 | 6e4393072dd805dafba8fdba2488ec3f |
|
BLAKE2b-256 | 70fbb287db9a4f25e978561c39cc0bfa75c87d66bd85a0b600902f95dbe2cf72 |
Hashes for pyAgrum_nightly-1.13.1.dev202405051713370971-cp311-cp311-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 445e3f6041e77c84bcad80797277dd2080327a537f8b6e61610311d0cd766831 |
|
MD5 | 5406d1630df6b3b866d2ec9c72fe0a98 |
|
BLAKE2b-256 | 365f8aeaad581a0bd6f54c718cefce90ecd5cd78b5c1ec431f957cdb45452690 |
Hashes for pyAgrum_nightly-1.13.1.dev202405051713370971-cp311-cp311-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d12f01c5ea78e73e9ff801274b01bb207f80ef5ebd03a2b47c7fbf6e69018552 |
|
MD5 | 530d3a1f524627abdeea87bd9464fa95 |
|
BLAKE2b-256 | 251295261da1195876cb72dbf73276ccbb71004b39ea6699d819f1b2d870d220 |
Hashes for pyAgrum_nightly-1.13.1.dev202405051713370971-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3fe0dfd7cc8509c09305718d8031e5e9daab7dd011f2b298e5b907d317ddde2a |
|
MD5 | 84ce716e0f5e6849c433486a0eeec3a7 |
|
BLAKE2b-256 | 01972ad9246f9228b62520f2ea4726844783cd75ea784a5ba3076c0221d0dd37 |
Hashes for pyAgrum_nightly-1.13.1.dev202405051713370971-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 11a8c66e7e3cbe220e12687f04636c3ae2501aa3a8d2da989d52e378af096608 |
|
MD5 | 08e5b2b77f8fd04652ea03a26cc3d042 |
|
BLAKE2b-256 | 77774cd039abbeb3086c18af658ce56ff3890a8f54c83e957010cd38868736eb |
Hashes for pyAgrum_nightly-1.13.1.dev202405051713370971-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f2521fa6cc4560ba3b5add11283ecc2a4635780eff7fe55767e44c3e9cd3ad3b |
|
MD5 | 79a3c192db296bd22732fa143ebd4970 |
|
BLAKE2b-256 | 606014727cddf796f6edb0ef17dacb330471de4256a503b451156a4e0ffb5401 |
Hashes for pyAgrum_nightly-1.13.1.dev202405051713370971-cp310-cp310-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2d16aa4b08885e848e18f7bbcae9479471205477f1a7d61493bed2562cedaa75 |
|
MD5 | ed4cc22ae924d209bde77cb2feb9aeb5 |
|
BLAKE2b-256 | 8483f22f970c02b1e0a55ddd3f19145886308266d005390d3482eb49b0f901e1 |
Hashes for pyAgrum_nightly-1.13.1.dev202405051713370971-cp310-cp310-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 304e65699cee06f941bb5c9c0f054d039ed9f03ab65babedbc724ca2a8cefec7 |
|
MD5 | b2444f3c2652a095308d5dda47f31c14 |
|
BLAKE2b-256 | a37134329f90b906c080f196ae6a11596a2de5327d7fca22d281bdbd052d9deb |
Hashes for pyAgrum_nightly-1.13.1.dev202405051713370971-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b508b5a7fde61498fe0707107d45bbc8e9f1cfafcd4d7eee33cb853ab64d85d1 |
|
MD5 | 70f8bc17574074218da2e4f088830fa7 |
|
BLAKE2b-256 | c4f5dc7cc1d62901bb8ab91874ab1ae434015be9b6739f7e167c340888289111 |
Hashes for pyAgrum_nightly-1.13.1.dev202405051713370971-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 00630e8f53dc84c14d5958386a2d0e85d30e4a90f1dfa611007036488e79f01a |
|
MD5 | 9470a138a057efba334458556a557b77 |
|
BLAKE2b-256 | 319930e8f2888aea5d8104f625520b22665bddfdce06321ad513d010f6e093f0 |
Hashes for pyAgrum_nightly-1.13.1.dev202405051713370971-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0285213ccbd659212e13d25329ddb35ea214fe393f4c28d75badd852a2a4d08a |
|
MD5 | 60f331a7c9eb59fe70fcdf221f82eb64 |
|
BLAKE2b-256 | 2fda7330a8041794463e4d53a5edccf473f95939768ebea62d3e3c6ee8349d11 |
Hashes for pyAgrum_nightly-1.13.1.dev202405051713370971-cp39-cp39-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8035942b9d08440538f5256e1ecea61396e5124db1f0c635fec6307b865969f5 |
|
MD5 | cebc18647e7c2e66ef5fbe9d2ccafc4b |
|
BLAKE2b-256 | 9021a956c95da2eccf2c5ea4f052c9306ec8f2ebb2446ab2aa4696c27614cce5 |
Hashes for pyAgrum_nightly-1.13.1.dev202405051713370971-cp39-cp39-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b56a08403f33bef77ad51ba199bd838e0758b99751fcff1aab11ed86e0f6e4d4 |
|
MD5 | 742f3b15a134dab8de9de2455f32b034 |
|
BLAKE2b-256 | 27308fddfe9c76f33eea7e3aec35fbcc13e81446351d24531485f512175f7fa8 |
Hashes for pyAgrum_nightly-1.13.1.dev202405051713370971-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5c4e26eafcfad12e9f52e6e4cf4e78fa47d61ca44e6fb60356acf16e53efdc66 |
|
MD5 | 6c4db130d44986dca3f9ea00c5190301 |
|
BLAKE2b-256 | c23ddc5e607d7fbc15d8264ae65a4dceb321b03d73e46d2c80243814d47add36 |
Hashes for pyAgrum_nightly-1.13.1.dev202405051713370971-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 702ee5860a0c63082fab4a0cd988d71f6d1d8a76cad575ee41d8d40eee3f6081 |
|
MD5 | 7166f05afee64cf52a47ac199f4e9900 |
|
BLAKE2b-256 | f11fa809ef0f365d286910a2bcb1836a9c295a40f8245679c72ffc44c550b9f2 |
Hashes for pyAgrum_nightly-1.13.1.dev202405051713370971-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 77babe575a3116387c4fad2b7f144d7ae582f51bbb55e09580a7da0c68391f3c |
|
MD5 | aead2f0ed5de743d37882e306f571aab |
|
BLAKE2b-256 | e572b3ae3b0bc06ef835a31c625230660499f2ee5ab38d7fbf7cd1002a2d09fb |
Hashes for pyAgrum_nightly-1.13.1.dev202405051713370971-cp38-cp38-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5493c88a42850160738f3a13684393ff5983aa604e8a5f5bd37936642bf0b859 |
|
MD5 | 082126b3cc5be8a8809a40dd2b5f0e1a |
|
BLAKE2b-256 | eac5382469e18705f39be277f0eac854f9bfa80e66d33aac49037fba43c4bee5 |
Hashes for pyAgrum_nightly-1.13.1.dev202405051713370971-cp38-cp38-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 92afc744ac280b026bd731b89b9a014763d263ec3c2981ab542657ec39335642 |
|
MD5 | 47c3d6c5de0654bf40b22a282258912f |
|
BLAKE2b-256 | 47727045e296179a3c2dc76f40efdef610b983a23ed64aa86dc22f23dabafa14 |
Hashes for pyAgrum_nightly-1.13.1.dev202405051713370971-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7eddc986df3077df05d74e7717129130a8f329d0c3cf11eb1211a8ef446d7d99 |
|
MD5 | 4d65b88dfa94647b5919bac22d11feea |
|
BLAKE2b-256 | ef223b0fbddaa99b601296a4a9a9c2be4e117acdccedb7688e21b3a3d3a81e9e |
Hashes for pyAgrum_nightly-1.13.1.dev202405051713370971-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ce50fe3f0e343fa7b9663592f0f0b13c2defedaf63ef108df1f9837f5ec04a83 |
|
MD5 | 66cc066975099fb49a72f2894ac77bb0 |
|
BLAKE2b-256 | 2a6fa3f995fb9d6820df328d2e76e826ae45c3f48ecb1931bc65fef5510f0cef |