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

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.10Windows x86-64

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

Uploaded CPython 3.10macOS 11.0+ ARM64

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202412221731932516-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 28536dc88bae3f4581b462c4e5549a6bbc9eb81a5cf77cfd046d052b8a89877b
MD5 adfb4aad64e3c86368ed56cc868aa803
BLAKE2b-256 cf5ce1b10b5c25f1648384ce983d346392b04e5bb7d16b0a161f0ba85eb76522

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202412221731932516-cp313-cp313-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 29a2b6623e363831d9189b7b6193f88661bb87270a89664314d41c88f1f4356f
MD5 477f17b5c880d556e21b5b089b06616c
BLAKE2b-256 74ebbce9daddc84716b044f5187ef2140005ecd37eb32c00ca350021a83a8942

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202412221731932516-cp313-cp313-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 04ec5b624f71b6452b747df1fb44c5ed986cb6e1d73a1d32d9559a86f77adbab
MD5 65e16c8a16aef0afc5c42d384c4b4abf
BLAKE2b-256 8d8798a9e58d4cbe088113888348666d1f0f99ea319cc7e83a63d93c69bbc03d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202412221731932516-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d8e903eb22afaa8074f86e97f1c63fa5694c3562dbd4d0fa32fbd1b9b540ec59
MD5 3a6141a416c29ad0814eee0051bba4a2
BLAKE2b-256 0fa901ef8b2c9e92d4466e313cc068ea3f9199e3f05683aa839ec7c66246b4ed

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202412221731932516-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 a995811252c9469da074af61feeab796d796a78f16d47800607e75b845fb177c
MD5 7b6ee715502fa6a65fe33b97609e6d05
BLAKE2b-256 e82c52224cd372f66a68fa3cc18b21a86d41896e2e948e23ff25551f9f296a34

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202412221731932516-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 fe5138ab90735fe2dd4d58f0afe7c7f1c21a8a290d521d40f85266cedeaae746
MD5 ed8afc9dde3c05b55eea20d3b64d53d0
BLAKE2b-256 8bbe94f00f0dc9b7399dc66902a809406f1eaac0816197d137295c98af389985

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202412221731932516-cp312-cp312-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 13720ef6706ad7755a9c21cb4df6d452425e9937205afa72847cf8694b1068a3
MD5 7440a672c6e2cf7a204c35b67b55cb78
BLAKE2b-256 19878df6021ee07291bfdca380e61ffba2f594a6959b2a2ce087d9ae17f84b00

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202412221731932516-cp312-cp312-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 264fb230e024e6171350ce3c525d209968801468e838031124d8b358aff4ebd9
MD5 9e7c5ed84ef3f2698c7a9eeedbebddb7
BLAKE2b-256 499a5c47b073bb06672e41f69143a2c13a7b5f21a290eac5cbcabebca57789ba

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202412221731932516-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ff1201186a695098df7c5ec79beefc3d20090258f8fca63e7ebd52ccb80706b1
MD5 206ec47184322377c2fa7065f49217ff
BLAKE2b-256 f8b265b2fc650bef1ef1aaa7636fc0f61787fd1b34ef550eed3c06146bac331c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202412221731932516-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 e5b57fa613818e0f3bb4c30c9f68dd4b4283ac77f649459f858d15043c80369d
MD5 7316edf716eec734792d7cbbdd6dd7df
BLAKE2b-256 b5ead6111061ab9c226087832ab5076e8e6fe1221fe8b7811bc77e48cb34f425

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202412221731932516-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 4f87dd8b7ed5534eba8ef9aec7dc8c277d0d70cb1945eb8ae6d1ad5c24a61288
MD5 8d347c31c5b9053ceb3e53391e3394e4
BLAKE2b-256 c54fa00dfe5b75a4e99d4537b3cfedcef7d46fd21edf78129867d3def6b2effe

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202412221731932516-cp311-cp311-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 27005cf9e3204824b17b4d3130fd141df8d8994b1a7b24f1d25cffac1b17f56c
MD5 acb6b2da6f182fa78c81a3cf8dd2e8d7
BLAKE2b-256 8140f2e20656965083b7747c896067fe0d647e73ae9967d319bbba6467e0aa06

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202412221731932516-cp311-cp311-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 cbaaee3a16bd9a3ec4f1dd20dd5aebe2f90cadc4e81ab1e37698da9b0fb6fb0a
MD5 a6d66961af8197ebd041b4302dc9fcd1
BLAKE2b-256 c681228d55e861d886966920ef8212170a623d7e0c37875c3cf210aa165c4354

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202412221731932516-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2098792f1c1845502aa9aa801f64e41ac5baac387b94a228f3345d2a9ec41434
MD5 fed265f824aec30180ab4c0dfa9a2c19
BLAKE2b-256 6542eb9b01381d25c1e0de42ace99db879a2fc22893f6d8be5586e19c7e91a3a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202412221731932516-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 ac8d423c9b8a62e19e763db63206c3c192ccf382ee961d1088ba9a9acb8df363
MD5 c6fbd056a8c66e0abce7a811f531f53d
BLAKE2b-256 4f319a869333031c86781c89ec0cda1d167ec6621eb187cd7e30193d0f6ad378

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202412221731932516-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 46188cded6bc04c1292e4b2cd24bda56e7425948d092f09b199f3fff73b67154
MD5 a8e72903dca6e4ef7f49e002a7344506
BLAKE2b-256 3d8fba9a064188bbbbe4ba2a66ed8ee9fce79327a642c480521549b08e787fd4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202412221731932516-cp310-cp310-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7d5b37e1dd3d4bdabffd2f7b578291b4ac38344794bea717cf6a1a30186267a4
MD5 0170c235106f2e91fca549d1ae51d846
BLAKE2b-256 55664696dc9e604aa046665b27e3f9ed739e0a38a5d3172653e045c5226eaba0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202412221731932516-cp310-cp310-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 46cc8e40a4251f3d261374cd00ffef30b18dcea1af8b9da2bb0d6d1eacae696d
MD5 e613c50b6b9ac92e4d30890ed7e92484
BLAKE2b-256 5142598ab3b19fb23f17061d3a8d0fab6f9627b435fdd99758abecebf4a202c0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202412221731932516-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a46553bc03d7aa1ede38d1ec0359e9d89fc0c06226011dc156d883db7cc0aa25
MD5 e511232414538e2754143b1fa0dd572d
BLAKE2b-256 2559acd5478b448c0b7675b478cf4c9f2d1e7109f9ad382fd25be5243367da80

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202412221731932516-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 7456c82aeb49a90082a356989077f262cdd9384cf32fdb7164aecb73c4811a9c
MD5 2a79aea0f42b458ab2f4d632601b0d59
BLAKE2b-256 14355ef4d026ed5d33cdef5ae0cf2331f19bce61768936aae307b08895bc9ff7

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