Skip to main content

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-2024 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.

Authors

  • Pierre-Henri Wuillemin

  • Christophe Gonzales

Maintainers

  • Lionel Torti

  • Gaspard Ducamp

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

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

pyAgrum_nightly-1.14.1.9.dev202407111719384100-cp312-cp312-win_amd64.whl (2.7 MB view details)

Uploaded CPython 3.12Windows x86-64

pyAgrum_nightly-1.14.1.9.dev202407111719384100-cp312-cp312-macosx_11_0_arm64.whl (4.2 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

pyAgrum_nightly-1.14.1.9.dev202407111719384100-cp312-cp312-macosx_10_9_x86_64.whl (4.8 MB view details)

Uploaded CPython 3.12macOS 10.9+ x86-64

pyAgrum_nightly-1.14.1.9.dev202407111719384100-cp311-cp311-win_amd64.whl (2.7 MB view details)

Uploaded CPython 3.11Windows x86-64

pyAgrum_nightly-1.14.1.9.dev202407111719384100-cp311-cp311-macosx_11_0_arm64.whl (4.2 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

pyAgrum_nightly-1.14.1.9.dev202407111719384100-cp311-cp311-macosx_10_9_x86_64.whl (4.8 MB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

pyAgrum_nightly-1.14.1.9.dev202407111719384100-cp310-cp310-win_amd64.whl (2.7 MB view details)

Uploaded CPython 3.10Windows x86-64

pyAgrum_nightly-1.14.1.9.dev202407111719384100-cp310-cp310-macosx_11_0_arm64.whl (4.2 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

pyAgrum_nightly-1.14.1.9.dev202407111719384100-cp310-cp310-macosx_10_9_x86_64.whl (4.8 MB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

pyAgrum_nightly-1.14.1.9.dev202407111719384100-cp39-cp39-win_amd64.whl (2.7 MB view details)

Uploaded CPython 3.9Windows x86-64

pyAgrum_nightly-1.14.1.9.dev202407111719384100-cp39-cp39-macosx_11_0_arm64.whl (4.2 MB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

pyAgrum_nightly-1.14.1.9.dev202407111719384100-cp39-cp39-macosx_10_9_x86_64.whl (4.8 MB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

File details

Details for the file pyAgrum_nightly-1.14.1.9.dev202407111719384100-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.14.1.9.dev202407111719384100-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 bd55f6d53ecfb0292a7eb4f3cdf1e89ac645f4a042c8dcca604a781824ce8533
MD5 944eed9c7421ef5363ce860899404359
BLAKE2b-256 1bbeecfb1ebc415f34472d6f49eac84c8ade29751f68f26c2298c6b98227026c

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.14.1.9.dev202407111719384100-cp312-cp312-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.14.1.9.dev202407111719384100-cp312-cp312-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a2089821c77d51246c0c42152910eb9e27cadcd02e428d3f9fa4741547dee454
MD5 58d7dd979490322f6c338aa5a031602f
BLAKE2b-256 f80c665424e9f5f88ab1207061bab9b6a087dd3fe7055f9f8fb6662cfea35fd9

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.14.1.9.dev202407111719384100-cp312-cp312-manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.14.1.9.dev202407111719384100-cp312-cp312-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 7b47ceab7d078d55ebeac4bef96fabd484a465d0642de5c074ea729f338daa39
MD5 9ec015606843ebb8e4c5b7994a23279f
BLAKE2b-256 e8c9a14932e10e8aec4ed7975a4c2578812afc0337485631ce798dfb5b498b31

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.14.1.9.dev202407111719384100-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.14.1.9.dev202407111719384100-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 97280e38e1eeda7ad55bd4565f4e586793622142796f976c5c9ff4f55b8fbdda
MD5 4e4532a0b36d76307a95692b84b272d8
BLAKE2b-256 f96c868978d092d823303926d5974cdb5d62393dd78a3285648927426929d0e2

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.14.1.9.dev202407111719384100-cp312-cp312-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.14.1.9.dev202407111719384100-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 cb7de0ee4f2056e0aa67df9a60e20c06367eb9c4ab428ccdef7968b32262b7ff
MD5 09fe70e49a21d0a8ca260e5c4fb1f84c
BLAKE2b-256 240f2cdf56c984065eb69597e68f5ba3152a240ff81d249185f46e161a974bc3

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.14.1.9.dev202407111719384100-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.14.1.9.dev202407111719384100-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 80e28f5a57650e356307bacddedf2186e5821205b60b0b4a76abcfc394c3e3bb
MD5 90a929ef85b21d34f7e5045d05da143c
BLAKE2b-256 761279f6b1d3b2f4056cc668673386e72b6475892e45aea25a8a26d9b09846ab

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.14.1.9.dev202407111719384100-cp311-cp311-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.14.1.9.dev202407111719384100-cp311-cp311-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d8555ea9925545fa94aa28c6a027379ecf4d4739b876a37fd78531efd69c87c8
MD5 a256c070e65c2945ed42985e59f93101
BLAKE2b-256 e3000dfd9018aab7ec6048060d27088a990db3242015b5cfff086b34fc22fe46

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.14.1.9.dev202407111719384100-cp311-cp311-manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.14.1.9.dev202407111719384100-cp311-cp311-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 7003e3c715539fed08b3c2597bc9331ef19daedc06b6b6edf52d11b0699739cc
MD5 34baa7ddcfcab524bede30ca5e8658df
BLAKE2b-256 2fbbcfda9d86c8ec16c8f2289a0a3852b316402294e3b9b09043ec4629da023d

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.14.1.9.dev202407111719384100-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.14.1.9.dev202407111719384100-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 16d0a68a7dc26327a60ec869bc977e7c54c770a04b2b555c8871efcc272b4590
MD5 01efec7ee5a0f16e2932ed0c499cf43c
BLAKE2b-256 f0014943daa01b6368b885dec0117f6724408c1e7a24aae583c4bf2211517025

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.14.1.9.dev202407111719384100-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.14.1.9.dev202407111719384100-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 20e879441179d0c9bfc6d7f37f9e2059018a31944fb9dbaffc8e348b6f6d9d32
MD5 e97ff12721164e49371b089d2f30c767
BLAKE2b-256 06ffba1b26df62b7179a4606a4a8e962c3496467be6e07cc56e2acacf96f315f

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.14.1.9.dev202407111719384100-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.14.1.9.dev202407111719384100-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 b359919d3833b82b40fa6cf8bd20bdd90a66530260a4cf194ab1264a5e7f7fe5
MD5 fc6bc9d581039319e2a218ec8ff5d1c0
BLAKE2b-256 5b86f32008b2996751ba81176d5cd10160609dbc566c380d4d4adfa8d7e86d1a

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.14.1.9.dev202407111719384100-cp310-cp310-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.14.1.9.dev202407111719384100-cp310-cp310-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 01e726acfda87334c90b55c771be381bf23bb2c8483524c211c7a513de3643d2
MD5 8f54cadf62db0c61ce366bdadc625b31
BLAKE2b-256 00ecb5fd5f896a9e9f25170b73f45d4f2872a144cce265afcf3e615efb229231

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.14.1.9.dev202407111719384100-cp310-cp310-manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.14.1.9.dev202407111719384100-cp310-cp310-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b059d8fe588dc3aed4757b635759d545c93930b7b682a473bd7a95b2121d305c
MD5 44ebdcefcc02fa79ad4b2e149ef6d33c
BLAKE2b-256 a16bf3392363d5c8fdedb77613dee95d0a846fc42f8558a5b8281f7f6ed6defb

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.14.1.9.dev202407111719384100-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.14.1.9.dev202407111719384100-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1ab05c8508188f5851535f8847d5858e8a1d6f585f9f85749b6575e6611e91e5
MD5 c216a4934867e5e83367d368b0dab97c
BLAKE2b-256 c0cbd44f9a31d1bc5caec0f8893563fc760db47bb16d5c41c289916d8638c455

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.14.1.9.dev202407111719384100-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.14.1.9.dev202407111719384100-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 e3b7c9b57cc5d83b1aeac527031f078bcea0dfcd71fa8d34b1d19b424daaf65b
MD5 1654f068374e9c25036eb50cf5eb1f87
BLAKE2b-256 b338bc6ef3a9ce9260a91ddbf0732ae8dcd5d7cb091673171a31c00c187c4c4b

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.14.1.9.dev202407111719384100-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.14.1.9.dev202407111719384100-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 0a1b329af504fcce26bf597081f7d7f6202be336ca3eb4ef1fc9dc03d58c65ba
MD5 71d499e97ca38c286a7a5bfeff2b482c
BLAKE2b-256 7efeb72eacd12036a4b63a767c31c838a464b5f4284f8ca6a01413fb6cf99406

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.14.1.9.dev202407111719384100-cp39-cp39-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.14.1.9.dev202407111719384100-cp39-cp39-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4e252e5c6f167f14cd5fdfbe499dad0c7a4e8457dc8723d652d6fbd98dfef131
MD5 9765ba70e4df649a7d76e6eb5d34abb5
BLAKE2b-256 00c8a4f16757a9c45af0fefab52d652c1d0a69e594cc909577029a742ccc745e

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.14.1.9.dev202407111719384100-cp39-cp39-manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.14.1.9.dev202407111719384100-cp39-cp39-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d08b92ae88e8952e31e366c444f9459da258ada54189519b5a25acc1bb3aab8c
MD5 d5108d75f174940a9f9f17dd88763371
BLAKE2b-256 20cb204c0248310820a703786b12728234e43141062a4f1ef9154acc8e779229

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.14.1.9.dev202407111719384100-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.14.1.9.dev202407111719384100-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3eaf44dbf5d0709dd22bed8c50bbaf65e1bdffcafdc3390ce0f64cba9a8af641
MD5 af140ce4b3e4a8b48e5011eeb93839cc
BLAKE2b-256 21d142bb4272a14f8861d818c2758f127c36d040c18271511d7ffce847d86a75

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.14.1.9.dev202407111719384100-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.14.1.9.dev202407111719384100-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 d7124c99a05da2a0b336fe0da78e6b5837ed84a59a8bce8f433b25921256e55d
MD5 7dc6cda1308d9e02153fd3ca1b73acf9
BLAKE2b-256 110b13beb90c03057067433b3fdfe68237e4093683fd9c901ff39e66c566bff6

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page