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.dev202403301711457924-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7c396fc43754aa483c703040c30c198072e9ea26ee9ff367c1c6a76fbbd789bb |
|
MD5 | 1d2ec4b2d6be9479b8abca20d4fd35e6 |
|
BLAKE2b-256 | 2d1e8ca4e78361301514d23200bbaeaccde59fed70c0054b1cb8b474f4ffe959 |
Hashes for pyAgrum_nightly-1.13.0.dev202403301711457924-cp312-cp312-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e575eed5fec32a19652997dcbc5c768fa16f954208fd66e36533a01f1402c689 |
|
MD5 | d93b34e79006236d763abf922ee8f655 |
|
BLAKE2b-256 | a020e74ab989238eb123091a4f5d817c17312ad065b7d1f682d294ff6a9cc041 |
Hashes for pyAgrum_nightly-1.13.0.dev202403301711457924-cp312-cp312-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 319b29fe5b9820bfeca168591ef1320ae22e07a2baf096199d474ce4329bc170 |
|
MD5 | e081f4448e721b0d4c9a5b4e84108e94 |
|
BLAKE2b-256 | 774a4b42949356ce0918d1b5a08d2b6137b80c85a10dbffbc459b0ef54c90682 |
Hashes for pyAgrum_nightly-1.13.0.dev202403301711457924-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cc07c56fb9fca02dfaa9138f5f4f5e963bd39467dd41da823c667ffa99bad43e |
|
MD5 | 0f0284ffc88925f05fa88590b6126021 |
|
BLAKE2b-256 | f764f0bebc4995c68a2106a1d7e611e693525245ae3fcf72f1f67afc651bd39a |
Hashes for pyAgrum_nightly-1.13.0.dev202403301711457924-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2d128218de9e00c326f304fdfe5ed5929c88dedbc769b3edce68a4934ca6fffc |
|
MD5 | 4e3ed94bcfcb5e9eba3b4f89d4e690ba |
|
BLAKE2b-256 | 45ef547c672848aa7f8e8a3453deea1d9b7b3faa048acb9cfc73616e6ac877c0 |
Hashes for pyAgrum_nightly-1.13.0.dev202403301711457924-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 845dce0d89af28bfb9da3ecbeb8bcbbee0fd149eda04e2262c888fad0add04a8 |
|
MD5 | 966a0e12945c1c4a05a3a6c0bd1536b7 |
|
BLAKE2b-256 | 54dff4b93b305d88dc1c686c7e345aac6c98ebfd64b5f88a675198254cb43a81 |
Hashes for pyAgrum_nightly-1.13.0.dev202403301711457924-cp311-cp311-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cfb64f9934c3a6787376551a41328c56b19e5bff22a9048e9e32a17ddde725d7 |
|
MD5 | d0c7da1011587b3fb37ca140eb191f54 |
|
BLAKE2b-256 | 62f5d66d9b0a11f6a292711b805f25e47a5b5bd186db53d62f5af9ad0c35a061 |
Hashes for pyAgrum_nightly-1.13.0.dev202403301711457924-cp311-cp311-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b9c66feb08b6303a5b603912a20130ebdae721a7263c9e2e427256fb15e4d746 |
|
MD5 | 91843098a2507e93f31d26fbe2f18133 |
|
BLAKE2b-256 | 2315658fc81d708e82d1679e4e5d09007293319c1203f121c1a6f88b35de65c7 |
Hashes for pyAgrum_nightly-1.13.0.dev202403301711457924-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9c2bef03522e0f774b6578b28c9d20614623586be54d6cd3f64c8243b3965059 |
|
MD5 | 92472c73db425bcfb3e900930877da88 |
|
BLAKE2b-256 | 03d954134515fc0e5fb0c456211dfc98feda1c880400912a3787241494646fab |
Hashes for pyAgrum_nightly-1.13.0.dev202403301711457924-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 727e60dc0cd99bb08f1cc44f83d466313d7a70f1fab01d31a1a1675853c7895a |
|
MD5 | f025e3db0109354e89f172823d97b979 |
|
BLAKE2b-256 | 608ee8143778b31a1bb9eb27dad567c0f05c2112c15c7a5b9471e3a93a3f1a13 |
Hashes for pyAgrum_nightly-1.13.0.dev202403301711457924-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5d30fea4518bef7d6eb50dc1b7a208e6289523eb8a3908f54d03717ed5e223c3 |
|
MD5 | cf7c56d123b6166927370424a323ec0f |
|
BLAKE2b-256 | ae0345b023ea4456986056de4ecab174c35bed8322d2e93bcd3355997d1d5044 |
Hashes for pyAgrum_nightly-1.13.0.dev202403301711457924-cp310-cp310-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5b6d19b71c14be886c19e81618d4e4005d4d82ea71ce6db5c55fca24db109c0b |
|
MD5 | 347b9f1a091dcd3ab5d0a441dc4df1e8 |
|
BLAKE2b-256 | 520edb85a6c88847f4f2c363b0095f84c9e121dbc1fd8818c0b001f3eee795bc |
Hashes for pyAgrum_nightly-1.13.0.dev202403301711457924-cp310-cp310-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 17c12f2b0ce4091b312ea038a296ce1596c635f3cd179da4a8108378f899a000 |
|
MD5 | 7e0ad05e78ff6f767c5e379dab29aeb0 |
|
BLAKE2b-256 | b6b684da28fe829246d44fa29ecb4904c112b1868d9d1302629abc5b70cc9418 |
Hashes for pyAgrum_nightly-1.13.0.dev202403301711457924-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 500205c80e5553b1796d6ecbdc3f10a52ca48ab31dcbb22dfed9b57507ac1bca |
|
MD5 | d7ded22d37362265ead65979ba481c04 |
|
BLAKE2b-256 | f236699f6cf4d452a8f29fbfa3d9ec8515ae940b3b67833256da736fb1a6b45a |
Hashes for pyAgrum_nightly-1.13.0.dev202403301711457924-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a76469b071083b0b4b98961f5eaeeff87f4a2403eaa5ae6adb2e3e3a0c7cc744 |
|
MD5 | 1a965a8f63d729825a67177b743f897f |
|
BLAKE2b-256 | df11886bcc38062fd260639b87ba718a5e202869c4dde650c790e8df8192e880 |
Hashes for pyAgrum_nightly-1.13.0.dev202403301711457924-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e583df1c147730915384e1c1835e7f08cf5fd8688bde737f8090b3df7801c601 |
|
MD5 | 8b881fade2e236c2549e92d4d2db67d7 |
|
BLAKE2b-256 | dd03d3cd6cc6832a3e4f7510ea47b8a3202907ce2448d252ef311072c4792496 |
Hashes for pyAgrum_nightly-1.13.0.dev202403301711457924-cp39-cp39-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4d495dae11923c241687d1da72522c2f0826b5995aa87909e70031083fb012f2 |
|
MD5 | 3b62cc2e80404a77636de9e69fe13100 |
|
BLAKE2b-256 | dbfc6fdd101c54929fd0f208959bccadfb3d2acbe927c59e972042c74105ffac |
Hashes for pyAgrum_nightly-1.13.0.dev202403301711457924-cp39-cp39-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3d6ab5ff20d04c00c8420ac68a370d23d6202c8159ebcf5ce8f7c9dca1297a4b |
|
MD5 | 88febc2ca3ae8d75dc14b55fe5af16c9 |
|
BLAKE2b-256 | 776d58cb4487429f548fc37eb2b9745881c79e0656ccde37a14619c563531da3 |
Hashes for pyAgrum_nightly-1.13.0.dev202403301711457924-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f9dc170635a5ff13a773bf508ef830ccbee1ebe6ab0d624227a4daaf000f3ce6 |
|
MD5 | 996fe99b4257f2aed746e187f2ed5067 |
|
BLAKE2b-256 | aa22a7d33e1da83efa95a70d102c949d520397ba43c6e8bf4f527a3ad31f0cf4 |
Hashes for pyAgrum_nightly-1.13.0.dev202403301711457924-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9f689c0ecd64b6ba7d3457df16a0dc78bebf6f2d1dbdc2719ce030d70112051c |
|
MD5 | b0eb2a4edf9e668e2144c8d741f82897 |
|
BLAKE2b-256 | d4eefb520786ecd149d263ac4fd8530539bca97a25f541cdeec1ed738f0d6faf |
Hashes for pyAgrum_nightly-1.13.0.dev202403301711457924-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 815e50422da1e2e6877e7366f646156dc2926ce2fb639cae2bac6549448dc3be |
|
MD5 | dc67ad5cee3f0693af45c09471ab8dac |
|
BLAKE2b-256 | 48d6c27c20509e14377b753a6b9edb634aff09718498b51063f9f6dfa03da0da |
Hashes for pyAgrum_nightly-1.13.0.dev202403301711457924-cp38-cp38-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9a6170e45a01a3efb4d68a6e7689ad6a04a02efde76482b5696cb5efc79d107b |
|
MD5 | 999512c89f084a17e0b4a3b72dcb31c1 |
|
BLAKE2b-256 | 38ac07d96417fb553b3a2cfddbf1e7a470e0d7ee138562507fc57f6e7310cf02 |
Hashes for pyAgrum_nightly-1.13.0.dev202403301711457924-cp38-cp38-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fabf28ddd18093a67e57ac6478fe89d8ff7ff328bbecafe8cde96dd488942fbc |
|
MD5 | d79bd751072cd5467ce049605e4ddf94 |
|
BLAKE2b-256 | d072c215b0445c67794e6fa2371ce11e9943fb34d9495cd5fa653e065ff2fc4c |
Hashes for pyAgrum_nightly-1.13.0.dev202403301711457924-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2ebe4a97da62e5bf066846e9cd07b01e0e8510ad882e0befe9ce4f2bc5e77d8f |
|
MD5 | 41c3f1eb376c177333c659daf4bff2f6 |
|
BLAKE2b-256 | 73490351f66c6f428e6e8b34c63e0fa7287ffc02bfbd3ee47bf26bea2d8232fb |
Hashes for pyAgrum_nightly-1.13.0.dev202403301711457924-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2276d7f57039d23b07efc50fca850636ad3233ceec4acd4d9c0abbc7350ca01a |
|
MD5 | a6b2ed4e30d023c0744cba2f26af3c87 |
|
BLAKE2b-256 | e81af0bb9f93cad205040375dab6f752081b72a41fd23e9756dcbc7eb84c24eb |