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

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.10Windows x86-64

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

Uploaded CPython 3.10macOS 11.0+ ARM64

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202412161731932516-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 5aeedefa3b5b8a4e4155055d3d7d31fc4f2ef53243c4f2ab9ae8ce84bc036404
MD5 555ba9d0b6c0a0163bbe945c2287a8a9
BLAKE2b-256 1ff217e26eebf17b90cb689400805e13f115818593437f2f8275e39f40c9fccc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202412161731932516-cp313-cp313-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d1fece0ec61bf972bd6bd8a34c6e6ee46ea38bee2f86acc99c517a33b5f63054
MD5 f4ad55fd83be0af08412da434a6b12e1
BLAKE2b-256 4932e212a3469ffe8a03d4902b253551104c540c55ed3959b40ab94db4d4d8a6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202412161731932516-cp313-cp313-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 87a0ad158177eaacf8d40b9679728c57349f643c523b31cf67739430ef56bc4d
MD5 0afcbad6f52e2f08e155685b04cddd6c
BLAKE2b-256 3bbd47a497efadfd8d1c5c9741bd117f6a8d9ada26273d30c9e36a646d06a08d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202412161731932516-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b3019eb21c56fbd16cc2c7fdfdb33b6c8d81e72ba61e0b56ecd7ea2f7b182c25
MD5 01aed515fe312fb08349849936f6d0f5
BLAKE2b-256 a87d1e855ecb1597e4128388830cf48f6de67d6292ab3419245c59aa3b812497

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202412161731932516-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 ea0a52738df533b9d24121ba48079e1652a5e76987763989f2e890f4095cbf43
MD5 b1866d19af03a4502e86e4faa4248272
BLAKE2b-256 f1e54fa8bbdcd93b309710246d1a3f2f61bb5b43afa25d061cd96475577ac22a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202412161731932516-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 4032d78a63480a1ab06084fc54f10b004c4d21e23539565c43470e3c84e46e4d
MD5 2ca26bacadad29e676e55578af4dbb82
BLAKE2b-256 e4cf4b12315b5f666fc89e0bba140fd4c88283f4f76076ff60dda2578fc47c92

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202412161731932516-cp312-cp312-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d938a0b9764cb0fff9286daac028f9be2eed5ab1889a9d35369812a7125b074f
MD5 2746bd0763abef9b40dd1d82e4034de9
BLAKE2b-256 b86ed4ac5fce88ee1e471901a8f9925956d322044374ad339c3a1b7d19790d33

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202412161731932516-cp312-cp312-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 0bfd5f31dcf92384e85ed78242733b2ab120ff8d34329ded38cbb87f6dfafc01
MD5 42d5df1dde23f02910a4e5f5eafe4f1e
BLAKE2b-256 cbe22fdda654ee43e733e37d3489b42f216eb26708a9b10a483331cec9f89f00

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202412161731932516-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 790961a8bbca212bc1a2c2e8feb882966195ec03a7d78500d2a3d34a5c269b39
MD5 8aba1bb73e89eb91673cade57be1abb2
BLAKE2b-256 eb0e0a792e533dcee7c2f253f93a777d8c6ab60cc9d3f514a2ac679f41338455

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202412161731932516-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 95e71261db7ea7a8d85908531f3a441590ac82f311b9a062e96a00d4a2809df8
MD5 b7aaac4a4f46e6b81c4b2af3037d4b38
BLAKE2b-256 319cab02b0735cd53e80e22b0633c8a7b4d4e19c550785716e066a787e9136ac

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202412161731932516-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 d22c28b1dd35530a6bed0897ed8d7657fb97ab0a1e315e3656c8d43ab7e6ecd0
MD5 fb10a2953f3b3d606a96760ffa3084fa
BLAKE2b-256 ee57b02a9534812b688a8525ffe3103d2ed8278d6b6d6bb37d4815d1ab74cf0a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202412161731932516-cp311-cp311-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6cd67c6ab7b69456ebdea0ae5ad0cd713de16644879ffea0e22b9bb5d345d934
MD5 26f36f71be6be760ab4c8b4d8dbe0956
BLAKE2b-256 8a2d0aaa6c082e78c816ae4ac6f8fd13c7bda29abc4d6ea845dfe20b56afe024

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202412161731932516-cp311-cp311-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 4d4d17d6c4389dee7349f0b5a61fde0be3a052cc6ae8d4ebca53ec4e5951ea79
MD5 8e9211d23aa76533c4b4cca322e0035b
BLAKE2b-256 764e59706f8ea2489a8ef37cec8988124f37150434b655a5676d4e7bc724beee

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202412161731932516-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 374b056ed4124f70b4109b7ddedc9b021b6671151210bbadf05b7d49491cf5b8
MD5 07683b3fe7d825dc212df363f96bd557
BLAKE2b-256 6357361583e1d264446d7bda0aabb9f6ad47ebdf81538bc0a4197e51c3143226

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202412161731932516-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 bd44d8cd71ad87d7c1dc9fc5ec4ac2f85e3a6f39b0944c2f2ee15b6395d2ef8a
MD5 d0722e9f9b0cb26348bc13cf695a5158
BLAKE2b-256 b52ec2c08994edceecf939b1cbc1c583c8319ba0e08e86f53634f0e45ea465de

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202412161731932516-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 3d76507d865d7f4b57e41d4005032aa39e2f4eb1977c4f6ba7c9bc3db0f60bd5
MD5 dd20124dc6ce7569772e4833136492ba
BLAKE2b-256 1aa4bc3ae71e7880daf874d5b1e38eb239a612e6d797eccee3d5dc048ca47c80

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202412161731932516-cp310-cp310-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 86debab2af34a92e351d89f6f531f6755005be740c795c8397bac3ce7cc3ac76
MD5 fbbb348ce9f1e63aeea6f3bf4dea0f4e
BLAKE2b-256 6c13db5e3b7bfbdca2852cbd6f5b3317c66ded9f39234d97abea344f2cbfed25

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202412161731932516-cp310-cp310-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 2273a734860359f893e4d87538df3c6ab31a54b39a17a21ecff43c1aa44f7245
MD5 efec1644da0221276f0e17fe05ac039f
BLAKE2b-256 1f86a706f2492367332723c00bd30248058eda3b2f33e055bc36471f051611d7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202412161731932516-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 688ad9d1ab5028385973802c7ab4feb931ebd311ac91db1114994c2c3362e82a
MD5 3256f28f7987fea15e8fc8209587797d
BLAKE2b-256 446d786e50b61bf590c6f3ef1c6132023263fbf2972d4d7e3147a40a97f48b62

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202412161731932516-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 a90c8eb32fe5dc90cbf93b76d56a6392b30ef1de8bf2f2ced27d51ab7ae7fd5d
MD5 a30778d8feb622848ea495f73dd8bcce
BLAKE2b-256 3a517d5073e60ec8f1f9ecade891d73dd0d2ed9b89505840c3fd37f0fb1eabac

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