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

Uploaded CPython 3.13Windows x86-64

pyAgrum_nightly-1.17.2.dev202412011731932516-cp313-cp313-macosx_11_0_arm64.whl (4.3 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

pyAgrum_nightly-1.17.2.dev202412011731932516-cp313-cp313-macosx_10_13_x86_64.whl (4.8 MB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

pyAgrum_nightly-1.17.2.dev202412011731932516-cp312-cp312-win_amd64.whl (2.8 MB view details)

Uploaded CPython 3.12Windows x86-64

pyAgrum_nightly-1.17.2.dev202412011731932516-cp312-cp312-macosx_11_0_arm64.whl (4.3 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

pyAgrum_nightly-1.17.2.dev202412011731932516-cp312-cp312-macosx_10_9_x86_64.whl (4.8 MB view details)

Uploaded CPython 3.12macOS 10.9+ x86-64

pyAgrum_nightly-1.17.2.dev202412011731932516-cp311-cp311-win_amd64.whl (2.8 MB view details)

Uploaded CPython 3.11Windows x86-64

pyAgrum_nightly-1.17.2.dev202412011731932516-cp311-cp311-macosx_11_0_arm64.whl (4.3 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

pyAgrum_nightly-1.17.2.dev202412011731932516-cp311-cp311-macosx_10_9_x86_64.whl (4.8 MB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

pyAgrum_nightly-1.17.2.dev202412011731932516-cp310-cp310-win_amd64.whl (2.8 MB view details)

Uploaded CPython 3.10Windows x86-64

pyAgrum_nightly-1.17.2.dev202412011731932516-cp310-cp310-macosx_11_0_arm64.whl (4.3 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

pyAgrum_nightly-1.17.2.dev202412011731932516-cp310-cp310-macosx_10_9_x86_64.whl (4.8 MB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

File details

Details for the file pyAgrum_nightly-1.17.2.dev202412011731932516-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202412011731932516-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 f98c3942ff987d61b22e661235d220405311a18d92daf431fba0aa36c31b9838
MD5 362809df3c923922f2f438f8d6014746
BLAKE2b-256 f82fa2792eb160457c164d54a4de5e008551e36ac5c6621d3ee0f12a0c1579ba

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.17.2.dev202412011731932516-cp313-cp313-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202412011731932516-cp313-cp313-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 70db359eb99478c5532136d4436893688a957ed375a5a76175ad3000a8dd7990
MD5 207fe3c571e850b2417a0ba4b2bc1191
BLAKE2b-256 94438d39cf44b5568b12888380e36bde2bc6c0fbc6cda3149d0e2882fcc706cd

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.17.2.dev202412011731932516-cp313-cp313-manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202412011731932516-cp313-cp313-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b93a42d20fdac942b0ae6ea02ed11d702399be5656f608149d729cc5b2042b6b
MD5 a472856c327d377139a3346e8a590c34
BLAKE2b-256 f48cd287fd00985c478aa6868dfe323778a7d4b3529dfb1a1b93417d122246b5

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.17.2.dev202412011731932516-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202412011731932516-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5777a096fdcd03740c47be0c16a58f8a46fc69508875decab1acfc7b6cab9c50
MD5 cf9ba5731e0c558af232896e64747b2a
BLAKE2b-256 c84af4b31ccfcdf8e25c12dd6f0360ab0683f4928834a31f0834eb3c2fd9e6a5

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.17.2.dev202412011731932516-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202412011731932516-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 c475190053b88f1e69078a613475d3726940a6ec2143141af2fa9646bacd00c3
MD5 4c56ac789a8c8a67c260322c4096bec0
BLAKE2b-256 5b528052dee7dc3359bd3bb8fc28dc121e69034706d5f8872aff817a7d86bd1c

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.17.2.dev202412011731932516-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202412011731932516-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 0779bd8a3a90140a88c65d6a7b257e2d2162250f9ff8098e6ab940bd1c4a3e4a
MD5 17e735c2baaf50222804c65d710012fd
BLAKE2b-256 92e6e26e44c756eac5f5f7d91bfd73f8b3f877f8ecd0dd82f8b2c1e0861e09ab

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.17.2.dev202412011731932516-cp312-cp312-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202412011731932516-cp312-cp312-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a902842f53e5a419115e57dcc70567679c3409b343e063b71355ababa3e41eae
MD5 afb82ac9be5fb2565c274f2a3cbee851
BLAKE2b-256 326776ba4e86808e04b3868d5d9d9fb6afc612e69b7de8576bc0f477181fc6ed

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.17.2.dev202412011731932516-cp312-cp312-manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202412011731932516-cp312-cp312-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 04665b543080128d91020e87b7c553d7dfb2335273a9b1a8ae8feb3e77e35574
MD5 1177e4baa397222e8c37150a7cbd8365
BLAKE2b-256 81183ba3f8684cb7bb96989be574181a495619add54753a740440d5f06387638

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.17.2.dev202412011731932516-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202412011731932516-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6dead0afd6a1146efb8df601833ca211468e5667b1ad31d02f4e4503f8d72398
MD5 d9b7380df88c93735c6feec21b4c33f7
BLAKE2b-256 fdd57964146d5796153262b8d992fa075c64e8cbd68706cb94a63bb24c5e8d5d

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.17.2.dev202412011731932516-cp312-cp312-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202412011731932516-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 1344347792b15679d89a09b92655e42343429c99eb1584929f75a2dd8a8f0642
MD5 9907413e309699dd00ad5f0681c2f72f
BLAKE2b-256 a5ac2f91878268d6a460d03e3403a97c56ce8fdea5056fce2f29b9d734f0dbad

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.17.2.dev202412011731932516-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202412011731932516-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 1e1599e5ed017740215f311899db6b48e1bbe62635991c1e88cf6c2d24be662c
MD5 726a008940b681aad7849834be50d633
BLAKE2b-256 9d1eeae3b7af1535873b5a80544deac6b7c218ab63426ade012db6bd00883c0d

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.17.2.dev202412011731932516-cp311-cp311-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202412011731932516-cp311-cp311-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4867d10b2f56c5cbf01fc7531b2fc5eca277957b6380ec5533e320f9a4a3ba11
MD5 92c8edfa3812029cab95ad314a1f9293
BLAKE2b-256 9a7f31ef3b3e57a2fcdaf8faa3317e0fae398167bb28cd05389d8aac9c053533

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.17.2.dev202412011731932516-cp311-cp311-manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202412011731932516-cp311-cp311-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 fd9201f09591c6c457079eb1ce1051ffbd205f507b54a8a37d2be6337040dca8
MD5 f04fd92418dab7ad7c21caca73b0bfc0
BLAKE2b-256 64f20b527fc70cc44d839a01e2448cba6c17c77369651984d06822eafd1f7a2f

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.17.2.dev202412011731932516-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202412011731932516-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bf6de8a91bcfc3060727bf1aa71edb67579776da2e3bd43e0d11d7a00475870b
MD5 26ad74e8e1d1aa34304a9fc3eb310b20
BLAKE2b-256 b00cee8532980d72fe1008b29d8c1cb9694c40dd3abaa96d2e74f8027bd389d9

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.17.2.dev202412011731932516-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202412011731932516-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 cd164469dced158f5fdf7d5db248cf44a7090fa3ac7d3ab56abcf7ba02a57f7c
MD5 b307118f08ab81398f31a1fdd00a9265
BLAKE2b-256 6534b5ba076e6d04a2a7a34ee9293c20e2ed880d783667fa3728d155412f73d7

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.17.2.dev202412011731932516-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202412011731932516-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 aca3b621d4ab4f1e4fd3ecb3c27b696cb5fd6932569974c945fa44445d3dd701
MD5 81d503943845cf71263e04fe1cfe769e
BLAKE2b-256 1160192e5981aa8a5de7d3c10a03df12a255b78d11afca13333b80b230bc90fa

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.17.2.dev202412011731932516-cp310-cp310-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202412011731932516-cp310-cp310-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 88f13aed82a117e538cc44293281ff5412286b66f6837d2361bbf3f2a5f2d349
MD5 5af38327f2839a8b6381eeef1f8935d8
BLAKE2b-256 dcf30424ab281908d3e0d80fbd88a09084dd3be6710b3a5337e2385d7656e2e4

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.17.2.dev202412011731932516-cp310-cp310-manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202412011731932516-cp310-cp310-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a9b0266a3f89cba0fa475809167273c7bc51e0d860193cee72892536d93db8d7
MD5 0c9e7098768104b973ba6e48e42087a5
BLAKE2b-256 7cac90a42cfdd803b654162927733c00a2d267dbff921e6cef338e7416c912cb

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.17.2.dev202412011731932516-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202412011731932516-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3f6b45ed7e44a05a0b812b0332ff77dd4c3a3010ab98b4b931b676b7f94f7c41
MD5 94feb6249c56adf80da98491c275fd19
BLAKE2b-256 7ce2c184a2609cac59d846c71e1f81f54234e9c8e3096e549447fc1b440e4e81

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.17.2.dev202412011731932516-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202412011731932516-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 5ebfa6f32037a17103f04c6e99ecd3d183dc3c57b54125a8cb52d273cda052d4
MD5 21883fb8b73cd5dabc5f69bb5dc8a25e
BLAKE2b-256 d162176d7db6205ae3dfb9f039135bd7f8d99978fd712c7a721b4cfa67f9b958

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