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.dev202402261708630418-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | aa34e343b74a5c7907f15128df57c9b9f19789745381c1f9e5eea255f73f40a4 |
|
MD5 | e9502417f196bb556c1c231a81ce7a87 |
|
BLAKE2b-256 | c4d8ebed3da79aca9e3937225ecdf9d8cdb0491431c0e3d9bc46c63e6b8fcc0f |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402261708630418-cp312-cp312-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1543ec86fd7012c26b89962918066e65f0f33145c30104ebf0ffc77164f0f48f |
|
MD5 | d6f7fbe21824c8812bb19f96d1449773 |
|
BLAKE2b-256 | 6152af92fe72cbe9d0fa383f0ab2e82d3344515a8e53c4732941f2018ebf0e48 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402261708630418-cp312-cp312-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0bbf7bb2f7be88e583656dee8ae2b4c5accb13e898cf8db4ef2b92829d77fd08 |
|
MD5 | 88367b074777f5276d86be99cac5d67c |
|
BLAKE2b-256 | fc8c0d3de3a0220d00d24ae0c9c6c21011e5814eb64504691534dffac6703206 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402261708630418-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 95f1d701b8187a4e9ec1706eb3fef022ea02b72002a3a37c3038644bb8952018 |
|
MD5 | 6c519e9d27c52ae0cd905b0dcf4c8de6 |
|
BLAKE2b-256 | 142b4288693876589ccd34285ebb8134450b5a1960a5e88e3f404187cb430cc5 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402261708630418-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 065ea64310d090ac74f6d13a105131faf460446c399ef21c438db58ee58efaa0 |
|
MD5 | 498e73dacf4400a8ac521676424dd054 |
|
BLAKE2b-256 | c4fb77bcd9aa7ce4e7024eb022378fc64941d47f564facc324f3e434ab0d50b2 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402261708630418-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | aa1efeafddcd64562cad522bf9db70eea862cb9605c5125b4088cb88db6e0380 |
|
MD5 | d85de19a9b3fedd8823936b13dc28640 |
|
BLAKE2b-256 | 3189db49a44b1c3bbe421bec6bfd8aaa3612379a15b4ec6c56f090a63706b952 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402261708630418-cp311-cp311-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e22280786dbab1aecd89163e06318750c70fdc0d87472ed58b8d90f535464f5c |
|
MD5 | fdd343a1ce7cab8b7b422eb2fc7f849a |
|
BLAKE2b-256 | 321cefb53649bdc35b6d4053eef2b9b40a5736319032a99030f9d53288ba5a53 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402261708630418-cp311-cp311-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f0c8c6fd2edea4e38546557cbc9864d42c6ad0bebaf662646220ea392e02c126 |
|
MD5 | dbbd79b44d1ead498734c3c2c3c11c0a |
|
BLAKE2b-256 | 73fabd67849d464c180c81b3ff9681dc18817eb628bb78b07cdf049cbe7daa32 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402261708630418-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a54c66e3731f59c743a577b7cbd7c0216114a8cce061fa3ed59aa57b7504dfeb |
|
MD5 | 4e47f97316e9a78cb9ff14b282d2d4e7 |
|
BLAKE2b-256 | 069235e5d4e2316cf86fad18e827b565bf1dea03f4b5b1016b0a4f0711a76814 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402261708630418-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 742074b5d00ed0d5f3e8fe3b9ccfee40810721de327afaa9318e5fedb05cd15e |
|
MD5 | be82320850ee87bc3e82b29d272e52b1 |
|
BLAKE2b-256 | 1985ac29d67e2bc3105d2d6acdb7abdc7354640465dddfc36f0bce0e117ac04d |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402261708630418-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1037d5066b7263eb84b99cd2a1b5000923621b80ce5bb63a3fadafa7dc7b5c93 |
|
MD5 | aced3c47a5330b8ee79fd3e6e0f60aed |
|
BLAKE2b-256 | e9e007286f201bb91ca7831aa7b323e94740f82c22a46f04a7b4d3c88152eecd |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402261708630418-cp310-cp310-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4f1c6c55a5f4ea3b8d0d414d32c220cbae278116e29899ca93fbd7787cb2f91d |
|
MD5 | 756a726e7792c6425a3a8151ddf64cf4 |
|
BLAKE2b-256 | e2db925c4f6a5d8fd8bc032ac90a1ff85c5080ebfc7e8239642ee4f19ea2d294 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402261708630418-cp310-cp310-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 24dcbc8a771040f5be3e7046464b94b1fe9cc12eb71faa9ddd243709c66f8783 |
|
MD5 | 2b6e06ebf21369cd337436640ff199e0 |
|
BLAKE2b-256 | 21399062bb7a519703cd7a74faa8003d111e1eef7e0194da74025ceeacb9c0b6 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402261708630418-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 73dbcbc6a822f17b28a575b03da950d6087dab351108f5f769fce04f59fab19f |
|
MD5 | ff7313b5bce8b3b9b9c80e46e5c1cd57 |
|
BLAKE2b-256 | 732419ca0d347abeb34812a9984ae572da5af5866a1cd72f6e2ff1171f2d6409 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402261708630418-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 900c3ceb4bc880d5289acdeace3f15826028f8bc2a3c77aa40a9bf24ea8d210f |
|
MD5 | 6660e679f41dad080887b0545066beb2 |
|
BLAKE2b-256 | 40ad566f544cabfddca2220fe4d59f08a2bf11eecf94b1b637a5c96f4262d58a |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402261708630418-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 688199211665e62f0c5d284dc4c0ac6428f08bbcecae292b6bfb636d742c33ad |
|
MD5 | 52f0d8a4fd18bb600d6c320553567a41 |
|
BLAKE2b-256 | b577be1e9029d2069a7cdbaf9f26f57dbb914100ca6ccc73765287584dc252f9 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402261708630418-cp39-cp39-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 661b4a655893fea5a58d84dcf9d774bbbe8ce4d96f9a63355b24939b851c05ba |
|
MD5 | 56694f4f4e13baefd72ce209e06d9895 |
|
BLAKE2b-256 | 55de1997b8014c672607de14ac64f54865f590030ef12f69381428169361b776 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402261708630418-cp39-cp39-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fbc9c3889665b91492532c81608c11ac53b35543fb104c3d6b3fa37ef0cc9032 |
|
MD5 | d1cec20c8749202dd92c745f6afd9112 |
|
BLAKE2b-256 | c82abfd85cc7e883ea0dcfa9a6ab10a549b4119d1fad584a3a7fccf69dd43204 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402261708630418-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f341cf3b29dbb96ecb3f2640f756ed45842cf1ea43ce8f24d5d95de0453e92b0 |
|
MD5 | 39c646f993ac5d4350b1d4f8a86466f6 |
|
BLAKE2b-256 | b4464ad5d0338eb9a7e7d92c867e68c3d071f0bfc2442f207c1fa24083c660a3 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402261708630418-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5fcad12729ce5bd0d92b9c1183020982765eccf4316e50a010ac5a352f242dc1 |
|
MD5 | 01545645daa35c76c2cd5875fe3b845b |
|
BLAKE2b-256 | 77cadf99ff4f03d0b7dc90fee214837dd8c530a80478b5051e2aed52affda65c |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402261708630418-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7f4661fe559cf38256ae43da405b50f0bfebf32d27314dcb08336a068629d130 |
|
MD5 | 6219bf91c2a2b4da3c988177cdb5a7e6 |
|
BLAKE2b-256 | bab672b5c5bbc00952577b00e236a3cb05f4249bbd2c97b2fb78f577acabe94b |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402261708630418-cp38-cp38-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5c22e00ea31f8be8f94bf2d42e410b367eadcff13807d8f2951c7929dc5c358a |
|
MD5 | ea5fb3d81268e2aa184d32f0f804ab42 |
|
BLAKE2b-256 | 8ef9b4ee167c3eb3eaeeb87b8e6feaa6d4d1cf3e10018f907887956cfdb46563 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402261708630418-cp38-cp38-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5d9505029de2522655d35b9863ea039ce96d9aa84599595b0c5ed73513e63dac |
|
MD5 | 7dc151385d3ad8793a3279b0eb1b6b1b |
|
BLAKE2b-256 | 98ee0de9c8b229733bc711840695072eb3f60b9b9aebc3658e1e3455a1084d84 |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402261708630418-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ec433ecf1d14ca4b1213acedd8b77b3e7e40ba9a5be72830737010bd00d0335d |
|
MD5 | f989f5f9aaa164a304f849424808998c |
|
BLAKE2b-256 | dbd2da36e6a0f9a93c568587571c10ff95f07ea07cadc8dc2c100b791c4adaaf |
Hashes for pyAgrum_nightly-1.12.1.9.dev202402261708630418-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c47fa505db752aadbeb6c11e72021fd8ca0a87ad202ee4109f314976950ebf46 |
|
MD5 | e0401799dccaabc1b4b95ea6887347ea |
|
BLAKE2b-256 | 69ef1aa398078e5487761912c85d85bcd39d66dedabe52ae1a06d9d438e50844 |