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

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.10Windows x86-64

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

Uploaded CPython 3.10macOS 11.0+ ARM64

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202412311731932516-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 f6f1d6f10ccca0b218a96f0d4f1539be8cb0a096572707d77acb396993498b88
MD5 591af3d5d5cb3397b4422d9c88ecef8c
BLAKE2b-256 a636e854f84ed4f6a73f0d0a8f4b94aeaf5166f04efd415e16cb857da6cc8fbb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202412311731932516-cp313-cp313-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3c8b11120e941fefc46cc653e1e1c73900d1c9179bb95b862852bb597ed7a081
MD5 8e0bfd10262f435880596677004bb339
BLAKE2b-256 17578760b879486f15acd6d4ccd5c3e6042d83e4cc21129e045b3ece2a58337b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202412311731932516-cp313-cp313-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 53538bcf3d4794be8af5470c52bc8fd03ed32ebbd7e604725e090ac5a51b893e
MD5 bc3cc18ea3ca7121a1b0c646404fed65
BLAKE2b-256 83153cd90441aefc6b24ef30aca6d900e408c0c1d3dca4cf2ad77e944e05d206

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202412311731932516-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7432218d15167babb716b42221d5cc1090fc507e4759897e2db281a51079ff6a
MD5 b6a73b9890289838e0826f2bdb2e770e
BLAKE2b-256 0269f1d6bd5dc7ff314e88e0176ac5d21b33c9aad3533c0e15fb8c6965d6c7cc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202412311731932516-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 a8f935e2130e235442d5f75faf712fd11a1a3feb1eb1ed21941af2393e987415
MD5 f7dfb1b562862bae18844bf7f93eaed5
BLAKE2b-256 5ea9e4aa9b05b353d15f6a6392c009e089b750a23fdb1ca16d2abef5124c3158

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202412311731932516-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 b3442b1a851315f69ca66c2322e3e73de58e19805f696b39cd32edff5d585fee
MD5 b4c505c5f45d8d7db0a4e89662176952
BLAKE2b-256 0a2f52caafc12f71cfd0846857300b6664c77392fb09e3a1c07c4d2f42764cd6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202412311731932516-cp312-cp312-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 548ceda4cc0cd1cbb4927689c19e8fd9b35233f17a27303eae2d324c2ed00857
MD5 4d8a4e9b71afee599d58861fd33a9274
BLAKE2b-256 cf5ea6f60ae03bf3429c96937aa5876d13cbc3480a6b8dbaa3769ef337364950

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202412311731932516-cp312-cp312-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 0718d4316436871c38c388d3e0f1ede11db4a0f9baf9a1a5762754257b83d251
MD5 ba60f8ceaf2ed93abe980e313ce482ce
BLAKE2b-256 c57890a62d92ca403a4175c1bd9c7808be015edfc5d7cd162cbf993a7939cc38

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202412311731932516-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 27d6baf7fddb7a975fd68a365b51cdfdb46f3da0b858e78d228accebdcf4db62
MD5 deb58ebc56c13b8feea9caa6a77e83ec
BLAKE2b-256 43f7d05f881f6e3b466d95cb0d01e61d9455acb476468629f36a7b2a8eddfe85

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202412311731932516-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 f4a1053c5c24ffb52988d29fa971182c7f13cd94f9c46f1d095ef52067060325
MD5 11bef4fe832639e2b7ab3a88a7575db0
BLAKE2b-256 78450e689e1cb68e73415e4f42591b4a40cca0664a2fd51320e7f4f9206b60a7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202412311731932516-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 2c2caae1551bb6c58d90ba9db0f0dbeb322dffadd6c429740d38aec56fe8725e
MD5 4d83d62081732d511611769fa7885f3f
BLAKE2b-256 f6cb58652a61e5e45e09fa29b602ffcf8ba339a7c4ea095a96cbbcb0d672fe8a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202412311731932516-cp311-cp311-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fb1b1685282c768a03249ce968e3973c3e1fc46410a495ad7653398157b34a15
MD5 a1417d8c1b221411ff88677d2ef74503
BLAKE2b-256 84c7335a10dd864f3e62134bca7eee1b799fb5e9cd3e355dbb74cfbe620118f5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202412311731932516-cp311-cp311-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a8757e5a02eded60c567f91cdea329ab0c370527b53b810072eb69d705c236b3
MD5 efc258cbaf05a86c58e36b913d255c62
BLAKE2b-256 6d417d6d3b1be5ec3fd49c478eed9423c9933c75d92c51309bdc368d55bba8b2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202412311731932516-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a0dbd8d9c53b3ff899cab6c57ebdf7536d19b509c522c2c33ff9169b7afb97d6
MD5 6a69c06ff2146247a4ba61eef08e7883
BLAKE2b-256 1435022a8a137a6b90cce40d0f0d70e1e2a19f831521a6d09cb6c288f5ea8182

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202412311731932516-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 e7cd885711edcdbfa82f842cc92a8b55ddcbf3094e1ed79b0e27dd8ec7fc6513
MD5 7e57e5ef2f79d161fac62c097d83900b
BLAKE2b-256 ee8a712d76be862966dd1fe491088bfa2770e0d3cf39d131178afab4d3cdbee5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202412311731932516-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 7e57fbffd489d994faa2b54f301b8b5562d25636df2a16e7541e54563a727d95
MD5 a98d4e40d1b5b9c94bb060904648c921
BLAKE2b-256 7841e709e238ea47a9eb76c91465fc1eb33aafb62aef10a0fe00371fa3f50682

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202412311731932516-cp310-cp310-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f126dc5f3c6834f4c6041eb09878ade83a89707e434db68b70228c120163df72
MD5 6e24c0944cda888e06c1e0f1c068cf8d
BLAKE2b-256 ad51b4ea1544b01f02c662f45559f89ddaf9b8e5b508d32d414705e5727aee4b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202412311731932516-cp310-cp310-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a7bcc2ca64d240723516242c0f17bdb3e1cee3de8794574dbb154ba90aa3bc9c
MD5 130afc8e13dc1f758546532852585562
BLAKE2b-256 bc7c1bbea434e79b745359325d19b61f8ff476e4611c20df2ff4f9387783c427

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202412311731932516-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1480a0b09fab93f724d1f5620e59b5ab84c2f9d4c6d699e855460648bbbfff5f
MD5 d667d1de2bd6c0911d0c0e16f635900e
BLAKE2b-256 175eb7856a99a786e640a9f2e8512537c6130fc9818988598452fe150f1aa8bd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyAgrum_nightly-1.17.2.dev202412311731932516-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 6f4cec986820c921292dfb8351e6891accb35e253a836dbd75a23c5366c74c17
MD5 e0e0fd967ac4ecad9e7f4505fc000639
BLAKE2b-256 2a70a01ae768fa6f56c62cea7ca25d0279b1d29be0fd87c812b48602ccb8cb19

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