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

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.13macOS 11.0+ ARM64

pyAgrum_nightly-1.17.2.dev202501031731932516-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.dev202501031731932516-cp312-cp312-win_amd64.whl (2.8 MB view details)

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12macOS 11.0+ ARM64

pyAgrum_nightly-1.17.2.dev202501031731932516-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.dev202501031731932516-cp311-cp311-win_amd64.whl (2.8 MB view details)

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11macOS 11.0+ ARM64

pyAgrum_nightly-1.17.2.dev202501031731932516-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.dev202501031731932516-cp310-cp310-win_amd64.whl (2.8 MB view details)

Uploaded CPython 3.10Windows x86-64

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

Uploaded CPython 3.10macOS 11.0+ ARM64

pyAgrum_nightly-1.17.2.dev202501031731932516-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.dev202501031731932516-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202501031731932516-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 75bd880f1acd02dc81dacde37387b943d7309d6aeb2b2e9d63e65ed8a3b81880
MD5 5d20de525926294ed2e956d50eef71f2
BLAKE2b-256 01560b16842f407937ed8d091b5302819674bf2650b25b7188c6bad8c59ad3d8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202501031731932516-cp313-cp313-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 dbcf23bac53edc479612482802ad1340bb9897ca559a4700337d4469be8663ec
MD5 596c2d145b7aedaae5eb1bad67d66ffd
BLAKE2b-256 e76bb890b3fb90ed713170977cd51652801c6aa601282cf8d900b170952bffd3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202501031731932516-cp313-cp313-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 5a19bfb060e8b79476c2272262ed954d9153a6f368f442c40ff60506c6e9c8ca
MD5 a821a25253b663c54915d7151806848a
BLAKE2b-256 218ac109c56e5b9c121d33945e22522332adbea71f96c7be98bce2ac7f336d8e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202501031731932516-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6ca0aad01eddae69d0903bf8752035b7a2a76fcf30402015227447ddf9947794
MD5 8ea794745430d6099aed14aca89b3633
BLAKE2b-256 4d8a22036a7d25f3f65484353169b5ee03a38eb90ee41af6d47accc7ed671f58

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202501031731932516-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 0a3855f6aeb0d91c828a9b380678e0d9cd1c077b2dd0d0d1a75075f4d84d5531
MD5 9da51f972f5c7935f07fee3638bf7cd3
BLAKE2b-256 aa8b292e4dc7908551ef036c8d7bf90d6565fe185c410098bb9fc3dbd24f488e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202501031731932516-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 2362dab8fe5f143ac711add35199eed3dbe831538f84690884b4f0532ef4c5a9
MD5 ff741b056a09f7c265e4ceede7a53a1f
BLAKE2b-256 aea1a92a115fafa2072f2f3caf7f54394f9ab8f3c7bf41320c5e315074ce59fe

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202501031731932516-cp312-cp312-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 066e4a8f7f57d72b83eb81f36c008f5575d7da0cbc816a34924b8cc0d1241d24
MD5 a6361ee873d4e100814090dab868c993
BLAKE2b-256 b039b011cda99a5fa4fd54fa039ca27c43c212927df7b7c0bdba0f3fb71f4ff0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202501031731932516-cp312-cp312-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 349835acb94b138fe040a50281c8b3e0694b231e895f17118c4d6ebc02482ddf
MD5 8a3c0fa83249f1425da8b9f9f994d828
BLAKE2b-256 ff7fe8a595d6790845b228b7ab0c999b5c9aa30c347adf0d3dba21d1070b7247

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202501031731932516-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 36fe806486bb8e1a1176d863070da27a33934406e4afbb8de178aca3deeaf3be
MD5 c20fa6f540515b324462a535f92529ea
BLAKE2b-256 fa5466d21fc6078ff18db8937f36f96b33a304440fb551712738c4cb30972fe4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202501031731932516-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 59c0891a7fe7f2110e3e00a384464967d6741562b17f70f7ebd82716ef7a6f89
MD5 6eeb09a8bf74158a6f5d75b7f94f177b
BLAKE2b-256 9f379a7a3bb1946112e521b0b9558b41de5fd855c2143fc7b52be92bb1e0f86a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202501031731932516-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 8b3521522075190435a7b326ce1174caf8e142b7e32ad51aca61afdc8ac6e220
MD5 3785a88163ad6cd15d67464e63be5528
BLAKE2b-256 7734393634795eadf4dde3e363a3a522336c7a3130c2988590e232633e74b7bc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202501031731932516-cp311-cp311-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1a2cdf05b6a203e937a2faa93d20a5eaa2aaa1a4311dfa1997ea7ed240a3f500
MD5 ec335e087e17ea3137a7bc8400cb0a80
BLAKE2b-256 8b6621327dce649a6d36415822652b733715dbd2d3c27ea7ebe42b594c2b669e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202501031731932516-cp311-cp311-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a8a0cb2b278918ce801cf113ed0c74e158fd50766b188a9fe138299e33f8d3b4
MD5 23f520b40bb48daa969b9a9863c1dd6c
BLAKE2b-256 eb101e4102fc32fe79ce6fc8d5369ece522b0f4e92651c210213f40ca2e6802b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202501031731932516-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ed9a8e9a4def18aea35ecc4f7161a67eca2251c3e98c3c21e65322e154096abe
MD5 2be5a276e350480693c05d4e116e1d6f
BLAKE2b-256 f87f4085af4783666b1751b867767e700d671f0057740b214b2a421c68e2a078

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202501031731932516-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 3f8394cd7330cc71f3a7265fc162b9c4bf92e423b017cf585fa686c53208093d
MD5 ab733550fa6b721705b30f09cbdd60cc
BLAKE2b-256 9cdfedda13b5a45a1ff6d4154a43e0fdcf2b4955fd8fa788091ac6f7359099ad

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202501031731932516-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 c02426dacfc5f921088fe48d247223e8f5ab78db5ecbfb89448aa7fd88bcb891
MD5 f9bd1f33e861ef03e2332a9da8f47e8c
BLAKE2b-256 33745b6501b7313a245e9c02d8e024694e73b6dea2f964d081b0a0c322e43ac9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202501031731932516-cp310-cp310-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5d5cb695c1624304abec9463eeca5c292d875ca7760be0cf6761f9a84b4f3bcc
MD5 52d16fd84c19ff046b1c576ccde77c86
BLAKE2b-256 14e8764d84f5f4452462cbb801e1a8be463ddcb0b207c184f92a1c15387a1c5f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202501031731932516-cp310-cp310-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 916ea59e792da00ea96dd427adc5f8a19fff831f3ef57ebed520fb384ccf1173
MD5 4c8e596d26938551e336437795a44bd8
BLAKE2b-256 ec387c3a8289568f1d3b0a7d3ae912f94fea2e920a945b1d8f7108b6585a685b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202501031731932516-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 cbce6dc282e4190b71c6db7ae4e303cb84006e5e67484c0db19129c5aca94ac5
MD5 93f23d781761fad29ea5f7f174b94d06
BLAKE2b-256 3fa23ef4eea44a5c132b1a5ecd8e9daf01f098b35cba8f2a4a213d8529968546

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202501031731932516-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 e0b2cdaff52eff94096a54d967ef2303a99c43a522a2c5d0a6e9e98956eee6e4
MD5 2836f473e561351818f4917cd8743377
BLAKE2b-256 229510a38ae609e5a5d64f548dad113778add9022dbfee7822d647e111c8b68a

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