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.17.2.9.dev202502111738433769-cp313-cp313-win_amd64.whl (2.8 MB view details)

Uploaded CPython 3.13Windows x86-64

pyAgrum_nightly-1.17.2.9.dev202502111738433769-cp313-cp313-macosx_11_0_arm64.whl (4.1 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

pyAgrum_nightly-1.17.2.9.dev202502111738433769-cp313-cp313-macosx_10_13_x86_64.whl (4.7 MB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

pyAgrum_nightly-1.17.2.9.dev202502111738433769-cp312-cp312-win_amd64.whl (2.8 MB view details)

Uploaded CPython 3.12Windows x86-64

pyAgrum_nightly-1.17.2.9.dev202502111738433769-cp312-cp312-macosx_11_0_arm64.whl (4.1 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

pyAgrum_nightly-1.17.2.9.dev202502111738433769-cp312-cp312-macosx_10_9_x86_64.whl (4.7 MB view details)

Uploaded CPython 3.12macOS 10.9+ x86-64

pyAgrum_nightly-1.17.2.9.dev202502111738433769-cp311-cp311-win_amd64.whl (2.8 MB view details)

Uploaded CPython 3.11Windows x86-64

pyAgrum_nightly-1.17.2.9.dev202502111738433769-cp311-cp311-macosx_11_0_arm64.whl (4.1 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

pyAgrum_nightly-1.17.2.9.dev202502111738433769-cp311-cp311-macosx_10_9_x86_64.whl (4.7 MB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

pyAgrum_nightly-1.17.2.9.dev202502111738433769-cp310-cp310-win_amd64.whl (2.8 MB view details)

Uploaded CPython 3.10Windows x86-64

pyAgrum_nightly-1.17.2.9.dev202502111738433769-cp310-cp310-macosx_11_0_arm64.whl (4.1 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

pyAgrum_nightly-1.17.2.9.dev202502111738433769-cp310-cp310-macosx_10_9_x86_64.whl (4.7 MB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

File details

Details for the file pyAgrum_nightly-1.17.2.9.dev202502111738433769-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.9.dev202502111738433769-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 d61e2927476b4a1b4706acce065090e8070b04a3d841463d19e00858ef247bf4
MD5 2c07108fedcd4437e34e231d12334f45
BLAKE2b-256 dafef3bd36ae4262de72c1f9d6cf62d30034343d22da7826340bc5112200875d

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.17.2.9.dev202502111738433769-cp313-cp313-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.9.dev202502111738433769-cp313-cp313-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 eb0b0c85353676c3be794b8da18401f982f5c53b009927012e334937c8398563
MD5 2cd04adbc132bf4b008cc9cfc9d73a20
BLAKE2b-256 5122cd0e4dc37fea9b6eef525bee715c896739abdff01b1b6a84f671087a376f

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.17.2.9.dev202502111738433769-cp313-cp313-manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.9.dev202502111738433769-cp313-cp313-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d02c2270fd1685468fb13850816230f80a97823be7e7c69b9ded2d9db817187d
MD5 639783f6c79683ecbdb37a128c54155b
BLAKE2b-256 7c94aa8d59db0239a6492ad82bacc1edeeae16ead7253dc766cbb812048b4eb5

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.17.2.9.dev202502111738433769-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.9.dev202502111738433769-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1f50499baa472d96dea306bc153621a1983e4096eac2b68bb16e9d037e76e0a6
MD5 eeacf4d5eae0ef0d4e26c8446c1f703c
BLAKE2b-256 5457d4e6edb4e9b4c13a74a6ed87fcfd50efbafde9a7f104695769c25bd087d3

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.17.2.9.dev202502111738433769-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.9.dev202502111738433769-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 7a4c0e0e1ae86291005bf96bc2999735d47c08920cae51d75276912e94acdbe0
MD5 b942667ec1b5c18d072c49269399567f
BLAKE2b-256 0cbefaa3a3cc212c6ac16d3c7065a5103cf15457190567a8d243c56767756038

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.17.2.9.dev202502111738433769-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.9.dev202502111738433769-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 ab3cc00546b164653727f820a470eeff3976a2f723e76747665b0333a3738ed9
MD5 12cc4c8b9420674d850c36db8c48664a
BLAKE2b-256 dd40fe59f2ebb14230f8597c5ba7c5fed8c529e17890e15fd82312dd77b9443c

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.17.2.9.dev202502111738433769-cp312-cp312-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.9.dev202502111738433769-cp312-cp312-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f9565fcec20f2c2e28c1dafaf43c36f96073f55e8bd976268e47e9d2289682f2
MD5 f8f101120d862391766155218cdea21b
BLAKE2b-256 0dec302145fc3010c8c59884840a2c971fd758d83f067c6fddf2312ec9624544

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.17.2.9.dev202502111738433769-cp312-cp312-manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.9.dev202502111738433769-cp312-cp312-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d01ad6ab513c96d865c79be60333ebd06906946c65d5bd325993e60ab1991b74
MD5 b38578eba1d12026813cab5fb844472d
BLAKE2b-256 55b8e7d4d96baa839a4558e4b626852b39e0021d113c3a276a056e481be7f898

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.17.2.9.dev202502111738433769-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.9.dev202502111738433769-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 36137644285915e159c3acc69e3f955ba81e295858656c83f86cfc9e0d1965d0
MD5 ea1f3eae81586de49d790c0b29d5bd98
BLAKE2b-256 c5ce591d1e163252e30e7bb52c80cfad1c77dc1e7b49bf4198fe10556ed8b3ad

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.17.2.9.dev202502111738433769-cp312-cp312-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.9.dev202502111738433769-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 9b72db71e741b7fd65e8103144e56a4b3bf4a0e0dd2908c60408b25c236e5d4a
MD5 dfcd36f4820d1aca48e55dd3bbe569ef
BLAKE2b-256 2c8bc6f5f050f40464aa38220e025cdce434b0284effb298b5b9324d8d27f6f3

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.17.2.9.dev202502111738433769-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.9.dev202502111738433769-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 80a1873e78ea0a0744ddbb336b86af56341eb216e7f14f795897c1a5aed0fd61
MD5 cb9c8c04ef0a24a386cb2281466e586a
BLAKE2b-256 72b0c3c74b4bc0c2d147370e33ac572859e2aa10b5d361eac659b051b7ab79eb

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.17.2.9.dev202502111738433769-cp311-cp311-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.9.dev202502111738433769-cp311-cp311-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 991e57f6842f3f606051825bb291f461ae4a257d6bda7befcf118b0002ffaf7e
MD5 9ca8ccd0a41744fea747c2c680a799ed
BLAKE2b-256 142dfd3e8dba4de811a1e462b235bf0f7e68405c44b233d41f26235a6d4c9524

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.17.2.9.dev202502111738433769-cp311-cp311-manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.9.dev202502111738433769-cp311-cp311-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 bd6ac49710b7212428371527464be94ff7a364fdeee882e1b070b3b9c60c2b57
MD5 7deaa685b7352c78f753f2cf7562ea82
BLAKE2b-256 00a0be69b62eb9697a488fd6aa50b345463bc11027536fe08bb59636b0eeaeab

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.17.2.9.dev202502111738433769-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.9.dev202502111738433769-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 337d8012873214d9bff9ef0ce9446f649664fecc5333bde1099ecf0af6de6519
MD5 e1eeae7cbadfa3f6eef6055bf3eb882a
BLAKE2b-256 a9ab873ecb8fd1592f26580ebb8ee08c63b2f9ab9ac80020f159dec927f56443

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.17.2.9.dev202502111738433769-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.9.dev202502111738433769-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 6e02a037bc21b8ae8342cd6bcecda1cec89d5a5ec390b2ffd74043849bd8f5c0
MD5 83e32957e8fa7e642deb4ed1b2bfe468
BLAKE2b-256 4ea1575cc02e734e0e6ccbe295dde9cd8043588dc5024bef45b91c6a04dce5c4

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.17.2.9.dev202502111738433769-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.9.dev202502111738433769-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 bdaed631c2b067ef9369ff686fd3f74a5ac4fccfc3f3e0c2b3dc22e8538ae365
MD5 2736ce17922fb4ade23307bf943a604c
BLAKE2b-256 86d06c9dca6ef50e60a478e72d943aae81003b449fc1ab8fdb13d722baf04ce4

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.17.2.9.dev202502111738433769-cp310-cp310-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.9.dev202502111738433769-cp310-cp310-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e8560d7c07ab58d7d79f4def5a0d88d0fa2cbe748133210e0891a90211025891
MD5 c7a1dcfd9cf9799dd87bd9f34a71069c
BLAKE2b-256 a8d77dc41210a9b74561eb4d295ad6e8e1f538971ba6038f3440bce537f2b940

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.17.2.9.dev202502111738433769-cp310-cp310-manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.9.dev202502111738433769-cp310-cp310-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 08cff4da388d60bdbb2a369b6325ac8e61df6b20e64de616c4af2ac82e00f52e
MD5 79066e1870003bcdb354d62f0e8eeb68
BLAKE2b-256 98b5d2d5080e914f28206672e910c0abec5bea9e551827d1a14208979d52b1c8

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.17.2.9.dev202502111738433769-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.9.dev202502111738433769-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4fff1d0c54e86d4508476b831c4cdb551b96f582b68d1024bb501bdf68c99af2
MD5 478cf4d4e3702e81977203b701eac971
BLAKE2b-256 8a88c493a3995ce9addb7574957d962da7c2a8e32800126cf56d5f2512f2a705

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.17.2.9.dev202502111738433769-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.9.dev202502111738433769-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 4fdb30e38e3725b8d669e3d91ab10c09d564a4d88fd64102a8075ecdb3deba8c
MD5 6e1528f63231bec78d7ad1fd968eadfb
BLAKE2b-256 0937252694d4eeb2d99ad8059bd78baf5b5b03e2259c1e9c0a0bc7911f6dc388

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