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

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.10Windows x86-64

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

Uploaded CPython 3.10macOS 11.0+ ARM64

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202411201731932516-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 5495817f68094ff08603de2c940ad8185193780983450bf3b3132af8736ee1af
MD5 d2d968f958723e35ba2cc8b36cfa11bf
BLAKE2b-256 904e9afd397f0cc75297b28d55b8a95ff64c377f6e47e12de9655d5b8a0bb95c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202411201731932516-cp313-cp313-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fc077fd44aa7fb0e4c9f79c073df55b1bdc7ef830385f55e8c1d6cefc7949291
MD5 676d4da0eeca57a6e70d872f9a650601
BLAKE2b-256 596cd617f997f797c8d4372ecf47b4a1bac1fa6e83e7d28869143fa5acb91526

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202411201731932516-cp313-cp313-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 ea78f4234ea935eb3757290ad512f549cab7647c8766cebe4ed6634425c8d7e7
MD5 e47a7a2e87752d73368b6e945fe99084
BLAKE2b-256 488acb9127e48d33af34b56cf52f6478c3e13e0e304db547d97fcc8f01513c99

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202411201731932516-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 20416b179c53e2208648fff6f5538e7d8e5672a1faab241abc4f3d1c43a12ec0
MD5 8f1ca61e829cae98d4b83f59c52d3a32
BLAKE2b-256 8199ed4c89bd6ba2ab3cdfc9cd031833f1da1e93f1f00f1fff84b26af67520fa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202411201731932516-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 124de8542e9602320486acc03ec1e024ccad1fa3bf4cf86d347117b0971f2621
MD5 055b6582bf1da56cb8c38bc69dae5719
BLAKE2b-256 7f3cb87224bdf57e29e4bed078a62247b136db93608237e092267d1af59d07bc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202411201731932516-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 f747c5864642f06f9f0a4f96952b94da42e23eab7c94b1a8642db15cc74da31a
MD5 53d4b360bd67b38d7a586a6e008f5653
BLAKE2b-256 87bdcb779155f4fdd8dee440c08e16a4efc0701078fa2353e9acd999d144e6ca

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202411201731932516-cp312-cp312-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ff826da158b731dbc84d29ebcd96081cd017ac260a0e1e474809b28a02f39b5e
MD5 59f5e5382086fdee85cb4b6b5962a941
BLAKE2b-256 e87e879c7818cd60ab77442c9faa066420a9192b212178bcdf5edbabf1dccb8d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202411201731932516-cp312-cp312-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c78c7cc32429e5c877b1d6cd193d019cfab3423c9bb355a7d4f0663b0514cc94
MD5 936f34503d7aae60fcad8704063c7bf9
BLAKE2b-256 50332e6ae77eb6148025df0d88cc712c0a7941b45f76ed5e686ed912b0a91f4c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202411201731932516-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a91017523a460ef4a709bc3fea231e5ecb3added6f8139648b4ad547bd59a182
MD5 c3a653934d0ee33bac271ae812b67a72
BLAKE2b-256 d983e34115e96e3b688f0af6eb288e909edd169fcbd446a588e4be2068c6766a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202411201731932516-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 554f08d8ac01642fceef8da3fd3d3978bd2c7b38fbcad8cd31ac50bf7bc5c802
MD5 2012e79dc498d09873b75f2d478c99ce
BLAKE2b-256 1b75f2f7cf5ee45593fe36932c035acfd41a85179aa86c092a024a0fb7e2b9f0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202411201731932516-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 951739237adb0be49144bad72a41a3ce5fb508e533a4dd50d81589266a8bbeae
MD5 fce3f5f38ad451e01b9b915717ef21de
BLAKE2b-256 684b70b8ed56a82b8acc732eb24213f64e7b6a5443bb4487fea21eb18e9c9190

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202411201731932516-cp311-cp311-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8572cf1d63fe8d3dff0dd1dec28ac66b65a00052ee767e508e208023e3e6e1b7
MD5 a244e01dd0970e6638925fa1296b0c62
BLAKE2b-256 ec9ae3cd17233a9cc2dc16143c4694eac679eeef7908fde2614c8b73b0cd27b7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202411201731932516-cp311-cp311-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 dff31c323442886e731415de19777c4528645fc7412cd5a37d523fa8aa4bb6b7
MD5 420b3c073918af4ec343353579ee1dcb
BLAKE2b-256 4f4e89e67657021ac96986d5a286848e7a7eed0ef14641bfe1873c8e8056cffa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202411201731932516-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 01af557b98998e36be8e403b767383e98c4f3281fb4715af5f34567e61a54d86
MD5 f4359de675670ed29a47d61e74ca93ed
BLAKE2b-256 1115672fb654ff16bb87e4a6e0942257225eafcc7c688a9c84a64ea263e8c59d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202411201731932516-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 93baa45258e8cad821594bcf7da7a172e5d496422308da85e2e338e5c0845801
MD5 77e43846abe09238847d9d9815140943
BLAKE2b-256 adaf8c046309db14af15c89e051c94ecb4d4b295237ed270383c31d9779301b3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202411201731932516-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 285c338ec34ebe94ab22452dea825d402dce6e78dad11c1203c5d525de205e56
MD5 2a421fa30a34c17f559b5707879b13f3
BLAKE2b-256 f2a705e57a528198a91f91653ce49f505b3e6ce9a1b68ed1dd1f812c8318ed78

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202411201731932516-cp310-cp310-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 726b546af7774019fd8108eb04678e4e62a0573ddd3aa7f83df3e30187451dea
MD5 ec662782091dd40e27782003d9117496
BLAKE2b-256 b301f2d51f1e4aa976da10b353962120c8282e907ce08a6f1363356f5acb8beb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202411201731932516-cp310-cp310-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 0762428148174a3227ee7bfee5c5dd0cfff322e1df47f5aca95fc45414d905df
MD5 0be756c67ba5a7471a4290a08701ad58
BLAKE2b-256 ade0e056adbac4c4119ad2a59ff529e23784899f235dd114513ebe350189591e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202411201731932516-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5076b1235377227da6b00003b31af7a7ae78bec8a969a829264a1b1a41f579cc
MD5 e78fd415d31202835f83b46ebb35af16
BLAKE2b-256 0a38d3b1fce5da511769a5333310cf4eff5f0af0030674e0b26e13da8a53f272

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202411201731932516-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 e593a787ab93f38c9de52d2bbad667885789b507f0ffe59a547b5c903538460d
MD5 52dc496a1f62223c3def53d7c633d1a1
BLAKE2b-256 206bcbf964f414575fece377ea46b77890d37cf24ebcc1d9cf2e85d751f26e78

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