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.dev202402131701813464-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | be63f8185c5c969cf8176d4e79453fbb27823ca3d732eac9fc0097bf75b8242a |
|
MD5 | fcd0f049f1693ed5f8f003589eed821a |
|
BLAKE2b-256 | 36d9b9236ee92f4828fdc05dc4dc2b42ed06f984a97843822333b857ca1854a6 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202402131701813464-cp312-cp312-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8bc584ec130368293899676281bd755e27992e2cc8e9055142e640de3a819296 |
|
MD5 | dd0043740a769fb8dc5cfa8ea739a50d |
|
BLAKE2b-256 | fed5315448bbf6a00aecd94a2a8d138a030907a37ac148ec7050529eae415968 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202402131701813464-cp312-cp312-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5eb9a9ea059007e5de78d6a359db4ef53435b92ab738de589402fc2c920f5d1b |
|
MD5 | 05f690d7481b76d4cb590562b6b977c1 |
|
BLAKE2b-256 | d4248902d8d00a6b38cb253cad7314d12802f50f3542cf868e6646b2fd1c7f86 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202402131701813464-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4264e8a72f6a01899aaf3337a736e1b3f51319eea4bf1c1206209f65d9e4eca7 |
|
MD5 | e15cac2507333397cfca0440a7142021 |
|
BLAKE2b-256 | 2214c938046a1642ca80d4e7350829558401ebfe2b6f120d0b8ff666b8a17cf8 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202402131701813464-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | be05d0f247fb6f4854f767e18f3b1fb9a7bae2807d37e2e4360d308e86ff9a2d |
|
MD5 | 810d62da2ee0299197054018f30bdc75 |
|
BLAKE2b-256 | 8b8357129d1a4e8da84fdb530f40bcb6d96738f0f12b507f58258ae8a25074dd |
Hashes for pyAgrum_nightly-1.11.0.9.dev202402131701813464-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c4571076141568cde052d70e72a250443eeffe49e766ddfeb6c50d9cf0bd9748 |
|
MD5 | bc6ad7b23f384fa4d4f4112dbf4b7ddb |
|
BLAKE2b-256 | 7aaf5a40173fea98067b094fcd70894bd6a7a2a26092c9d810ea418cf2a3fe8e |
Hashes for pyAgrum_nightly-1.11.0.9.dev202402131701813464-cp311-cp311-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f0495158ffecccb551ed9ab9ddb0a92abcaf94254b8d25b25cbcbbd843b2fbff |
|
MD5 | 13ff59b50d5254ee12167dec9136b280 |
|
BLAKE2b-256 | 5e1364d0f5d8f5b10d765684ee035a8227b40d5ba7a166df765e6d411a61d8a4 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202402131701813464-cp311-cp311-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6fa648df0a461d860b128ed7143f98a6beaebf31b5b83decae50d6ff02baca4f |
|
MD5 | e5adb0cc96a4311a9eed2272805c60a1 |
|
BLAKE2b-256 | 80558d5598dda1da625788ed6288e6d2cbdbf579db38d49a980ae5ac17d10ea1 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202402131701813464-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8a644506538cea9db6303d255e8030c5960fc18a65d79fdd1f02db118b5d5e6d |
|
MD5 | 12032be7d7a5777112fc48ab7edd23df |
|
BLAKE2b-256 | 419ab9df713c68ed520070ec1bbf6367781d279f57b42b9355c8d9fd77bd6428 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202402131701813464-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 53e79dd35b717165cbc6b12a476e2f2238320204f34dd58d1129f044d39819ba |
|
MD5 | c9ffbd0e3221bf1d5463f1f793211421 |
|
BLAKE2b-256 | 87bdbc11ed149bbf3f049fb584415fdd51239964c4ecee7260cb2ba5f9428cd5 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202402131701813464-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 00b926ca0ff4f924ee071414a0acadd66c3f87a2bc0b1e590109ee50850c87a6 |
|
MD5 | 662c5f663019224d57de695cc20a46ce |
|
BLAKE2b-256 | ab5ef524c2563a1c62e177476e978f36d86d92264e51da3b333f9a8d4527198d |
Hashes for pyAgrum_nightly-1.11.0.9.dev202402131701813464-cp310-cp310-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b56ad8abc1b6f6d8c5cbf4eb323b8bc1c519e46e4646a0a047600751ce13950d |
|
MD5 | 82b20cb9dfecf4ddf0cf821f315c92db |
|
BLAKE2b-256 | 76bae09f80e3acbc34da2e34203ed0851b7bc8eee3c3f906f2d59ba8c6b14e39 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202402131701813464-cp310-cp310-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 45e8bfa866638295dd2bc6fd23a4ff6670cd9eb02a98dc48a62ea4c89f161e01 |
|
MD5 | 5eb5798216ca7f035e08a2605b0c37b4 |
|
BLAKE2b-256 | 448103b7e81b180521662943960375625d2d2e530bff216be7f31598a7d64286 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202402131701813464-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e3fea5456c63f0e62dd8b9a919d1ae36b1e028d064f4ad6517f40dfcdbe83850 |
|
MD5 | 68c15d999c417ba0bffb5a31a90f4129 |
|
BLAKE2b-256 | ca96f91350637b024cd303f17d6fe97f5a16498902cc79dc477a9b389e939be0 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202402131701813464-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 56fb923652090b49e2b8bca6ddde5a13c8ef6b2f0b6f30032d0822ae4e90f256 |
|
MD5 | 193eceb6d215a24e18cf8aebd5eb2142 |
|
BLAKE2b-256 | 031f92321f119326c71a625685c0f2f5a1002c0ab2cddc02388943f296ec968f |
Hashes for pyAgrum_nightly-1.11.0.9.dev202402131701813464-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e2b20ac93d4bdbe62526f3b36a704f6ef34ac23a040b0754c8914f2dae8d1c77 |
|
MD5 | 17791f4c1699a57a5055374658a0932a |
|
BLAKE2b-256 | 1c7f7a99e60c00337c1f56397c24f39820dad17859cabddd85c925925c2564ef |
Hashes for pyAgrum_nightly-1.11.0.9.dev202402131701813464-cp39-cp39-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 850f296295c804e7711c6d8bb3b36ff85d6a53e176d376e9e13a1f64f1a310ab |
|
MD5 | 0a2ee42e82e582ab62731edad16b10be |
|
BLAKE2b-256 | d97c22c25650457b6003142d999d7a843d74e1553e521848936b3b7750e393dc |
Hashes for pyAgrum_nightly-1.11.0.9.dev202402131701813464-cp39-cp39-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 413d1cba2e8b9a3d1a5b873d0699ac136da65e9f3d5ae8ba4d3cbed080d3efd2 |
|
MD5 | 560e67cb9b569194905f9d1bf6af6f3c |
|
BLAKE2b-256 | 9550d353e8d9a01b9b24bc756aa850e5f764ea917b92551199128692038203c6 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202402131701813464-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0ada40967ca80f9d16ddad525e09359171475220a2c83eee64cb2c8cdf154ecd |
|
MD5 | 2459fb1b067b656e6cdce8d9bff66676 |
|
BLAKE2b-256 | e2eab03fb086b212ae136e535eeb9cefe6e7f275ae2c594b7847a866c3ebf7db |
Hashes for pyAgrum_nightly-1.11.0.9.dev202402131701813464-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 26249da9811e208c7112709139045a79fea89c55a29d7e18cb1514597e564ee8 |
|
MD5 | 55e7f0335e25cdfa328eee104d82c733 |
|
BLAKE2b-256 | 3d18e216bcf347a07ed71d9e505ba930429c20bef797ec64b0880f42140bf391 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202402131701813464-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1ece8ba038eb473b278f8bff9ebd4a5de32f06ce51ae585a240ef57a39474c29 |
|
MD5 | 0a2d955ce177c539cc92a4b653b9f9f0 |
|
BLAKE2b-256 | 0a0a7087dd7804177e9b329568899fcc4b6cc12fdd7349eb3bb524ae8f56da6d |
Hashes for pyAgrum_nightly-1.11.0.9.dev202402131701813464-cp38-cp38-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 35f4b1199a61bee96a4ab3ba42b6c3c8cb372b550752a5aeee4e301732c8e807 |
|
MD5 | b855f01f475c859789e883f92432582b |
|
BLAKE2b-256 | 682bda70bb7e85e6b38c31fdc913ec8ba1ba2a780c88d116900e1f5784e266dd |
Hashes for pyAgrum_nightly-1.11.0.9.dev202402131701813464-cp38-cp38-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 67fc73eeb5a92bceea518ec907090259db8ccd5102286858aa99755c0a6aca95 |
|
MD5 | 3e38b86f261f4c101f5a27839fdb165f |
|
BLAKE2b-256 | f6210eddf8671072275fc219a2a39fe83a21d9399be4c1d3bb726ad803146e18 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202402131701813464-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7f24b65adefd189a33e604a95eb1713a744ac70657dc2d295356fb1f40a91830 |
|
MD5 | b7d3a210361adb22b6f8a1d40d7b8000 |
|
BLAKE2b-256 | 874543edc203807b7f155bb888430fb8a4b1d012a118e752e08ca8a661c7e896 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202402131701813464-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4f2d7871da4fb3d58b726e9a413681f7004ddd9c8b410a8b49d363c05b4e2e3b |
|
MD5 | ee696876447777d8dccc567fc3e58d69 |
|
BLAKE2b-256 | 1d459fa3bc973762d27f22ddaee31a838385d389296586ac419046bd40c6178f |