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

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.10Windows x86-64

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

Uploaded CPython 3.10macOS 11.0+ ARM64

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202411281731932516-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 590075781a5e80680e1b6df6f8f689e2261191d92fece2f05939870085b0c0e6
MD5 56b7641a302905c791840f15b49bd6b5
BLAKE2b-256 3310fc8807e9f44bfed960e0b260d7c40660c381d67ca3c06186f91f4ee3f90c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202411281731932516-cp313-cp313-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 692e84bdb0f84a3d4da6fb085c785adda74177e0934018f0e3508c39b251210a
MD5 d397e618777bdf186219ba17d829f1d0
BLAKE2b-256 f14cf2e0d5d5e899e85816631e15de673811953c5f7183cdb578f58a2d4ba246

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202411281731932516-cp313-cp313-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 99b3aa6263e8f443044d6abe386203f0b3bb3bda2404277f89d6ec992de8e3df
MD5 e71d26a764383ba947c374085095dcdc
BLAKE2b-256 b899b30cc79b1087c3b3ac0adaac4c44229ae903f20a518d0be90d5ef5737605

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202411281731932516-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8b79fb3fd6752814a02b69a8c95a418931d1a6d5f0e819eefb7d78eb20b8919d
MD5 0a691bb58a1c8814dfd3b8c9642eb3df
BLAKE2b-256 7cea1a9558e8ffe85ea9be99074b454fc8775cf6393f296545cc4d483cc70c0c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202411281731932516-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 b8b1db2906f7a58cb87579900e6ad82426447fc43212b3fed5f05fa54b9db4ec
MD5 2aae072ce5401b9129ce54dcc0f48d6b
BLAKE2b-256 d22279c29b42ece348b9fb307d826cd05109f3049950f3e40fccef44d2b242c6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202411281731932516-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 be26d1639139ce3ed5bd14512de068a6ac51884ebf39e130a3e6b410192ae0a0
MD5 1f328547dc3aa41501a5b0dabf6bc35e
BLAKE2b-256 1e79f692cdb7dbe3dcf0a2d039126055c8e6bce808c4b5c54852f59afa9f697a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202411281731932516-cp312-cp312-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 683b8963a0ba1346e4d0f5e58a28515ff15f4efc508d4bfda5713048e723a6e3
MD5 cdc939bc2e768ac2b3326fa8f4365240
BLAKE2b-256 5a77df3aa256a807c44b772cbfd0e4d038e154b84a8c32ac981ab369fe4be78d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202411281731932516-cp312-cp312-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 da343ec2bf36b62a709bb84d6a9e31baa9d3d47b7b9616917d69f51e26d6f592
MD5 852430fb6d0e48c168e4e5f5fd54155a
BLAKE2b-256 70b7a14ac2d13b265f40302edae038f8c47aaa91032475933881f730c7b55ce3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202411281731932516-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 274801059279540aeaa3f2edb98bf9dc045d6169168e0d774e0c3c278c71941d
MD5 7d1f7022f1b270e57705a9f4ee032484
BLAKE2b-256 80cc60d4935d1f4163ebe346c989d15aaeef1b6528e55490270ee2dd07f3e2a5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202411281731932516-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 2927dbfd5f98a1a07f8169efb0875ada1f026f903181dc4667290e656bbe9765
MD5 6812bfcea6a69e867746000aee9023e6
BLAKE2b-256 35af42fd6e589c94e6f575b807a15f11ca1b57d515cceef4807ad0b216e3ce62

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202411281731932516-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 06331547533926d22c6aef9c4feb2fb8c0b160e3d9f9117e74f32354ee87a370
MD5 24961ce4d8825f10c88183612cdc3125
BLAKE2b-256 d7b54c9b96e2ae3c9205b47c19c22b95019bc8c3d0050bf9ffd81fdec76398c5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202411281731932516-cp311-cp311-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7ba77d7f9823c4f66ebe945047cd1e3547782a3e11ddfa357114836c37f43a63
MD5 0379552795073022034f5a04f4f61860
BLAKE2b-256 5c1caa57566c800647e4cb4a107037eb933ce8e4bc1eced41f78a58ed60c46dc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202411281731932516-cp311-cp311-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 906c997204557a702674145bdc4e7614ef7807fdcf08a6330b95a40781610334
MD5 faead6ca9f902610c040f1293f0c0c8a
BLAKE2b-256 66a477ec173778ca293a42678cf2a5cda27209adcc6ccc0709a269e55c7b104c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202411281731932516-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4029c55010c955776236b5122f7255ac2e18ba0215e0bbc93c46ce5184863cbd
MD5 d0702308df4ea1cdfc3fb242a0e2fb32
BLAKE2b-256 d4c9c7085aee1e82462cbb27b70c65deba339f9f0f56f5158651b5b00256a257

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202411281731932516-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 6967a39cc01ea1c8bee72bc024286d8f1118a64368b098e5dd90933308e0e12d
MD5 6af04b889ff6bcd82c74ead0354fb08a
BLAKE2b-256 82b109694456fc7b158d647f4a8875086836d7b1f14648c39e9105fc15805c66

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202411281731932516-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 c9064becf5e68393b5e23a8d957dd99367ec77383bda734cf35ce5403385e2f5
MD5 a0ca405673c0f4b92076b8c5b2163a2f
BLAKE2b-256 41dbb8abd56bff5f396d6e7c4d8c1b96cec1b75e30b89141bbf478ace54eeed5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202411281731932516-cp310-cp310-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 be7c82c11cd14aa241feb6b20769cb9dc68e59480c525add4a64ba04b2a93730
MD5 2836af9603db36135426513737a358b8
BLAKE2b-256 67d6afd3e45a8bf6fbe6b83d90e50985d61bf782dc2f3bed17f09338a9fa8bfd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202411281731932516-cp310-cp310-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 ff9470fb56f1a273b7888643964b925068ad44e2fe3839f19749ddf34ece8d90
MD5 16027c6e7a7287e6a76b75d442a72f75
BLAKE2b-256 30bffd97fa463344f5fb6f680ed5d0ca2d63809a9f14d26d9e0afee03d7baea0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202411281731932516-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 91c04a92f77dd1d1fa5c34f57b893d9b07c05dedf12031fb540e7a1ba26599ad
MD5 1e88f137bdb584ef5033b7a55c7eafec
BLAKE2b-256 6f785fbde8ca32075f19c4225b580e6c0a779d0b871cd4e86b5feb902ebb5939

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202411281731932516-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 dec3e4fa0addc55b0a181c3cbb31be644a519cfebf959f13d0579ccd3035ed91
MD5 ccf63341fc427c56448819210c7c9ea8
BLAKE2b-256 faad1a43ae50ac9cbce44d51fbc65396cee0d722cc2729da5d963a4c2afb626d

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