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.dev202406281719384100-cp312-cp312-win_amd64.whl (2.7 MB view details)

Uploaded CPython 3.12Windows x86-64

pyAgrum_nightly-1.14.1.9.dev202406281719384100-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.dev202406281719384100-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.dev202406281719384100-cp311-cp311-win_amd64.whl (2.7 MB view details)

Uploaded CPython 3.11Windows x86-64

pyAgrum_nightly-1.14.1.9.dev202406281719384100-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.dev202406281719384100-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.dev202406281719384100-cp310-cp310-win_amd64.whl (2.7 MB view details)

Uploaded CPython 3.10Windows x86-64

pyAgrum_nightly-1.14.1.9.dev202406281719384100-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.dev202406281719384100-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.dev202406281719384100-cp39-cp39-win_amd64.whl (2.7 MB view details)

Uploaded CPython 3.9Windows x86-64

pyAgrum_nightly-1.14.1.9.dev202406281719384100-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.dev202406281719384100-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.dev202406281719384100-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.14.1.9.dev202406281719384100-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 aecfcb5232e7abba4ca62d7d38af9752c0c98c3e0452eb6f083b1bafab8eefb6
MD5 19298d6af302c064577f3b0c414a4b92
BLAKE2b-256 1fe89bede529c874a71b0eb7f5db8c12299c3b5cf06ad855ff881d13768d28af

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.14.1.9.dev202406281719384100-cp312-cp312-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 094d1818a22b3bb087cb53a97e043fd4f6a49380d8456264a3d24c3957daa1c3
MD5 86867107cf8f3085ee2ce5df3940a6ca
BLAKE2b-256 a69f701b288af77c7552eae3f4f8d67678d860359c93f93c54ca407651b79a4f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.14.1.9.dev202406281719384100-cp312-cp312-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 88074f2ec05252131db562e4e9c095649030e7e5d86f89496187e8d06bc5cc90
MD5 6f11d530cded88727268e2a6601a2079
BLAKE2b-256 81bebb0f5cd472f2e6901baa656e5f60469c31e099712d4e5ecc6a293b726fa1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.14.1.9.dev202406281719384100-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a513755dc7b0b4214e96f501826e3d3df627ce0e129ecf8b10e9746edcd26580
MD5 67c6aba6579476472069b8fdfdc5b31b
BLAKE2b-256 616c225d166b889c58bb5db3ff4fd9f683a6f3fc74a0f00a1dcc0ced2b533fb3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.14.1.9.dev202406281719384100-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 e157a33f63aca6dfafc427902a550053fe4a5a40e3f1981c9a64f3017347e02e
MD5 7697ea04d081e5e25f89ad6bd694a48a
BLAKE2b-256 d373e5b75415a7e8c72238c0e665fc35aeb28894d49a8aac04f39d7e02e7971e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.14.1.9.dev202406281719384100-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 26cdf3e1f947f40fead9d9beab88ce9b7fceb80ea607105c89b853f9f89c055a
MD5 7cfcd654d7ef355587e9bbf32680c027
BLAKE2b-256 86fecd181762a19bedea4b5b5aaeda2114bef49dfd4465ad49ef1066006a8bdc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.14.1.9.dev202406281719384100-cp311-cp311-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 03aada57164ca6f6c47dfdac7049ab411b24e0facbe1eb3f433c640e67e2a6f2
MD5 27d58fed47cfa5f37c64a3c76c9be971
BLAKE2b-256 4985c7370ad586c66c2cbeacbf77284d463dcc9bc8633cd22ac251f5cf863a88

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.14.1.9.dev202406281719384100-cp311-cp311-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 4d56908402c06288c59f6c21090aca26f8e40258ac1d196ad563cf9aa185951e
MD5 2e3674413bfc7012b250a86ad6f4c39d
BLAKE2b-256 d9abb73c0e4c3f6630ad96f407924e0f3e569ff384cdf7613da38dc283e119a2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.14.1.9.dev202406281719384100-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5728bc133f6458b95f64cc1c162cb826ae97cee8419bdd05f9085b0c55e91bef
MD5 280ecc4bb44a294a28c64fbd162b32bc
BLAKE2b-256 e5c4f5c2bb313dbdd8a95df90e8d96577f8fb20e98035ffc8ae5a9ea86ce4799

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.14.1.9.dev202406281719384100-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 1ecf317c7e36749ae36b0aaa79a37c8ce5865ca0a03d466b7ddb2093b47e2d67
MD5 a5a667a79a93f7ec7bc37dc451f0f658
BLAKE2b-256 1b31d32f567d922978c6f79c729288a929c8fe58aeb31d3a713459a6d5b7dfa8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.14.1.9.dev202406281719384100-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 69763a132d7104d480bfd45031b91df08a44e8c44c97e0b1cf645c96e162ff70
MD5 9b44e18d100e14ef533dc37454c0071e
BLAKE2b-256 a61f51c996e7908424e2c89126cadb197d1538367279f1bd04f506de30d90f9d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.14.1.9.dev202406281719384100-cp310-cp310-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b68c3baa8f6d560918ebeb2f5dc47b5fde59fc4bca1437899acfbdea7ca1b215
MD5 ab103ebbda3dfa0196668fa831edd950
BLAKE2b-256 0e6880965293b6358eca62a9f69d29794ceb034fe7325f016f9a0267807b1052

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.14.1.9.dev202406281719384100-cp310-cp310-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 781987673ada2f65960ad92da2bd212f9735bd1b402884080a43bfb53289a130
MD5 4f53290b9b415c91f261b19ab31b58ea
BLAKE2b-256 8b79b57f205fff73ff521be0dee92787a01ccc1b36e3f6cb7ae933ee9bed50b7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.14.1.9.dev202406281719384100-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b37618432e57d998e6e98dd9612a74639831968826c81486b0250891d268a6f3
MD5 de464a1e9b90d3a1daf5307cc0619d8c
BLAKE2b-256 d2e131c15f0aad200d0ce239eb8071fc5ae365e100e7c6c1dcf8030fc7354108

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.14.1.9.dev202406281719384100-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 ee056b130c5fd96b8854d3e0ed7ddae78de94c9390aa3966cbc07e3e48ce4245
MD5 133b4c418df049d045d3a4ad2ef54dcb
BLAKE2b-256 d5922301c33a882a9b8234ea3771bf9ef588afe107847c9d7664afc4af87d365

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.14.1.9.dev202406281719384100-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 d699a56b5a1ad53f7aada8c7d8c6a0dd17062f79f2d49a41c3a894685c4a96ec
MD5 cedfa89c55309a301b65af503808e08b
BLAKE2b-256 dab61d8af5cab2fe05103646bfdd477e324a6023b3896dc845ead43a7a73b328

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.14.1.9.dev202406281719384100-cp39-cp39-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2b13f487268781fa36e64dbfce87b5caede0e647d641548d8945dd83f94ee7f1
MD5 bb54a5c8118c1fd79e972f305b5439f7
BLAKE2b-256 e6d0740ebb48ad78cd63978600c3f90e0d09c59c8cac6a771a082f66367d7a13

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.14.1.9.dev202406281719384100-cp39-cp39-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 6296c1272f88a96b56f71be471ace3630cbf452775cbd5cdcfe39cd98f70f194
MD5 444b809437d3ff2a00348461a9d9b34d
BLAKE2b-256 a32b9c1d95f14cc22d0004b69a1f9f54462bef47f93bd98f7233ff055ca7da8b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.14.1.9.dev202406281719384100-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bda952a49499b3bb10e50e23b526b92e788189ee5eb9e55c888f787fc9440cae
MD5 1fe5b052610e22c00d72ea7aec327e0c
BLAKE2b-256 f6b06fb22290a239b9f4a2ecd567367eeddd367394dc59a1ffe69ea55db2ee5c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.14.1.9.dev202406281719384100-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 916e8435f1f14af0d1387a77779013dbb9c0bca35560f0dc9b568f5a48bd4f0d
MD5 69491e80b96033ae15b04e059e310df7
BLAKE2b-256 17bfc7e0c01f70ff3aa8211f453f268c2aff99631b3182c823fe8b7fab8974cc

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