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

Uploaded CPython 3.13Windows x86-64

pyAgrum_nightly-1.17.2.9.dev202502091738433769-cp313-cp313-macosx_11_0_arm64.whl (4.1 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

pyAgrum_nightly-1.17.2.9.dev202502091738433769-cp313-cp313-macosx_10_13_x86_64.whl (4.7 MB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

pyAgrum_nightly-1.17.2.9.dev202502091738433769-cp312-cp312-win_amd64.whl (2.8 MB view details)

Uploaded CPython 3.12Windows x86-64

pyAgrum_nightly-1.17.2.9.dev202502091738433769-cp312-cp312-macosx_11_0_arm64.whl (4.1 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

pyAgrum_nightly-1.17.2.9.dev202502091738433769-cp312-cp312-macosx_10_9_x86_64.whl (4.7 MB view details)

Uploaded CPython 3.12macOS 10.9+ x86-64

pyAgrum_nightly-1.17.2.9.dev202502091738433769-cp311-cp311-win_amd64.whl (2.8 MB view details)

Uploaded CPython 3.11Windows x86-64

pyAgrum_nightly-1.17.2.9.dev202502091738433769-cp311-cp311-macosx_11_0_arm64.whl (4.1 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

pyAgrum_nightly-1.17.2.9.dev202502091738433769-cp311-cp311-macosx_10_9_x86_64.whl (4.7 MB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

pyAgrum_nightly-1.17.2.9.dev202502091738433769-cp310-cp310-win_amd64.whl (2.8 MB view details)

Uploaded CPython 3.10Windows x86-64

pyAgrum_nightly-1.17.2.9.dev202502091738433769-cp310-cp310-macosx_11_0_arm64.whl (4.1 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

pyAgrum_nightly-1.17.2.9.dev202502091738433769-cp310-cp310-macosx_10_9_x86_64.whl (4.7 MB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

File details

Details for the file pyAgrum_nightly-1.17.2.9.dev202502091738433769-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.9.dev202502091738433769-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 cb2996117423ffbd00be05ace23498fadb6b0510c95b6cd9dbf045c43b7d055a
MD5 ef10f304814555aaae2cdc8d835c41b3
BLAKE2b-256 519f9439866810234bf3e379d382bc06451d075376808f5226522b08cd42e94d

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.17.2.9.dev202502091738433769-cp313-cp313-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.9.dev202502091738433769-cp313-cp313-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 04c6f0d8936906d8f77c6c72c64e4912be0bfa41f6292d211f8b22c0698d016e
MD5 535809706e44709943cb35547b42c8f1
BLAKE2b-256 9226387b6b3ef1ccd56ae942d94873c8a205bd2d76cb4028421844ea595a6e8c

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.17.2.9.dev202502091738433769-cp313-cp313-manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.9.dev202502091738433769-cp313-cp313-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f72750df52051d1f55a054f40a53a95dbff638fca2c8ca4e01d6916424cfe2ce
MD5 3558b97c81db8ac3e0dce8513a46923a
BLAKE2b-256 11e5f9eb746ae919415c88df5ebeb567b1541183abe28d7fd0607608e414c8be

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.17.2.9.dev202502091738433769-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.9.dev202502091738433769-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5144136fe02b57adf3942d1535dbd28a80a8c7347ad1fd9acd08ec58c4f077cc
MD5 4e3485f817c424afdacc9fb46357c634
BLAKE2b-256 4da7d8fb7f096e749629f0d550c66f308194b288d6ac06a32260d79ce03f5f20

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.17.2.9.dev202502091738433769-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.9.dev202502091738433769-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 4c235bf550344667b0991e9617782af188668c278af3eb3e89c114b1464223fe
MD5 69a84c2d0d1f1d697b7d0075804769b1
BLAKE2b-256 0ae7e32a14efa32c5883ebfdb1bdacdf82ac78a135be3d7a713f41041b551fe6

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.17.2.9.dev202502091738433769-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.9.dev202502091738433769-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 45bf4648ee326c09f41c3842d0308262038472097804bafd51b5426d75c18eb7
MD5 3b26ae65b3070dc8910b962951d3e592
BLAKE2b-256 791b3ff0c4563f3b6dde9aeebef8ddbd1ce640c796856cd42622a4ee4ad3dc6d

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.17.2.9.dev202502091738433769-cp312-cp312-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.9.dev202502091738433769-cp312-cp312-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 72ee7c679a110f2fa7e0ba13e0a59ff071a2d81b8b324197a0235a5b74494c4c
MD5 7c71898d67c5cbcc9d232d7cecb5ff0a
BLAKE2b-256 73fc2c4d5227a7b719f05a262237523e39340fae13efef2776e79bb2c86e8ae2

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.17.2.9.dev202502091738433769-cp312-cp312-manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.9.dev202502091738433769-cp312-cp312-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 0cc74dcf6a590be650f519729b081567af00fadda9ecd15a7e2b825f01b933ce
MD5 db270b3323b3d2966b3f7a7532545b26
BLAKE2b-256 2ad73974ab9a39cd24b2b0cf2206ab6ea8a80ebebfd7194b69f05031a5c415d5

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.17.2.9.dev202502091738433769-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.9.dev202502091738433769-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b7182a8404c5ac232dbb4c03e80bd753785812b0c5c9c52292aeacd36a0d10f9
MD5 df1aded0a32aefa43f2862084c5f5f6a
BLAKE2b-256 5848c2396e6cde07d45bcb10481ffacc8c2c4a284a87421e40e4d644bc561139

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.17.2.9.dev202502091738433769-cp312-cp312-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.9.dev202502091738433769-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 c89e06db2b648e7e174c7ef3c6395e4cb5c1715edd9e5951325dbe9ccdf8fb5d
MD5 43428b97062158ee008ac85c787af8b4
BLAKE2b-256 f057908261f3212bbf957a6844e56c5d5f9e52587fc4f9519c595119a50e1b84

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.17.2.9.dev202502091738433769-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.9.dev202502091738433769-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 9af0c56ad7befd8e286069b507ebbeb36bdc2172415b392ddca7fd74752f635f
MD5 3c820dc7144c47991f704bd8490920f3
BLAKE2b-256 c75f7f5b67dab79dac4921846eca8aff0e22d6349af8e0b9b17c838e9a90124d

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.17.2.9.dev202502091738433769-cp311-cp311-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.9.dev202502091738433769-cp311-cp311-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ca559cdbfda23f93762df65e4840303fef2c7ae195f462c8219fa934956cafe6
MD5 76dd41b6621fa5cc25c42df2f2e2d3cf
BLAKE2b-256 fed5d02ab861cdfc253dc7c9fc37c6fdb610156d121c820ab7cb5bb9ee2572f6

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.17.2.9.dev202502091738433769-cp311-cp311-manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.9.dev202502091738433769-cp311-cp311-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d49e4587db93028aaf44d3ae9b67063a47b1c20258ce8220ab80ac4955bb4475
MD5 9963d7407c98ebeb1c779361e0c0c678
BLAKE2b-256 f40bc172edd5d4e9c69c0d32deade2f01b61073264262d57da121915b8cbdf10

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.17.2.9.dev202502091738433769-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.9.dev202502091738433769-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 daea1f1ee184088f53b220155ba26de5f9b51b43becd53132ff40c2d525f7c5d
MD5 1d5518196ff17bc31edc5266314d8cad
BLAKE2b-256 79f3c5d69260778271bb93384f29e6f0699e4d367cadde51585974bad8de093a

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.17.2.9.dev202502091738433769-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.9.dev202502091738433769-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 13a8feb4b98bd0a6e5c473937fbddeed5908ad8b32d70e75fbe0d9e7eab2920b
MD5 3a244b29750902c7e84e0dc7ca772b12
BLAKE2b-256 ff089d289ce0e586e3ac24d27a9615fe06b9552ea7cac04454168dd5dc5c36d0

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.17.2.9.dev202502091738433769-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.9.dev202502091738433769-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 35ef262ccb7dae9a1dc1802dbf6bb78cea86a392edc4efae694649984423d142
MD5 d37376a32085e9d17cc321ab73d04d63
BLAKE2b-256 c6c96defb503347753c03518aeb8c57e9cdf024708eebe1406bea9ebfbe14ad2

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.17.2.9.dev202502091738433769-cp310-cp310-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.9.dev202502091738433769-cp310-cp310-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fbccc7766a5a62c047837f3537b9eb26e2f9c52ac21724947cbe652143aec8a4
MD5 f364b2da74a48315c9c8fed18c8b6cb0
BLAKE2b-256 2e82e749d69c7d11d05f3dd9a50fdcc0c717929555e10bf970c7ab07a17a436b

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.17.2.9.dev202502091738433769-cp310-cp310-manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.9.dev202502091738433769-cp310-cp310-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 2ad25a4cbc5a7083c21c0cfba35446a6b7880b347ee525e9de28008971c71b02
MD5 2dff8668266c292d81e4105725744436
BLAKE2b-256 8554e795f660ee616e4b170fb76c9321d7d6c64b08ea79f9af8bffb5844065ed

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.17.2.9.dev202502091738433769-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.9.dev202502091738433769-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4b0f42b8431e14c96a2286414a00ca5d64285bdc454995844d08d4e301422c10
MD5 99710dcfec4f12c9be47132d9e02f4b5
BLAKE2b-256 b89e305e6f3ac8739c19c3eb7c74563294579f968a5455ac489527ece55c1cd9

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.17.2.9.dev202502091738433769-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.9.dev202502091738433769-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 648ed2289152cfd015396d16bdf4ae12bed29e4a22cebe6d2a8dceef7c861944
MD5 c48dbea08aee51ff5a1821be34215957
BLAKE2b-256 8f082c1bc384d15dfaf2d64c93a27edd542ad8057d841c5c14223b3c28156baf

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