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.13.1.dev202404261713370971-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 437659ee23b635a3de06f866fbc56442574d975462ceab664f005f7196fb6066 |
|
MD5 | db313c45818582a13727089d04b5d582 |
|
BLAKE2b-256 | 6c46ac4a9a0c826051e234f17965954fa223a2f9d7ccecb0d2b6b803854263c8 |
Hashes for pyAgrum_nightly-1.13.1.dev202404261713370971-cp312-cp312-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 53a70694f0de81e3b47972b5903130c0bfc8678ad3fbc80e49c321daf02439f7 |
|
MD5 | 6a370bfbe8381944afee6987fbfc0f89 |
|
BLAKE2b-256 | 9efca806945d93a09e2d3421be2a4740e94277afb19f56291f981ba949d36e80 |
Hashes for pyAgrum_nightly-1.13.1.dev202404261713370971-cp312-cp312-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dba521c9bb99c52c100eb36fc6f73bcc78030ec9e51966c1ddd60a51966091fd |
|
MD5 | b3c13d1bc8fd5bd7fcd34e0df3c13c88 |
|
BLAKE2b-256 | 99eaa532767766457c8a19e0193f4730afc46c8be8026e22b1f580539e23f06f |
Hashes for pyAgrum_nightly-1.13.1.dev202404261713370971-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4849727438462288a70913f0062a0a37a676fce7d70f1489fcda9532950b663d |
|
MD5 | 298bc1491a86365d7039242be85832cd |
|
BLAKE2b-256 | 135f2cf9f6bdd1c4d9e7aa5729a7c552db93eafd4551b83f64be81bd26e0a5c6 |
Hashes for pyAgrum_nightly-1.13.1.dev202404261713370971-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3be2a6e9270bad91d2dcc37189e10db8468fa1c28376647f5337f2674198de26 |
|
MD5 | c0ae93431e1b34d424e435866643563e |
|
BLAKE2b-256 | 47c700b8b6b93b1d8311b97b6878322cc996a33f8e09c106027debdca463d3c7 |
Hashes for pyAgrum_nightly-1.13.1.dev202404261713370971-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9318c1a787da0917e965e7d13a566b3c6de57e8d1597c432b17532d67de6fa90 |
|
MD5 | f21689c57fc0fd817e660afdbc97d376 |
|
BLAKE2b-256 | 36f15ccd40f1d80a93cc5605d618e20b9ca75987ba893e1d0fcc2accfa961297 |
Hashes for pyAgrum_nightly-1.13.1.dev202404261713370971-cp311-cp311-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 578029d32456fc2fd203c3aa00f8b62f05d61d3eb3a21b6b881da027f883c56b |
|
MD5 | fc6a3024d48d16c1441dd60cd07fcde0 |
|
BLAKE2b-256 | 5b760f32fe24edd8209cdd28a5aae58a474074f52b3cde7b36e9ca77136182e3 |
Hashes for pyAgrum_nightly-1.13.1.dev202404261713370971-cp311-cp311-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | aded2e8e58756c24425c96d9055b23331a1103c34273bbd7ee32127ea3108494 |
|
MD5 | dc71a18d19707ec0a8a14b5ab3ca0c7e |
|
BLAKE2b-256 | d5bd0bbdeb3f4d9e2875248feee8050ba10fe4a4224321c67654464c8ff118d4 |
Hashes for pyAgrum_nightly-1.13.1.dev202404261713370971-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d224c24caa52fa2021c5ae89ebeff91e4356e5a471a38fa32707a42fe266bfa4 |
|
MD5 | d1d3809903d46625b222d19bc74d0dce |
|
BLAKE2b-256 | cb64bf18c611bfb1b044a284e7c948cd63dedfb876d35164ddacac73402e0e2e |
Hashes for pyAgrum_nightly-1.13.1.dev202404261713370971-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ebf8068a30b76e798e54c53387ff4dd5af8ee42907b3b9ad72c68a499a6c5113 |
|
MD5 | bc9fa6fdee27a180021d8443aac47a19 |
|
BLAKE2b-256 | c123f8fa481b384d439c0cb93faade4ba400da3bdd9375172bdb361d43ff3d7f |
Hashes for pyAgrum_nightly-1.13.1.dev202404261713370971-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 826e35acf79df8c88e5ff76f32641b9b0ad073e12ee80c42e502f211c7c9954d |
|
MD5 | bfb9f223db97d9cae1eb9048661f358c |
|
BLAKE2b-256 | 6fdda0aa7d59b407b208779ec2d34ed022a04b7eaf6ea36d3dfaeb638d2f466d |
Hashes for pyAgrum_nightly-1.13.1.dev202404261713370971-cp310-cp310-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1ba6124d75a77b131db67538a0840755a044a5a5c61bba6b1948f69b0ed018cc |
|
MD5 | 9c3c034ba34753acfc13ebf29f4a2850 |
|
BLAKE2b-256 | 71c9c2ec853ab594fe2667045b9df39377921a1a59a4823ee72cd2ee4d6669fa |
Hashes for pyAgrum_nightly-1.13.1.dev202404261713370971-cp310-cp310-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | df04b71cfb13a4eb646c83bc87e29f48368e6e00efe39e249389d3ef4f5f5dc4 |
|
MD5 | 6e22c6b2560dbc9ab614bba594a04b2c |
|
BLAKE2b-256 | 00ea0908887662e5f8fa506e5ac1e640762b9e41aebce0f5942530f8c78e7cd9 |
Hashes for pyAgrum_nightly-1.13.1.dev202404261713370971-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0896463133e85674c03c6602764022354a7789a2e7603d1ee6034e4fbd13a5d4 |
|
MD5 | 0f21d70d02c21137c1e3bc616a8e382b |
|
BLAKE2b-256 | e8bffa0b1c4a675cef7525752098745599b2cf9f70bf30b8cd52bad1a7d4c0d3 |
Hashes for pyAgrum_nightly-1.13.1.dev202404261713370971-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2e2fcfe60057d8e16b37136045c56468e7ea7ce80870762b5e4972145243b2e6 |
|
MD5 | 6d979ba14a63e9609b2e75e2867a2fff |
|
BLAKE2b-256 | 4c25d304f7641556a8d3c45295e1a7f3f312a62760ed7ab575f1fad796efa86d |
Hashes for pyAgrum_nightly-1.13.1.dev202404261713370971-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4476ab8d35a944ded7d3eccdc9a65bf4546f41c39dc87dfb71dba9d1fac7b2f1 |
|
MD5 | 787594625f92c0cce7fe9ade10610c6f |
|
BLAKE2b-256 | d55c20e49d9f12ece26bb4ed8dbbd9881fbb537c4d4c2f35aab2f4ddbe944fdc |
Hashes for pyAgrum_nightly-1.13.1.dev202404261713370971-cp39-cp39-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8b424a32ded2b0fe0b7347213cb4c819983a25844a947adbd9b5f914f60c173b |
|
MD5 | 974cff6eaad4170d5c807c023f9edd71 |
|
BLAKE2b-256 | 49322c73f8854fb42bcef8adabb0e20429c875f18368f66d5a94d5bdd7e92aa9 |
Hashes for pyAgrum_nightly-1.13.1.dev202404261713370971-cp39-cp39-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 78f5c5b19302e6eca4b361afe99979c49d952a44e2e03500f992410e007fe37f |
|
MD5 | 22e2cb7aefc55a03e1e1ab1d130a5159 |
|
BLAKE2b-256 | 84286e6d9d1b2b769c872d90cf4a0928f7059b48853def39d7eb9c0fab4cef8f |
Hashes for pyAgrum_nightly-1.13.1.dev202404261713370971-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7945f053aeb6445829be7fb8eb61312c37f3ae414834f5cafddf5a1d7496e63d |
|
MD5 | afd30251e414b2c250d42a7d82e89bc8 |
|
BLAKE2b-256 | 5b378dfa246f36d828ba496c42eadafa3bdad4618afa400af0e25de52caae5bf |
Hashes for pyAgrum_nightly-1.13.1.dev202404261713370971-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1abd68b0cab1c3126ab071b38ec8c604dc9470e663e923451f9db7a6faf3a7a4 |
|
MD5 | 9fe46c2952da56eb0975f2f57e8e2a20 |
|
BLAKE2b-256 | e497931ed6077154237ef5e78c9c1f96a14ed22a929bd66a7918ee2883f0d789 |
Hashes for pyAgrum_nightly-1.13.1.dev202404261713370971-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 91f74227554ae8f424221e404427ace10ff5bfd2803c5fb715b8869594c82c38 |
|
MD5 | 8bd16caf11ae6f57a58735909214ccd3 |
|
BLAKE2b-256 | b7ddc37d82b03fe7c9281fe53e13fb32972cf09e11c054c1156c79d83333fac1 |
Hashes for pyAgrum_nightly-1.13.1.dev202404261713370971-cp38-cp38-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bd880235c93f36d1655b90d9ddce1f28643bf287884ed92571ab49d8e76ef589 |
|
MD5 | 75ab89355ceefa096f01a7802f4e9624 |
|
BLAKE2b-256 | 700c12d0824741184133eebbcc2cbe6aa8ec8126985b2635c31c1b83219218fb |
Hashes for pyAgrum_nightly-1.13.1.dev202404261713370971-cp38-cp38-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4986318b54dc5b7391c5086d0301c27a75f98cb37ba104735b37337bfd61abf8 |
|
MD5 | d8518cb79c1d9b444c3853fac0fc19eb |
|
BLAKE2b-256 | 731acce6361f8d442f272e8bb415775ebc0eb0a8cc08c3f592552b3821507e58 |
Hashes for pyAgrum_nightly-1.13.1.dev202404261713370971-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 13e9e94e7e1a6f3c1eade0845e34bfcc09b96128b1a05fd4d13e47e9591bb48d |
|
MD5 | 578b7350727664883622069b7f94f4d1 |
|
BLAKE2b-256 | 8a4aa4ab645ccca3d66078826a81301559fbfb1be9ff6c46efb6a30858f69229 |
Hashes for pyAgrum_nightly-1.13.1.dev202404261713370971-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a0851693e764d4b7f4b58d826d678395e256e3dc0712975e71761ebf2cd6858a |
|
MD5 | 9a69aa151845b506db96bb8a01415804 |
|
BLAKE2b-256 | 66251c0f73f780261f626522bdd27906f900cbf23472bbd196d15dfa09ef2d3b |