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

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.10Windows x86-64

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

Uploaded CPython 3.10macOS 11.0+ ARM64

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202501141731932516-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 6c5741dd63085054c4565e5766bad3a3dc6cabd0042cf07ae1d167b126899e29
MD5 a082e6bd10e6c1a0e91d7fcb44a13e54
BLAKE2b-256 a044e48a37c4f3d33270ac5e87323d90fa2522b390dabd817c4d5b2e3cc8ec24

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202501141731932516-cp313-cp313-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f4aed2ec5a509a09cfc18b1793a49348dffb97452d8750844d6e1ee019392724
MD5 d11b80baf8d90ae0db23b040fb91faf9
BLAKE2b-256 1beb7d58c8f59a868a5ab71b0467bfae7a870d088f02dd22b4ef61bcbe3858f5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202501141731932516-cp313-cp313-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 6ea824414a2e6e71c0b8214d269e33c87a607e97d720fac3d0c0bc76a31ec25e
MD5 8cd2c8949cabb1c703b577f90838e1b2
BLAKE2b-256 f805483e8f65b5e823aba4d922d8cecaf486217516ec5274fd8bf98841e8f352

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202501141731932516-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5b3acfc91e22349199f3011d73311a7367a4264d3783625144fe434bf23198d6
MD5 f71d0771ad8a80a34a359f0aef37de95
BLAKE2b-256 c5cb90064f16f727bd1130d218fed3ded7c497f038dc03dcbd372008e1626c10

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202501141731932516-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 f64291cd88a2eb8c85b8c263a226487b8f06b8a6b7ae181ffdee3bafc2eb871f
MD5 c26fdb1c61df77b719550b9f56d230db
BLAKE2b-256 d8694207da6fae4da42546c4933b3ec088219414fdd44e049af3bb71746d1e78

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202501141731932516-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 dd55d5ef02c14aa7af2e4813a3252d25646d2fd8447bb27cd0750beb22c84d7d
MD5 9cff7d0d6d82f650c52c375ca15d7be9
BLAKE2b-256 c681bf1c713601b34bb5a6730e4440326353c4e2316b5b028ca5a48748ca898b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202501141731932516-cp312-cp312-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e5fdeef2084c7466ed84f08729a0c8ebdef14985d7c12bb39be7f885b41fd2c7
MD5 588737347cd979f1c61d589b31445066
BLAKE2b-256 04ea6662f285e7e7a493c4cba861d8dcc0b471c02e7c373d966ab644ddac1fd8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202501141731932516-cp312-cp312-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 db16c110706aea9cdb643eee3a9d083fbaa6e65f0fd0104faefebad65b898348
MD5 3a4d264fd9f4f9f6386f427b4cdef238
BLAKE2b-256 06134741d6bf21896007149a2e2ee399d60950b5b38b92af35fa0c64524cee03

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202501141731932516-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 12b0eafda2eb77fb097376ece7a64d3f4e7b0ac85a90c1b94554bdbcf15dfa2b
MD5 4a511102a6a894ad2d7f2a4b60015f15
BLAKE2b-256 a41cf48869ea9ced2e86904f1ffbd79ccdd06919297bc4949c7800bc81b22c81

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202501141731932516-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 79792caacf6b0cb957b3a620d5620263160bb82678f99edac38d3fc62b291d6d
MD5 8b194ed34c6716f3445e4d998bea68fc
BLAKE2b-256 cc17342e0340bf937f4fda8d1ac1330566830cbe6f009d112c2c831cdb96d010

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202501141731932516-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 368ac41f8fe7119d15e6a4372d8f8e32a94b5ce67c4c05cf5fe0357d5089b6e7
MD5 21f0dbb83b58767df04fbaf6f55ded08
BLAKE2b-256 d792f6fb226094725fded92e25e1796c11750d149336919782b89fab5e7fc924

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202501141731932516-cp311-cp311-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 805578d1b03b2d68df673a4bfa355fc03fbc1aec4dbfbc87f09618ef720708f5
MD5 93bcf902e4692cf9eb95af3be2855a11
BLAKE2b-256 0f2f12b15a245002586194c476c6d3ffa237c7d4f62df7b73bbb26b67d56991f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202501141731932516-cp311-cp311-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 48a0dc6e74a45464bb46b47dbc8ad8eeb1fd67683f52e1de9f7913c62d96aa6a
MD5 156df3cbe8f25a2047deec0e5415dd33
BLAKE2b-256 fa91a67533f9b6b4cd9f2bd251a5418ae3ea7150fd60dc9d9e7a7644261f760a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202501141731932516-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e13f3b2be6c44f357a639eab8d84e8e29760256ada3bcf52fde7ecf9ee267cdd
MD5 e88b18a1a2f00084225f03774e22978f
BLAKE2b-256 23224b2aa1d3d4382d94e6ca94b88e03024bf98a0e9d3252e0a9f4c3588b5c84

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202501141731932516-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 99d79cf27f840641bd247bf41a6eac3c3fa8849142bd4301df8ccad44c7a2a6f
MD5 60bbdd5e5b0a0bed4bed3691b3057b70
BLAKE2b-256 bd0b002f97e5013910e72e923dc0f2bb18db7e9b54d6dc50de63a8bec6dc75dd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202501141731932516-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 be4e92e1d7248ba7d14867a6b1725eb83e3365e05504bca0934412a7f00e267f
MD5 b68e080d764a1d28a9574c9b36ac3af2
BLAKE2b-256 51724227f16ff7326dfa5fe6ac50c624e3d94e61a4085843c0f16ca1b4b39e31

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202501141731932516-cp310-cp310-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9a8516802510890a3bf6120acba4bf2c0982de6418d11621510f6589a023713b
MD5 4f50d6c6037a666f53ab82dde346e856
BLAKE2b-256 74671e0e00a488391fad4c17d9f8ae8d79a192c02aa9238ac94f989fc7fee670

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202501141731932516-cp310-cp310-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 aff7a6be5d9d902c5bd747cd6d5a4aaa462e7aecb429fc71b30c412f84da88a1
MD5 ae970ac2d1f0884176dd932f7fb94b8c
BLAKE2b-256 b4c98cb0d77dc53b6d98c8bd59bdc9e55ad999af181ae222993e007958086160

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202501141731932516-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 344eb9471d378c6ea10b8d8da21e6f84028b44f2d486c7ac8a2671d91a58d8ba
MD5 061729aac986afd2c9cbe5607e635191
BLAKE2b-256 a4e6935bb5f8882ffc72df884de1cf19bc1242146fb1ec9fed93a5f58ad2aa7c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202501141731932516-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 cb68fc4ec7841badc53526cd2c53d19cd39c8e8e126af6750b4d11f1cae14ba6
MD5 174793bccfc19674a4751861b4e81942
BLAKE2b-256 e36fa0263b637468dcb7ae6ab20c773d2a71f099109a160bb35c8bb0d3cd137c

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