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.dev202404231713370971-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7fea44786958e7f791f3f1f4116cf03e1f325821eaa73cc2e161db511b8dd22f |
|
MD5 | fd0c7e3141c5852f8319b1cc245c4aa4 |
|
BLAKE2b-256 | 48f5dcfd701ae4802d1650162ffb374646c8bec555f9abb06dae6ca39e3dc4b4 |
Hashes for pyAgrum_nightly-1.13.1.dev202404231713370971-cp312-cp312-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6c2f5b19959cce0e991707013f28d0683e7010edd8b446ec337d683d623896c7 |
|
MD5 | ccba9eec48811126f3750e9de71317e4 |
|
BLAKE2b-256 | 1f91cdae70d07e80f2f5829af5ec7f6ef83d1325e22ac90c2d6cd76e4e5fa378 |
Hashes for pyAgrum_nightly-1.13.1.dev202404231713370971-cp312-cp312-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 417527c59dd2a327a25f85645cedfd7c45a2a7bf9219e90517accf3568bab018 |
|
MD5 | 8a9e065f90fcd4a5352a863d86ef66e9 |
|
BLAKE2b-256 | 6eb51615892372d0ad43aed04d75cce6cba02387f598eb684c128fe6abca095b |
Hashes for pyAgrum_nightly-1.13.1.dev202404231713370971-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0856dabf666b999b295a9d6e04a2551e2a420b64499a2d97edf0a07ca93decc9 |
|
MD5 | abdfbe2f3a8a228c9afbe9a5f4221508 |
|
BLAKE2b-256 | 855eed52bf37a50388009ebcc354156f987fd17276cadee0739cb98410ece88d |
Hashes for pyAgrum_nightly-1.13.1.dev202404231713370971-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 68ff1482c338f201c35fdd121bf08d2d5fd5f9e3c060e7ea72dc7169f19fb2a3 |
|
MD5 | 7ea220c22c57a7e1ec8e3b38a2416639 |
|
BLAKE2b-256 | feda8cd89177da1fbd25a14da72c9604918bbf85a3a4556cf63c91559ebe2834 |
Hashes for pyAgrum_nightly-1.13.1.dev202404231713370971-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 627366ab57851934959a01f92ee178bea284da595b61632c8bb37511f478dfe6 |
|
MD5 | b1869a3bc3b5a31c6ffd44c7cebae48c |
|
BLAKE2b-256 | cc6d914bc410504aa90345d6b5f03db206507da8053393834aea1f2b4f86341e |
Hashes for pyAgrum_nightly-1.13.1.dev202404231713370971-cp311-cp311-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 46c9add224bf248f1e4c017a854240ee6f49e04ee366156a28a84b42d68df8b7 |
|
MD5 | 773ab27b308573d46c8a018a4de61fa6 |
|
BLAKE2b-256 | 1e4ee7353fcdb0cec307bb902836afa21636f42ce61234a0631ad1e40c5d6aba |
Hashes for pyAgrum_nightly-1.13.1.dev202404231713370971-cp311-cp311-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b960005b67cccb8a006282b7bdfadffd2159334b260711a22aec2008bbd3bc39 |
|
MD5 | 776a502251d289dea4259ae17150ab5a |
|
BLAKE2b-256 | 960319144e4594cad9f41261adf5007d05b88a23a333c7420858e20796a49588 |
Hashes for pyAgrum_nightly-1.13.1.dev202404231713370971-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 66b9bce91cf665e251ecf4ca2ce8ffbe847a3f9c0218b8549fa10b8b79c56cbe |
|
MD5 | f1c4eaea4a7233f6badae3484a845547 |
|
BLAKE2b-256 | 21556f9df16c98e3662797559ca3c9ff5b3f9ea2fb5ef6920ec9fa13154b5be1 |
Hashes for pyAgrum_nightly-1.13.1.dev202404231713370971-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4e553b92a0c064ab4ed1170acb7ce4f4baf32dfb0e98965a7a5d8cbc9092406e |
|
MD5 | 4cf5871f4d59b0a90d8edfb7512eeb23 |
|
BLAKE2b-256 | 0f92e83c9343bcaba8bbf2920c01739c140cbb980ba2fd3fecae5902c6f00b78 |
Hashes for pyAgrum_nightly-1.13.1.dev202404231713370971-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 27168fc067d36727380c0f0eae5cfc787b974d8d7af84000c01815ea9bffda7e |
|
MD5 | ead629e15aaf30545fda137be0dc75cc |
|
BLAKE2b-256 | e3d330374d0662e75ef8d7240f0bc70614037b6444aace6697959fad14deb70f |
Hashes for pyAgrum_nightly-1.13.1.dev202404231713370971-cp310-cp310-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b6a63918dc7753b81511cd690282c37b487059ddfcf10708dd22c389bf606605 |
|
MD5 | 0a2f8a72526b69e78437dbd7b3fa004c |
|
BLAKE2b-256 | e3660894ef0684da23bc8019490a3a5db51b00f76dcfd8fec3a267184c42cc70 |
Hashes for pyAgrum_nightly-1.13.1.dev202404231713370971-cp310-cp310-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1c88c76991ccd961833d63647ac59a19dd273767ec95f0fa36d2021703aacbdc |
|
MD5 | 2038a07e0894a09fd264340105fc3a5c |
|
BLAKE2b-256 | befe81a71060d7ee7b000e9620c6707d74124221c7e2c66db026f9004490226b |
Hashes for pyAgrum_nightly-1.13.1.dev202404231713370971-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a896a48cb24e974df2777169e4d992d63683b6481786dce717f386a5c895e612 |
|
MD5 | 72221f3a0850c6e713879cb73f35fcce |
|
BLAKE2b-256 | 6d85e1fd68adad82a15082ee197cc4a87e6a7bbc7eb80202a21c3c34aee283d5 |
Hashes for pyAgrum_nightly-1.13.1.dev202404231713370971-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0743347da4a43e8a2b0ea8823dfd59849228a58f5ff01e41c9b16544af800e67 |
|
MD5 | 8c17b666a0baad9ec6ce286b0a153777 |
|
BLAKE2b-256 | 8f13774a43522b24baf1da49a5c3c9129cf5fc6d89d55514ad1c7dcbcbc76c96 |
Hashes for pyAgrum_nightly-1.13.1.dev202404231713370971-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7b316ee3eb815fc9d91d6acb63d77a04e00180df8d5f6b1bbc84c6660dca874e |
|
MD5 | 14de7ca032e43a58ce758718898d7862 |
|
BLAKE2b-256 | 1d3ef3e11942c029561a1a07d6b96404db13951867cbb3652b73d7732bfe104d |
Hashes for pyAgrum_nightly-1.13.1.dev202404231713370971-cp39-cp39-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8a895d3a69d7a48705cdc73c50d0caeabec4d55c652d93642892d3792632e405 |
|
MD5 | d31ad478d7a5f4b7e9f0ab80005616fc |
|
BLAKE2b-256 | db20ca074bacb77cb2d845558f2a7a7accb404648b35270f8cd82bf2b283cd02 |
Hashes for pyAgrum_nightly-1.13.1.dev202404231713370971-cp39-cp39-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8929437056041b0f389c2d1caddc74b7d96569b2d291d4386192da2f9569db24 |
|
MD5 | 03507b5c99effe92b7ead6f81990dadf |
|
BLAKE2b-256 | b204116bcee08f272759a6ff1efb14c818829e86e7a0ed20890ecd9b9c3262b0 |
Hashes for pyAgrum_nightly-1.13.1.dev202404231713370971-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 19794ccae5b47b6f62bb81648efff3b21ee73f050150de35165b17b2804bbb5e |
|
MD5 | 2b6631154c78d4afd648e4bddef21b54 |
|
BLAKE2b-256 | ed91db0437515c9da702268d16caa838938c88d873c0422857a07fcffef80f6a |
Hashes for pyAgrum_nightly-1.13.1.dev202404231713370971-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 204ee88908fe09e560ae08c091ad5af6dcad0c25a00106bf5405d3cb88045cf4 |
|
MD5 | d9521e0e23d0a1646f63357674970097 |
|
BLAKE2b-256 | 6f5e3e6fa81b8dd5f83b4c0ca8786badde0e7970ed1d1003a41b860dfbb90e67 |
Hashes for pyAgrum_nightly-1.13.1.dev202404231713370971-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 669d6a1eb4704e267489ab1e34d6c1ca41e9c59d843967fc0d94f3579a9fc55a |
|
MD5 | effc558ca40d17866ed7b26cb2996452 |
|
BLAKE2b-256 | 6f7e27b0dfd65f61e3c22f8efdebf4a8df18357162f08023e9b08d1c82d9b887 |
Hashes for pyAgrum_nightly-1.13.1.dev202404231713370971-cp38-cp38-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bd41a73dceb8aeb9cd586d9d0736e6462e1175af4928aa3aafafa08ec736bc5c |
|
MD5 | 60231ac0c31155e25176387c3765ec15 |
|
BLAKE2b-256 | b28380311f0de263512ca2571784f94cb191cd452d3fc5666550cbb3cf089d29 |
Hashes for pyAgrum_nightly-1.13.1.dev202404231713370971-cp38-cp38-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 00abbb25a532b18d16af044bdfee859f5234c20f1f29326c456b383d826995e7 |
|
MD5 | b8a22fa58aca2e0716886a3eba87a95a |
|
BLAKE2b-256 | 9818d7772925fa1e1f096b6fe0164be897dee94004eda59bbcc2070ab79889d5 |
Hashes for pyAgrum_nightly-1.13.1.dev202404231713370971-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d6454e537365671cf396fc7a800d27bab1b4ad2c9f30d5ee2a6fa53e1fe3d183 |
|
MD5 | ecf1aa3d96518f61348ba5d08aaffca7 |
|
BLAKE2b-256 | b340f74d9bed120217308efea97f5ffd29eac6b47be715d665a868d577b66edc |
Hashes for pyAgrum_nightly-1.13.1.dev202404231713370971-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dce5781359559f920085cd3eee31d8e2757c638b9bf6b4a7d78159d9eb02e04f |
|
MD5 | 677e31e85a143cd633af089e046aa833 |
|
BLAKE2b-256 | dca0cf20276f6a0adc3a0972f0b5b313bbb58b0a7891ed485e8de49b1cabd7f6 |