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

Uploaded CPython 3.13Windows x86-64

pyAgrum_nightly-1.16.0.dev202410181729078700-cp313-cp313-macosx_11_0_arm64.whl (4.3 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

pyAgrum_nightly-1.16.0.dev202410181729078700-cp313-cp313-macosx_10_13_x86_64.whl (4.8 MB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

pyAgrum_nightly-1.16.0.dev202410181729078700-cp312-cp312-win_amd64.whl (2.8 MB view details)

Uploaded CPython 3.12Windows x86-64

pyAgrum_nightly-1.16.0.dev202410181729078700-cp312-cp312-macosx_11_0_arm64.whl (4.3 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

pyAgrum_nightly-1.16.0.dev202410181729078700-cp312-cp312-macosx_10_9_x86_64.whl (4.8 MB view details)

Uploaded CPython 3.12macOS 10.9+ x86-64

pyAgrum_nightly-1.16.0.dev202410181729078700-cp311-cp311-win_amd64.whl (2.8 MB view details)

Uploaded CPython 3.11Windows x86-64

pyAgrum_nightly-1.16.0.dev202410181729078700-cp311-cp311-macosx_11_0_arm64.whl (4.3 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

pyAgrum_nightly-1.16.0.dev202410181729078700-cp311-cp311-macosx_10_9_x86_64.whl (4.8 MB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

pyAgrum_nightly-1.16.0.dev202410181729078700-cp310-cp310-win_amd64.whl (2.8 MB view details)

Uploaded CPython 3.10Windows x86-64

pyAgrum_nightly-1.16.0.dev202410181729078700-cp310-cp310-macosx_11_0_arm64.whl (4.3 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

pyAgrum_nightly-1.16.0.dev202410181729078700-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.16.0.dev202410181729078700-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.16.0.dev202410181729078700-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 869b511ee855c9e5b16aaf5a5ffaef3c096fed858fe5a87700178882ba7e075e
MD5 b7ee37ab51ceae143e972a3b7aee9a6b
BLAKE2b-256 6b5476210d55d826ec8d498e21d09a483f3b66eeeb345f7645886e6ee4bd592c

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.16.0.dev202410181729078700-cp313-cp313-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.16.0.dev202410181729078700-cp313-cp313-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ed6d8de8f8c4b4d7eec4af7b4c967277888d00bd0a55aa0bdec6965e39b78846
MD5 02868929b868a9247f660cf2b30976cd
BLAKE2b-256 553ea8f0fdd14b905bed8a2035e720ad41926879e2221fbbaf144e27782180df

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.16.0.dev202410181729078700-cp313-cp313-manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.16.0.dev202410181729078700-cp313-cp313-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b78454f131c1020e04cf430032c370f741c014bff695505694391fa05761a776
MD5 72e414153e34d6291c1a6700e6395b3c
BLAKE2b-256 457ce986c5e9e0c5fd4214fe340fed087602660b156c813cacb5bbdf1c6f4cfc

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.16.0.dev202410181729078700-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.16.0.dev202410181729078700-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4e9c741a142b9dee2630a31b3721203ef66b6c988bda8d2245e42246f8fb0fac
MD5 3102135bad7be6e8900309e519796321
BLAKE2b-256 0e538587e5bad327bff376e8503bb01c772c56b3b0aa4c343f736c02ea0c31b5

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.16.0.dev202410181729078700-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.16.0.dev202410181729078700-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 67db89fa2725529bfbf46ce9fb552a114fe977c6aa243dbc55ba1b5639b03aea
MD5 9de4fd0564629a85949a62e189c7e14c
BLAKE2b-256 3dbfcea6e5c1f9b6f9c060716b58d0f4130650bf5e5748f5c066f108182275a2

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.16.0.dev202410181729078700-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.16.0.dev202410181729078700-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 696d87e985d466f28b14fa2649644b88b851e042c83ded496209300b73064d17
MD5 3190dd9c3f58162edb5d7e011ca76266
BLAKE2b-256 34f6215b3d1476ad5eddf687426bd25332176ce2b73c976c3cb5f978f3079741

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.16.0.dev202410181729078700-cp312-cp312-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.16.0.dev202410181729078700-cp312-cp312-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0b48cc15464ba3b779ff054043aa2f4de4011f3178a4ac6c652a190b2c9a04f4
MD5 eb7a63aa5e00d5c6bef3059577282db8
BLAKE2b-256 1c7ab248a2f9c970370be83d3e82c16ab5849ffa8b8512e4c9159c719116ab50

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.16.0.dev202410181729078700-cp312-cp312-manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.16.0.dev202410181729078700-cp312-cp312-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 83c36e156cc4b19b5f4990be38c622e5d5b7fcde1039973d41403966675dd9c4
MD5 6d77bcdcc2c9e276e09d97272ac78fa3
BLAKE2b-256 370245a79db45b0679b97f77dbd05368d59c759314c854bdd450da602fd4ddf4

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.16.0.dev202410181729078700-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.16.0.dev202410181729078700-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4726363728d77a83ceca70f28ac85576a7aa72fd8a49e44edd5152a53f1a152f
MD5 ae03de0c8f7a29372a009b784e47de8c
BLAKE2b-256 ca6313b1fb07b5ac77e7b89f723887dcd4fb1f4b3239d5885f0b84bcbfee1b8c

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.16.0.dev202410181729078700-cp312-cp312-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.16.0.dev202410181729078700-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 b99317593acc5b0f60c4b68c76d841f2b78d897aa90f9ab98a5a4f76177d40cd
MD5 bcfa516062ed3ab5554c0671b3f7d235
BLAKE2b-256 87bd7bb2e4bad2ee237c5f5142bee3eb11f5b67914525e8ddadc54b52902e056

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.16.0.dev202410181729078700-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.16.0.dev202410181729078700-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 8d9ee1da22fe5750296317360064958f00d9fb3fb27cb75e513cb54d781c6dd6
MD5 7d5e0a5a8548382f58b98f928a1b34d9
BLAKE2b-256 a9a2db70af0907a8a0b49a142e6d6f55e810e5e61a441c22665af901c718efd8

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.16.0.dev202410181729078700-cp311-cp311-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.16.0.dev202410181729078700-cp311-cp311-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 40ac1e8356ed4a55e9e1df7d4da165ed614ff1b0fc47f0c980aeb3b4096500f4
MD5 424dd97f7051fa93df5fa7da44c4bed3
BLAKE2b-256 615ab51ddc78e1d4b04a391005340353d40c3a772cba197a768ef4e689da3645

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.16.0.dev202410181729078700-cp311-cp311-manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.16.0.dev202410181729078700-cp311-cp311-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 368ccdade20316b5b8e1087e1afbc62d9fbaeff61c9149cda94f3f9d91fcde58
MD5 664d5b3cbde0b1037c6ae998a37a3227
BLAKE2b-256 60c8aafc76e6a6d5b056fee44370308fc077711dec6dfbb47b433053fe411c6f

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.16.0.dev202410181729078700-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.16.0.dev202410181729078700-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 da38d35c335bba1e4874d6526149af5956b59716647f845f28109acb5ad84be4
MD5 70166366995c4edff29bf314ac142dc6
BLAKE2b-256 edc9aed3ba6cb0db09c6837db658a7f32d6407d57097c25d03e8732bb06e03a4

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.16.0.dev202410181729078700-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.16.0.dev202410181729078700-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 4e5772fbac08626958cf0a1841f89eb56bf9de654f40462021987bb02e81c4ee
MD5 47e208358bd7dd338c6f77201d97665e
BLAKE2b-256 6259fb11df277366cfabecde5170bab4f0402a422cd17f4923b16b56403a5865

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.16.0.dev202410181729078700-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.16.0.dev202410181729078700-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 bfa3a88bf398495def07cbe8eac9cdf86512e319e931ec8823b46a990d84e7dd
MD5 978aa51b2e85b7594259d8dfebf670d7
BLAKE2b-256 f0636c5ec3c8b5fd4ea170fabce2f3826a895821cbed9275f1688a9b8c6b68ec

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.16.0.dev202410181729078700-cp310-cp310-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.16.0.dev202410181729078700-cp310-cp310-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6c3e1244c4bf0bcb65050e79d18d2f8d65a44a9860545e6cba5cc1549b939703
MD5 426c9e24c398063b5f3546cbeba8194f
BLAKE2b-256 e533936df3fcc6cea4935df297c60204eaa68defe97f6f0ef9f038d06fc1f68c

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.16.0.dev202410181729078700-cp310-cp310-manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.16.0.dev202410181729078700-cp310-cp310-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b258dfe01fb5b361ab7e6f3a0f2d47776bd79b0016f745ec5c7a877e9f030ad8
MD5 f6ed3db7ca94316c648ca1923bacfe07
BLAKE2b-256 539bc98273956f64f7e539a381175f1bf4c42848ef42dcbe57b16945e25e5691

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.16.0.dev202410181729078700-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.16.0.dev202410181729078700-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 11421f044d9a66ebe5edcc8c4195ec58d39bd4e7e20627b7dc6060e36c3062d2
MD5 6bdee82e1567a62ac169130341096736
BLAKE2b-256 c40443d0adaef1225e19e1c23d79d865bdd6b03c842dfbc81a29b2112bb581a9

See more details on using hashes here.

File details

Details for the file pyAgrum_nightly-1.16.0.dev202410181729078700-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pyAgrum_nightly-1.16.0.dev202410181729078700-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 b1f35a17b5ec30e257f62b39669798568199e666bc56d69c9bfe59291e79c571
MD5 8170775a4faa0052456adfeed5a18097
BLAKE2b-256 ae239af88a3ba84797b02d93e87cf7bac533256507d49e7d4dae10d80d2be70b

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