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.dev202404241713370971-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fdff237af7d624da159249147587d9b3636de902f24618cd5da63bf439e322b9 |
|
MD5 | 770f9afcd8b55c512df565ca77f5c469 |
|
BLAKE2b-256 | a42a5a40ceed04253d1600e2a9562494bbc42c3cf1a883bbc25008e6e40ab7d9 |
Hashes for pyAgrum_nightly-1.13.1.dev202404241713370971-cp312-cp312-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 25e477785b9d051413169a2546ff5afb542d3e681694e26048e9a6a9ab4fbf3f |
|
MD5 | 009cfa50fdaee3b05d9d4cee937cd485 |
|
BLAKE2b-256 | 435f3d2ec194bb6fe6eb54f96368deed0c29666458560f2c413ecf3dda0ef2b8 |
Hashes for pyAgrum_nightly-1.13.1.dev202404241713370971-cp312-cp312-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9070730a5943065587cec482d5dd9dbb998c63f57a4e0b47a283780c78198e37 |
|
MD5 | 9d5373ca49190aa167389b27cd1a271f |
|
BLAKE2b-256 | 9e916b9d6a4aad0944eebeaf359c8530724db7ecac342798de796b20f4f5389c |
Hashes for pyAgrum_nightly-1.13.1.dev202404241713370971-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 165266585aa65026435a8bf20630767733d1e19b5acb144dc1ca6ee766d67ce9 |
|
MD5 | c01abe4eb282c0c3af457a4d0efac7ce |
|
BLAKE2b-256 | a2a36b3b62358bbbc2e5f4bf3a22dfc7b4e58e294cd11ffee65c6719c3d92a3d |
Hashes for pyAgrum_nightly-1.13.1.dev202404241713370971-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e47e17d1dc7215d3381584a00df2452fb0be22acc273cf3040d109ce9cc66c74 |
|
MD5 | 46ca208380cd5fba8e5bbcffdbf23a0b |
|
BLAKE2b-256 | c97e79fd48ba407deb1e899771267bd3aa9cd5fba2cffa12203ef53eeedec595 |
Hashes for pyAgrum_nightly-1.13.1.dev202404241713370971-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ead57c78ab943fc5c905662a42300caa77a8f505928fd622c8e2f9231158b358 |
|
MD5 | 14a4467fc6cc322a77975eccd98291e0 |
|
BLAKE2b-256 | 839791f8428b368500f1889abdd97be2f72b9c4a68f4d873590fead61cb48de0 |
Hashes for pyAgrum_nightly-1.13.1.dev202404241713370971-cp311-cp311-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0b861fdfb77e672e761354f14a6767a28a735f4331f9d5c53efae6542a43503a |
|
MD5 | 8818f57524dd01742c116c347ea48c84 |
|
BLAKE2b-256 | 0c69a1c94972af62906f91bf2695709383d976a8336f7e2648ad35b8ab78fcdc |
Hashes for pyAgrum_nightly-1.13.1.dev202404241713370971-cp311-cp311-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3ee7c92303a99d9d2bcfc67ab1d19521ca5b03a31448760838df5371490d74b3 |
|
MD5 | c0eaf68edd840442003947b5b648dc1b |
|
BLAKE2b-256 | c5a135c23dd3633f2a39ae34ecf3e88249ccefdebd2e3c0f6a54f8f0b2da1e10 |
Hashes for pyAgrum_nightly-1.13.1.dev202404241713370971-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3785847e63d8a1d1358825e134ddf8b52ef1b4933f048620d27181880c2c38fc |
|
MD5 | a4ddb0dab630c7b0365e40ae0e0f9ad1 |
|
BLAKE2b-256 | 225a4b419b1bd6798cdb607c2358d7cf9d3481e1bf0b87074e5319cc459423a4 |
Hashes for pyAgrum_nightly-1.13.1.dev202404241713370971-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6709f1ae29a64c501818b6586b944595d3a19c20528d9c3873f50d9a995e16b9 |
|
MD5 | 69532969b78b84fccad69e43b3b05c71 |
|
BLAKE2b-256 | adb9e3762f5e5aeabf89393d31ab1a6a6e178942b78e42305e06822b71e0cd87 |
Hashes for pyAgrum_nightly-1.13.1.dev202404241713370971-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3801977b7ccb5c6a071f9b75a54645270ebd7e59fdd6f4004691d06341856a3c |
|
MD5 | 94987b5e00751f6dc7c5f011a920ce6b |
|
BLAKE2b-256 | 9d2cf6cd64a7ffc68f5bd2071a54c754f0e788714d5475e101a60fb6fda167fc |
Hashes for pyAgrum_nightly-1.13.1.dev202404241713370971-cp310-cp310-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b837f214dc1605f553b7821179bbf178aed31282116d4dd53decc355839ef7f4 |
|
MD5 | 5bc99313f7128f01a695e396daeeaf4b |
|
BLAKE2b-256 | 202d3295999e7184117b39d4d8ee2815609a3e44231534e77290341763b29b47 |
Hashes for pyAgrum_nightly-1.13.1.dev202404241713370971-cp310-cp310-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ba0ab8e06520c85a34c54d6ea6237f81a9c64c5207d625b89acb708a1671a7ea |
|
MD5 | 0a340cba8c5570b9eb94087dd9e129dc |
|
BLAKE2b-256 | 41ee0b35722eefd1e396e347ae3c024a552cd5ae04cad99bf5ec986c5629287b |
Hashes for pyAgrum_nightly-1.13.1.dev202404241713370971-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5040392bcbd985e458ef21ba130f3ff2a638b3ad6da858cff57b4f5d492d6cd7 |
|
MD5 | aecb64876726c0b6fc74665df0ea1434 |
|
BLAKE2b-256 | 4bf21d735a9133dc10408a00ebd89832d78f1c885593aa64528d00388c44f0a2 |
Hashes for pyAgrum_nightly-1.13.1.dev202404241713370971-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d0382e5bf9c43b06362591b15cecff1c6e3906efd66816c3996932c62aee2ceb |
|
MD5 | ac45734df336891c5e92d345cf7295b8 |
|
BLAKE2b-256 | acb5cb9a3eb6f1efd20a84c01e0f38d7a9d8adbee5821193b770fbc244f427c3 |
Hashes for pyAgrum_nightly-1.13.1.dev202404241713370971-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9066c8cf362e5e3b1df99601df0bd89fe7a2042dbceb2c93d5967f02202a26de |
|
MD5 | 57990a7a2f77eb045523bd51734b3d75 |
|
BLAKE2b-256 | 203469800f239311fe98b5b923df79776073ce7d248ead8af2a11c17b19ed1ea |
Hashes for pyAgrum_nightly-1.13.1.dev202404241713370971-cp39-cp39-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e6aae4781a6df9ac90b9b0129f096d4a70eadbce9e0416a8655a69f7a2a072d8 |
|
MD5 | eb2fc410b4caef1fa7192fc640161747 |
|
BLAKE2b-256 | 19542ffa6a4c82bb30a5081d0cc25be2c52d9c2988869ebfa9e8052eeec7679a |
Hashes for pyAgrum_nightly-1.13.1.dev202404241713370971-cp39-cp39-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3bc7a31743c347f889a4785d0c5bd557b679eb4eaf7ef34ea554dd468df468df |
|
MD5 | 0d90a45866f8680b173bfced1cc69f57 |
|
BLAKE2b-256 | 36e3454012b8f3af37b32eb7a302134c2f14fd1023f6ade7a416b0a7c5f144d4 |
Hashes for pyAgrum_nightly-1.13.1.dev202404241713370971-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8f5e4c1546dd8f5c66179153c1c52829aaa474ffad5d678d7cd125dca553636c |
|
MD5 | 008a615c3411fc3a854dc2dcbb4a5d40 |
|
BLAKE2b-256 | cf4a455fb397e8e24ec3d0c18d95efaf0a7f1b263c00717969332c9329f7a439 |
Hashes for pyAgrum_nightly-1.13.1.dev202404241713370971-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 07e8407900cd2bdf798408d89511feee3405ff0e4b229a5c0337a08e2c1b716e |
|
MD5 | 86496846f7736f9bf3d3be876bf38b1b |
|
BLAKE2b-256 | 5b6f0571686bc776986d7e50da73cb0d49b24e3ebb0849623ba33177916ea573 |
Hashes for pyAgrum_nightly-1.13.1.dev202404241713370971-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 273fd73afb3b1dad4a53885debad7e6d100b84044ceb4ec3fa029d0ede2754f0 |
|
MD5 | 0b851a12ab84a82eb8fa1c8a0deaae62 |
|
BLAKE2b-256 | 0ede9f7a60c81e19f255f74b70ebe1d104da5d9d0fb42f0a63d39d187d7967a1 |
Hashes for pyAgrum_nightly-1.13.1.dev202404241713370971-cp38-cp38-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cedd26c1a361cc7e8140dd52097b6926dc666752d4770a5cddfbce1eb875d705 |
|
MD5 | afeeca9a3cc29d03b362db3f4e9b2bce |
|
BLAKE2b-256 | 14470a6dd75bcb5163eeec49207735c0d98454c44b0edebe11b9e57682de4eb1 |
Hashes for pyAgrum_nightly-1.13.1.dev202404241713370971-cp38-cp38-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ccfbbee95024d00521e222b040b01bfc8e4e3dcb0f8bb8f0d97dd38a0db3ee86 |
|
MD5 | 27f7d851f6a9d18993fef3cc43fa3f72 |
|
BLAKE2b-256 | facb4c40f5f75c663b3c844adf293834479dba1d9a0aeb1888f1549ca8770cb1 |
Hashes for pyAgrum_nightly-1.13.1.dev202404241713370971-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f0ca9aa8e8ff0239715745e3b7db55c33a24628767c92618fb68a09ac84379d8 |
|
MD5 | 9954234d8c7cb33e5a1364ef52bcc762 |
|
BLAKE2b-256 | 1fe952a74342478bd4467d2a8f8e6df3f5c1b4e318e3ab4b8bb2f292bee86046 |
Hashes for pyAgrum_nightly-1.13.1.dev202404241713370971-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 86c4173fa4424719882f530f530a0a16a1703dd5758303778cdd5f368b63b670 |
|
MD5 | 7939c7dc56ee87e39e577fec5aa3052a |
|
BLAKE2b-256 | 77be7f6dae47bc4f195e0b96f4049ad03455dc23726dbad38173408c353c978c |