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

Uploaded CPython 3.13Windows x86-64

pyAgrum_nightly-1.17.2.9.dev202502021738433769-cp313-cp313-macosx_11_0_arm64.whl (4.3 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

pyAgrum_nightly-1.17.2.9.dev202502021738433769-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.9.dev202502021738433769-cp312-cp312-win_amd64.whl (2.8 MB view details)

Uploaded CPython 3.12Windows x86-64

pyAgrum_nightly-1.17.2.9.dev202502021738433769-cp312-cp312-macosx_11_0_arm64.whl (4.3 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

pyAgrum_nightly-1.17.2.9.dev202502021738433769-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.9.dev202502021738433769-cp311-cp311-win_amd64.whl (2.8 MB view details)

Uploaded CPython 3.11Windows x86-64

pyAgrum_nightly-1.17.2.9.dev202502021738433769-cp311-cp311-macosx_11_0_arm64.whl (4.3 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

pyAgrum_nightly-1.17.2.9.dev202502021738433769-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.9.dev202502021738433769-cp310-cp310-win_amd64.whl (2.8 MB view details)

Uploaded CPython 3.10Windows x86-64

pyAgrum_nightly-1.17.2.9.dev202502021738433769-cp310-cp310-macosx_11_0_arm64.whl (4.3 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

pyAgrum_nightly-1.17.2.9.dev202502021738433769-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.9.dev202502021738433769-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.9.dev202502021738433769-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 2305381d4cfddc29e38b4671ee07e2dee37b89ddd07ef778b919edff1f4045c9
MD5 f4738c0b94680221cb24c50f25ad907c
BLAKE2b-256 2847fd3cbde00d8d7e30a1edb1f07e4f3d4be058e824b86281e72ec68d113507

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.9.dev202502021738433769-cp313-cp313-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9d23c05d849dc5776f08ae1a1f881ddc157f92dde4512ac2ac4dc6e0b703dff1
MD5 7c74c1dce3b6d0676a09079a3910c7b5
BLAKE2b-256 669443ec1aae5c002931d8732baf16c4874287091f3e39f00a0cac5eede772c9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.9.dev202502021738433769-cp313-cp313-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 6444246baf23ebbc57680af52fdb1e18491a74c3cb654db6d925f73b63c0110a
MD5 87b55120c790cf87809691d616060ff6
BLAKE2b-256 fb213af0d217bffe2ea30a4e4cd0e57005924ddf13160c248ee63bc60c30f523

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.9.dev202502021738433769-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d6c2ce94d73af21f10578fcd5c324c96be92ba447f84ddf32919b7c8b4962faf
MD5 36552fd93d6bc38e8178fd1cc6df881b
BLAKE2b-256 9fdb763437ede9d73681e2cf5d9d21b454058e5292f6bc57c78dc55b30db01b0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.9.dev202502021738433769-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 3210dd2e16dbdac7045974e289b1f5bb25e64c8f0f69c7faf5bdfbb91bb212c0
MD5 afb7c246d3279b51dd9fdabd92a3ee6c
BLAKE2b-256 b338eec7fca22441e4e6661bbde0f88071068e825a9950fd56d50d357907dcb8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.9.dev202502021738433769-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 2e70bff172f467098176f0f4bf424bc07bd7d0bd060b0f242901dfdcc7cdf398
MD5 3cc0b69aca02065953a48eddfe27340e
BLAKE2b-256 6e37b6605a0a24926e03c0ce0d1e880d8369bdf248de9fa9644a2cf73cc6d26f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.9.dev202502021738433769-cp312-cp312-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 553bda6b8c17cc13553823bb8d9d0dbe41374d6cd7313316139ca233b593ba22
MD5 eba4de3579b42f0445762cd6f9d8d734
BLAKE2b-256 4fe425e1322cc64fc4e4fcd366640cd66bfb4e941b610e564cc276c26b78a8c3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.9.dev202502021738433769-cp312-cp312-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 3cd1c72b49ef157c05f7b0b67180e0454e749329f3d690bc26f69fe8c0921926
MD5 cc456314b86f0b9285fcfc9c44339a9a
BLAKE2b-256 dfd79c8d5221025d65f5ae81704f482e0586ed864a1bb7b7416ce2b2bc65f475

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.9.dev202502021738433769-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 deb0c275381de09565c5e12a8775155545ba016bc3712dc355a06d3bc1b6dcdf
MD5 8f8d3d8c996f224233e805ace84b4240
BLAKE2b-256 aa1e80697af0595c628d8cdf7dae95db5b311cb1e20e30337fd2a216beaf90b0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.9.dev202502021738433769-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 5b57c10cdc31d897741d3709079b7fc93c916b79c69bd4c16b005160213627f5
MD5 1db0b16016d9e045020798555e2f22dc
BLAKE2b-256 94f49d4ca44317b49a9dccf4215e8ffd7aab1f65fe378b38bbc2f486bac71a58

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.9.dev202502021738433769-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 f35be4dbc1882b86711d08966921c396a4ce16f199c52927fad13c6d40390551
MD5 3b404cf2920f401b3094c74e3b795bcf
BLAKE2b-256 43bc474519a4e7ba60243d25142bdba4880f13c8238f48b37bd50bcf342f5c85

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.9.dev202502021738433769-cp311-cp311-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0610ae68b025d45403171af8bc697b980ae12c52b85f7769b7cfb6a039f80aea
MD5 9e382ff5d845c9625087f1af92c272a8
BLAKE2b-256 e3a0f2320ac10e686b43cbab1b240d32cfa293c45c67c8b3223b0a2c19d70a15

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.9.dev202502021738433769-cp311-cp311-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 4c9c02be8507639afbb7279de8cd089e28f781cc2046546bc3f4a9634820bb32
MD5 73138e5ae6cf28abccec128a068cc16c
BLAKE2b-256 8a0850f6233fada5c483cd21364785241ad2cb4a9abea77f9d755a3729df38b5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.9.dev202502021738433769-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f75722c4fcb99d96740fba46568e5ba68d877e9409f3fd524a51520e1be30782
MD5 ff5f671f0f5b154fb29d3517086ea699
BLAKE2b-256 afaec8d28dd53e626be35fd803c855341b3f38bd434f65aea269421fdb2ff3bb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.9.dev202502021738433769-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 e78df936b44e2da67c2ae7cab5bb97a792631c0ef71c06754ddc5a7913b09db7
MD5 5f886d4281b1ba16a2801b8f385567d9
BLAKE2b-256 dfef0c5dd3b9af87c09a004063d85af9829f183917f34da33664e0c14d6ff0aa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.9.dev202502021738433769-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 c030b8731afd7a51da3f512ac7d85ad09d8c09d8699823cb5b7b211827f1a601
MD5 0a39df32529648a2e7e85fd9ca6d2923
BLAKE2b-256 6890bf3610a7041060f82b16cff4a784f7497c15044271ad95a3bef3719844d0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.9.dev202502021738433769-cp310-cp310-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 360b9daa490616a9c12ba3538bbccb5a5496758b28fad1dc2f62a33d6e8f5d64
MD5 a8cab61efbe7596f408c5af6a01f176e
BLAKE2b-256 72778cfe3d74e0599da274b1abb14fb6a4a56667fc6ba5e207885ae1a52c9f34

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.9.dev202502021738433769-cp310-cp310-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 1668c3829591d5f5841dc67fe32d284d6a2bf05c23fc8d6ac10beabf5f5bf3eb
MD5 e29fcf8fa25a91acd5a492bfa83bf381
BLAKE2b-256 d4544ccff35a8f6f6524efe040ec2fbc9979d57750b6154326de058f5f58e363

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.9.dev202502021738433769-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3b122260e5cf9f133470c4baeb4e8d6cbe84bd648978a5237361e65ca0e0660b
MD5 1f29d2c7cacbdd5ac4fc9bd66fa860d6
BLAKE2b-256 17e161fb82afea0cd28745bbc770b288bac6a65f399a4ccc8221d0a278be66e9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.9.dev202502021738433769-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 a7b66406e6a1c16e4e885ad18a2c95401deb93b95d9158dbc7ede4c0746dc406
MD5 1bdbfe386062d0716b92dde94f99fbbb
BLAKE2b-256 8216ade3a2d9b18bb30620862c2d97e5331579d0c2ccd11b78d1e049e979ceec

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