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,2023 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.
Maintainers
Lionel Torti
Gaspard Ducamp
Project details
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
Built Distributions
Hashes for pyAgrum_nightly-1.11.0.9.dev202401121705041676-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 12851cb0916863a012e30fc6ffe454e63edc8066d9c8b41b2be7eb0513df7876 |
|
MD5 | b38bef45960613cad05e0563dd99ac6e |
|
BLAKE2b-256 | db21903c29590fa679aac52be5a080935c1095ca57b9f3208de3298a55aa979f |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401121705041676-cp312-cp312-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cfdfde369ee1d87b0617377f112a72ed1bff85505bd373d87e43a8e420083f5b |
|
MD5 | 7009873459c38207d619ad41c04c840c |
|
BLAKE2b-256 | ef4255a06a34011fd1afa2359c08cc95f6b0313e4f9c2818089038617b3d63ff |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401121705041676-cp312-cp312-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 241e9413482d0e25ee41c3ca3aabc9ebb837eab9a06d38ead3d9104ba4745e0f |
|
MD5 | 882806c6115869c25173aa51f90ee66d |
|
BLAKE2b-256 | 649aa079fa90f94b1216863471ec73e9122fab2762dce3880d4756134ec8bebf |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401121705041676-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ec8dac1f452f855dce1be2b7ce7a2bc13fbc729b70be2a415b16c2e12ed73ee2 |
|
MD5 | e4b1354a587aae44793945942418cad5 |
|
BLAKE2b-256 | d65663f1966527494d42a122d47e52f3db1b9957eaebd5e416190999e4cbee22 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401121705041676-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 36a84eb764cdbe700ee1692f13a8b162e1f5264c66f9ca5e4802a392f295bac6 |
|
MD5 | b3f470f866e4882153a44dee9a4bcf1f |
|
BLAKE2b-256 | 63830b5953f95bb8b7322d30772a674fbc0e00105436b1bea002649f66d07689 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401121705041676-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c1bef5485ceb4cb5ca8427a32ea5efb2b836714754950c1a378262d5facaa263 |
|
MD5 | 00c3fcf16ba643ea23e7dad73d8eb036 |
|
BLAKE2b-256 | 26c11e5aabd0cc4f56d55fa38c65af6670e6056e977ab1c50b3b984504cd555e |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401121705041676-cp311-cp311-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c116e7a0f6432f41fc16b260c70319ba2ec757abaa6d6254d02532c3b7272b22 |
|
MD5 | 8616ef61447f69cce083c49fb65c9078 |
|
BLAKE2b-256 | 41687105bbf3585961eb3924c4d666f37cd100fc5cdae371a72dbd96866c33a7 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401121705041676-cp311-cp311-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cb6a0ee760b5f61a66fab98bc34d8cbea84dd8a654b0af567d39afa19a010a94 |
|
MD5 | 8de19ff8d3a29ad675355e08b3a3d22b |
|
BLAKE2b-256 | 573bb3c4fab6e446cfbfbe7804830dba3e1de693916ba451456b9b5e6f726782 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401121705041676-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 16305756a1b74cca23a22b086a63d881e8f566862a5020cce67950b459725b87 |
|
MD5 | abcb423e60d8726604ad61d6da13c2f2 |
|
BLAKE2b-256 | c3bdfe54ebdc373e38c63eb582bae932f1a409fdc6d01a594794f15bb46feff9 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401121705041676-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b9d943b44634b28622e72fe9e14f4165c05420813020d43a3cbfe5831005100a |
|
MD5 | 5b1ca3f61c18cc5782f0671df5db1355 |
|
BLAKE2b-256 | d010fe97ced718f2de59bfaf9991ce43b285247a11faad7e3612cfbc1eb1448a |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401121705041676-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 87aa4b5e4f1bd0225cfe8cba473e4fce7f71e1210702f3c6c52ebcae86e68539 |
|
MD5 | 946c88eccf98e8a77eb406e5f6cc31b8 |
|
BLAKE2b-256 | 180eba9987e07ff0e067e33389c217af67d51b807599b868f2849e66de5b7126 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401121705041676-cp310-cp310-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e94c047ed357f3f6af367763734610ef61131286cb215705f0feb1be5578caad |
|
MD5 | be1957010339ef48993a4013cac15059 |
|
BLAKE2b-256 | 8ee8f6384d01a701b7087c5dc09ca3a7ac2f92a48858a9aaa58568a01968279c |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401121705041676-cp310-cp310-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eba761d4542188fcb9d5b4ca5ee0950c293b12b99503bce96173c062c8d16076 |
|
MD5 | 48a8ee061ae5aab33b922d1f6183ccdd |
|
BLAKE2b-256 | a97c2abf98fe25fc61dc630e63f41cf4857f098a26190033bc4894b89445d9ec |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401121705041676-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 361758352ca91a05166610622b6ce37f2ceef345e8af5b5b6b4a76d3b4fb5a8f |
|
MD5 | 5d5de2b731816ed322086a81f59131d2 |
|
BLAKE2b-256 | e85b02be63aeb3eb1d99bce94a517cc7b35facb46f674230760dac2f9878cbbe |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401121705041676-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 83afab7e48c69b3a5eae52e0c0884adc5bb9f9f56f28e65d103b13f3457af078 |
|
MD5 | 1ccd903f4f48a877067a070b8d03a2ec |
|
BLAKE2b-256 | 3e00119e3c25e331ad8f063ee48abd94a41675d157f385431b4c34491870c44e |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401121705041676-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d1744dccc911b14cc700506f2177849c9aef97c5bf79420a2e8fabba377a87f1 |
|
MD5 | b3ea45a9d5daa2b97ccdaed350fa665f |
|
BLAKE2b-256 | 70623f3e4904679ab1630d4ff8ed9e8fc7834e29f615a9c88f2246b0645357d1 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401121705041676-cp39-cp39-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9219a110e9ccb7051d46d4a8070cad91e25873f6592d19915196578f8cef1a1c |
|
MD5 | c55fe1e2f6940071864e23ed62b16243 |
|
BLAKE2b-256 | 7779bc201c34bc71993f98bcb29362a360992e19f06aee662c3ee5bfe2729789 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401121705041676-cp39-cp39-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8a3d79f1f5f434bc3eb21317413eefbf212dc710a7bb92dad93da77022540cf6 |
|
MD5 | 2545a3799a3c8c74cde575ed5360fdcd |
|
BLAKE2b-256 | 45b756a80f878ffc984859b2c183b9599890acdd0d7c2229d9f6222ecdcc1ce6 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401121705041676-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 661cd58466f290af5affc1f2d92d342931010ba01fc9d17ab8db30fd86fb3e46 |
|
MD5 | 5ef51df5f0758144ad37bc55ba72060e |
|
BLAKE2b-256 | 43b7ccb44ecce57ea99ed0457ac82879a74e72f006b480f6c3f5efbb262b7a6d |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401121705041676-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eb37a399613b12df7f2d4b9a8f79fb9a32d6cbc26141a2777671b8947e97337a |
|
MD5 | a32c36878f3b5b6b34e680b9f6082f3e |
|
BLAKE2b-256 | 1a57b99196fb53552b8c8b8180fca62d1bd65b55f346214c169481b08f79f154 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401121705041676-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e294706d158fb64c9148d73ee08eb9ef1d77af3493be5defb23ff88c88c70e40 |
|
MD5 | f5afb1e847f24a89ddba05f374163435 |
|
BLAKE2b-256 | 48b740d6f2626e48a5299bf2d0634ffd869c26bfb8a33238c251870bdf8fdd4f |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401121705041676-cp38-cp38-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ad0d12637d6c586bfe51789c09b88cf9b749f39edbfed9de45da649d15873fe6 |
|
MD5 | d530f057df00f0c5c4af20a5c2fbd600 |
|
BLAKE2b-256 | fb1996aa461b934914ce903ba2b7a20bc47a45c014e74211d98f156963b248ed |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401121705041676-cp38-cp38-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8cc7ff2ad2d483b07c9f4fcbd76761dac7a7e3ca26707c6ffebe7056926a6b81 |
|
MD5 | 95bd4515f89bb6e1b09f46b6cb1d6aac |
|
BLAKE2b-256 | 73d96acf11775939ddbdb73b30ed594b03009f4a57892446a3725dd34617453f |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401121705041676-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6ed865e357919005c0076154f3bfca7dc99d60d5cd65688146b6ee63c75d1c38 |
|
MD5 | dc8ee25001ce6e90e294e8d1cbcdd981 |
|
BLAKE2b-256 | 5f7a9a8f15d1f22642ed28c892b5e46153d44aa72b5176238250192ce4bdebca |
Hashes for pyAgrum_nightly-1.11.0.9.dev202401121705041676-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0cec2a44b7b10b44bd48b34abcaefd46ebfd9dfdb9ead4a31ed266818c47ffff |
|
MD5 | 3f10b755e1e9d158707dce5f783ff41e |
|
BLAKE2b-256 | 84c4ce2d7f7daa0188c986c7347356364892898b1114876e92900118bed54ca5 |