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

Uploaded CPython 3.13Windows x86-64

pyAgrum_nightly-1.17.1.dev202411151730930665-cp313-cp313-macosx_11_0_arm64.whl (4.3 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

pyAgrum_nightly-1.17.1.dev202411151730930665-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.1.dev202411151730930665-cp312-cp312-win_amd64.whl (2.8 MB view details)

Uploaded CPython 3.12Windows x86-64

pyAgrum_nightly-1.17.1.dev202411151730930665-cp312-cp312-macosx_11_0_arm64.whl (4.3 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

pyAgrum_nightly-1.17.1.dev202411151730930665-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.1.dev202411151730930665-cp311-cp311-win_amd64.whl (2.8 MB view details)

Uploaded CPython 3.11Windows x86-64

pyAgrum_nightly-1.17.1.dev202411151730930665-cp311-cp311-macosx_11_0_arm64.whl (4.3 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

pyAgrum_nightly-1.17.1.dev202411151730930665-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.1.dev202411151730930665-cp310-cp310-win_amd64.whl (2.8 MB view details)

Uploaded CPython 3.10Windows x86-64

pyAgrum_nightly-1.17.1.dev202411151730930665-cp310-cp310-macosx_11_0_arm64.whl (4.3 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

pyAgrum_nightly-1.17.1.dev202411151730930665-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.1.dev202411151730930665-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.1.dev202411151730930665-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 403901a4f2ab22e98259eb69461199036386bfa69114e7166cec9fa66dc6b38b
MD5 2986be322d17d752eff794937c536538
BLAKE2b-256 b477fc3af06f2a9daaef223f90ebe3be1bc273bbe900a1359a59cfd4e50ddcbe

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.17.1.dev202411151730930665-cp313-cp313-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.1.dev202411151730930665-cp313-cp313-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 dddf243c57a0168ac759b274b84494bfa204c37ce865ce69cfcb31f496fe4088
MD5 b0f960ae41a24a1e5ad562fff1ee3d21
BLAKE2b-256 d401d7e9e1a37f2a6be2447ff45c89ef9b986cd4ae576b5cd62ef3a43363b248

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.17.1.dev202411151730930665-cp313-cp313-manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.1.dev202411151730930665-cp313-cp313-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 6bcee45069670647aa1139bdb851d9fe78c6041a44712bc722c2e9e5b4175255
MD5 c62d06cf511d654fc9a57c11c84cc7ce
BLAKE2b-256 0948a47cd946cd60a5a9187ed6b750d50c62e14f50fd74bedfaa486cd928c04e

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.17.1.dev202411151730930665-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.1.dev202411151730930665-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d932ebfd687b6c3b2c9458d114a95d4e306f814089eb39e334a3288a873690f0
MD5 19498020b90e7ba9d68e730b3834da62
BLAKE2b-256 ef7e6fb7dffd69b71f0cd06501ddaa546fe644d1928d46635d3ed5673bf9c7c9

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.17.1.dev202411151730930665-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.1.dev202411151730930665-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 4319eebb91dc247a5101d1ea1e74e952de5b337edad5e9b7295f6df6f4ab8817
MD5 8ac21c2a317d9682fa298960a0741e0f
BLAKE2b-256 2f82927f2720e3735ab1cf09b9a5a87ba958d89c57f1c6020df0dd8f46b34748

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.17.1.dev202411151730930665-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.1.dev202411151730930665-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 3ae2d9c687b2ad33f2331c8b167ff9c981fee67b6f8242b4cbc713599161c3d4
MD5 d8d8b23887492f29ca0cb7c61a9f17f9
BLAKE2b-256 f8af877589314057414dfbd5f3c521bc4daf94f155ab57807867d4fc06c90555

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.17.1.dev202411151730930665-cp312-cp312-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.1.dev202411151730930665-cp312-cp312-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 dec068e898db2b868ef5a44c5e84872b5a85779b0eb7d320073e56b1e274d862
MD5 28776d57dd7f2cf9f99e07aab6f37b00
BLAKE2b-256 8404755dbc5d0f11d7edce344d2517894d7b2a1751cb5ac8ded61b3e3c922d40

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.17.1.dev202411151730930665-cp312-cp312-manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.1.dev202411151730930665-cp312-cp312-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 19dd8ada5ce5c79b19683d379114a5615f58301704cff86f82677629b8f536c8
MD5 d538c0bf6b5d6af8495f08ed501bf762
BLAKE2b-256 7f163bcf0deba629a9e369efd5b1077a52f1a675b9d4afd1a6a41217165a9840

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.17.1.dev202411151730930665-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.1.dev202411151730930665-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 38eb38c258b47e791279605dd7c82a3911d2c095a531a10e808a677eb0d21fbc
MD5 9d9f36d36a998788e37aa34be627cb18
BLAKE2b-256 977336033a66cf104465d0a06ec10649bd0fdcbe3cbd12da5d400cedba213d87

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.17.1.dev202411151730930665-cp312-cp312-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.1.dev202411151730930665-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 0a0e9209bb0525b75c8a1ab775512000190dc7fdcfba4ceb49cafbb0a17cd98f
MD5 7f34ae6a2873214f52f261270091f272
BLAKE2b-256 c9b12444a788178e175b1619a4a3845c79f68f1122da6a03ab66b578fc7b9e5c

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.17.1.dev202411151730930665-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.1.dev202411151730930665-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 76e653e78b22f0c92543e5fa0c06c6dbcc1d1be2d7bd4b64044110f40af67007
MD5 ae5008e2740bef18aadf1c6d5a8e5815
BLAKE2b-256 7438f2eefa89a5269f8f84264881f92c3daa81056b1332d4a7e85deb272fa712

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.17.1.dev202411151730930665-cp311-cp311-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.1.dev202411151730930665-cp311-cp311-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5193770b67073877c9b9efc6b74efe749befcfd10eff5834823d585a5da9f808
MD5 77bbc972861951efdfa2f70feb545316
BLAKE2b-256 49f1db4c29d2f87ab09b8ca8d2110477359e5391c21775e222666f4d9815f167

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.17.1.dev202411151730930665-cp311-cp311-manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.1.dev202411151730930665-cp311-cp311-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 67203a771948895951ca80118119fcf5803dcbe00bcff903b792dfdcd4d85466
MD5 12c049a8aff889f979ce89382fed74f3
BLAKE2b-256 20f2c1fcdef4f1e8e43d2c13b525c8e5589832f220ee4c552f1cc093c28f41ef

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.17.1.dev202411151730930665-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.1.dev202411151730930665-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1c39e7e4302a68f9f63d56316d4c8057614e7ca5165661c03eaebdc1cabe005c
MD5 784f947affe55ca3019733d9dde432bd
BLAKE2b-256 981d9992f436a5fdf5bf0daf3e8b33d35f4d5f4fdb20b8a577e14914ae39332d

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.17.1.dev202411151730930665-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.1.dev202411151730930665-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 766aa5a4e4f58d317bbc1f45a2d9e172647c980a80128d70cb618765780b1614
MD5 fdfbfcc6bc6a9197d96ad923e9016239
BLAKE2b-256 4ef268807596e47d0fbaa28eab4c2149716aceae14ad363c1d8870deeb97e1f8

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.17.1.dev202411151730930665-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.1.dev202411151730930665-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 b35998e241c53d5aced960cda815e2dd316cf4d899dda981af4778c6d2b32d5f
MD5 ec36e8c51d04b828b30daf8d89456065
BLAKE2b-256 39b0dc84bead8d3ed5726822d8c5584568ebd7bf95cd7b29ed10e78e003de73d

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.17.1.dev202411151730930665-cp310-cp310-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.1.dev202411151730930665-cp310-cp310-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4d13e123709ffacaaebd6df48809bcf583db0f5f5addc9c92ffd9d3c82bb8edf
MD5 51cdbc6182a521725f3eef3f3ecb7aad
BLAKE2b-256 0f78c2bf09018597da729cc797c097185578f87c4f0eb207e8dfb36275599853

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.17.1.dev202411151730930665-cp310-cp310-manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.1.dev202411151730930665-cp310-cp310-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 7737e9e4c2e8f28ea62c1c03f33cc51aa9bcbb6e1181caac398e8ca7088b2401
MD5 1ce44f0f39959739c16f7dbe174a24cc
BLAKE2b-256 20229116fa8a9d2f462ab3a518b3cd74515b4908a02be24938d53c55cf272925

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.17.1.dev202411151730930665-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.1.dev202411151730930665-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 509125f8521c8c6b3450ab9da9667eb3a427e87a0dc35eb13ad371d1a4e466bd
MD5 f5b3289f4a81a29833789af674714893
BLAKE2b-256 ba39dde789cc93b01d2bcb2d3565f9536a61d557932bbed37dbde00c9014627d

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.17.1.dev202411151730930665-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.1.dev202411151730930665-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 7591c93212433f0bc6a1a3c10b601574eb35a591f8106d5107223bc5c9283b8d
MD5 ea43e2054909b956887f95cc8f1b1b79
BLAKE2b-256 f69e88f6d68dfb332431441cef90aab2d4250bfbb01985a1483006f1b9797b5f

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