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.dev202404291713370971-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f9e438a5c2c2a0f216d665a48e872bcf96b34b77e7a5380303701b5fb2b61bab |
|
MD5 | b1bf0ff2eef580e603a1b9d94be11cf1 |
|
BLAKE2b-256 | ef431cd713b503983d58f9d0dd3efcedabe7397f35e554be7bb5553bebe9f9ac |
Hashes for pyAgrum_nightly-1.13.1.dev202404291713370971-cp312-cp312-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c1558f488f362d3138327288a79e4d18e3c0b7e6f60274a8a73a31a4b923d259 |
|
MD5 | 0a408286e60d1ac3d85449c77c8f9c85 |
|
BLAKE2b-256 | 746e44bad3f7babae065d47e3b2be8513f6136cd6b2b68fe382d533bf7ca91df |
Hashes for pyAgrum_nightly-1.13.1.dev202404291713370971-cp312-cp312-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a8a9fd6cbcd7178ab3d978898883d8cbbb34ffd3782679ac10982959e9d6e6c5 |
|
MD5 | 79e754124d410a519b12f8a19963df4d |
|
BLAKE2b-256 | a4bae00045378a24370979903cd1ada05a725fe42b43cbf2c5492853b4aa44c1 |
Hashes for pyAgrum_nightly-1.13.1.dev202404291713370971-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 049d4be80cd32e54d5ca417a49d0a15fd75fd40ab925f50fa52ffe5d21c7c99d |
|
MD5 | eb5fb82761fef9b44fbaa93ef897555f |
|
BLAKE2b-256 | f775859bb4a3e12b95214c109c749421bc8f0055f48c4e6b9de9dd1ed358f795 |
Hashes for pyAgrum_nightly-1.13.1.dev202404291713370971-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0edf664846e2f62d9a492f083cecceef5a968397e7f0cdf588011b36c45c5d73 |
|
MD5 | 509213c37c0b25b84cfa4997af82d958 |
|
BLAKE2b-256 | 9cafcae4ca481bb224837458d1cb045ff3af04027394bd348a62b97387271d20 |
Hashes for pyAgrum_nightly-1.13.1.dev202404291713370971-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 59832f1034b9d69ee5063a368145d4b13c7582b086f78fae1785c4800ea67d63 |
|
MD5 | 3c20fc74fbfdff09261f93607a80b0a4 |
|
BLAKE2b-256 | c71ebb945c4610c85aa26cd3b00742f68ebab7decf97c270e58230e0c85b3c14 |
Hashes for pyAgrum_nightly-1.13.1.dev202404291713370971-cp311-cp311-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 36584d45d7b345eeb7d4d82a75ce2e616682561182b00afd74c17e8d781c21b6 |
|
MD5 | 38bb094a18ff95a07a06b901a8bb5f69 |
|
BLAKE2b-256 | 896f9aecf4eb1935325fb156c3e0479b293ee839bf56f5d32611ba248a45bba9 |
Hashes for pyAgrum_nightly-1.13.1.dev202404291713370971-cp311-cp311-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a99dbbd05a3c3c3dfc21c6279d4acb21d0e180d89a2de3b4a36874547b70aac6 |
|
MD5 | 9cb0ee65a201353719d568b9a5d9160f |
|
BLAKE2b-256 | 8fccc50513c05c7f0fc53050e4da70b682d5f487e06335fcb72cc84ae5374a27 |
Hashes for pyAgrum_nightly-1.13.1.dev202404291713370971-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9b4447cafd22d571cc401e2ac230eed3eb7908058b686de39b1977c70f566a12 |
|
MD5 | 9578cfb9cfd1ceca3955add555e031ca |
|
BLAKE2b-256 | 70f12d56b9f32eb613509b92c52f31a3247dd57fb7a2f4c66b0d1e9f5fbe0931 |
Hashes for pyAgrum_nightly-1.13.1.dev202404291713370971-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 811678c3fd2aec78aaff0eccce17f6c2c3ec91697330907d1636b9c274b1e829 |
|
MD5 | fe328389c16e25c79634ea6845caaf9b |
|
BLAKE2b-256 | 045ae6973b1b8a70563745b1cde8a6f76824e773c95e2029659a5e03b385a650 |
Hashes for pyAgrum_nightly-1.13.1.dev202404291713370971-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fc466496e7119fea7a83bc8ce4d76039748727b24313496daf245d26aa9b5736 |
|
MD5 | 7b17f6372929f0588086fc0377e89cc5 |
|
BLAKE2b-256 | 96aef8ea6f720660e88a420c9f777590dc525b13713ae7b0e98d13547abf18a6 |
Hashes for pyAgrum_nightly-1.13.1.dev202404291713370971-cp310-cp310-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a1376238382cfe37e09b05209ea0f3cda26d0e6adbe02bb8d1b829e0f89ae9d3 |
|
MD5 | 7e1d03e5e292bafc3240ddf59c46219c |
|
BLAKE2b-256 | 6d76cc1141571847136f1265ec08050d023afa04aaf6195ca1731188e2c322a4 |
Hashes for pyAgrum_nightly-1.13.1.dev202404291713370971-cp310-cp310-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 26b17d8fdb63b48ec66fa55db35cf3bc1f1c80ef7a5f1fb98504fff64f993b5e |
|
MD5 | a46749b45d6dc8dc329b9255cafa9eb1 |
|
BLAKE2b-256 | 755e326ca28091fba8184be3349d795a8f24f772109cd14e0f56e51ffbb686bd |
Hashes for pyAgrum_nightly-1.13.1.dev202404291713370971-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 08882b0251cacf0ecc17304663e4a7db48984e313d614fca96997f9b61b9107c |
|
MD5 | 03173a31c9b0f6097209dc2db22a9e14 |
|
BLAKE2b-256 | 6c3ee3b2c1fd2fed3833818806cc38028415a755bd79973e59f4b7aaddd74119 |
Hashes for pyAgrum_nightly-1.13.1.dev202404291713370971-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6f6a460e1d325cd8d3a161014a7bffea5e73b993f66ff52c180c2b32c5fb8adf |
|
MD5 | 9bfeaa1bc83d79b944ed0601a61c24a8 |
|
BLAKE2b-256 | 2070b3f6d3548b6706c0ba7e3a77974bbb31963703f7fece257223fb0261882b |
Hashes for pyAgrum_nightly-1.13.1.dev202404291713370971-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 07d4e45caa477f8ff3bee2eadd9e31cfda6b6d1a8e15249676f46ac389900681 |
|
MD5 | 24dc5d3c056adabcd81fd4da1fceb3de |
|
BLAKE2b-256 | dd0e61015cbde28d15eb400ce1817af67b63b072f91461a1e95223fdcaf26a58 |
Hashes for pyAgrum_nightly-1.13.1.dev202404291713370971-cp39-cp39-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c45307df8272e23543e9387394423e9ebbae55c8836a8dbda40a2d476fe73312 |
|
MD5 | a20d77754d8936abb959ddf25f7bfb5f |
|
BLAKE2b-256 | 2793d55fb7f584c14a0b95f33ffee1cc0f57322770431c8c8760a4b6e378b492 |
Hashes for pyAgrum_nightly-1.13.1.dev202404291713370971-cp39-cp39-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c9a71062761e6bc4b78464d4772939c1f132eef5d1260f73bc56452a2b8224e9 |
|
MD5 | 4f00817736a94b16c4d7db2ff5de5dca |
|
BLAKE2b-256 | 176c05b1cba96720cac8db71c5105d3a63d4b9e9215f8319a41ecb0ba67c850a |
Hashes for pyAgrum_nightly-1.13.1.dev202404291713370971-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c3b44c357ac8b219754038096f2861823980e27fa49178561c253a668156628d |
|
MD5 | 7f76f20b2a3f63ce144b6f3f627f1a91 |
|
BLAKE2b-256 | e0a235daa7cd43e47cf46e862cb8639083949432170c5457d8ce16d8f5a50111 |
Hashes for pyAgrum_nightly-1.13.1.dev202404291713370971-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c743a383549b67b6a3b6e4be3eee78028f2d70fda40c2808d99715555380da82 |
|
MD5 | 509ba840917bdb6aa1fe7cae96e2fc34 |
|
BLAKE2b-256 | 9e8eb302c886c9a18ead5421614894b8442523fcc94a2af0f896b83d0888485e |
Hashes for pyAgrum_nightly-1.13.1.dev202404291713370971-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 268fcca03f17ca3a5ad12c369d49260f37f665dea51418c5265595479ed30d9d |
|
MD5 | 9629305ea493651e4b2132dbb3cc0882 |
|
BLAKE2b-256 | 04d57ee4a9395e8c089b789dfd655440841c20544e28a8390c76c9314faf112b |
Hashes for pyAgrum_nightly-1.13.1.dev202404291713370971-cp38-cp38-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 74bb6c25e303f47a1fc5433d0c54977ded324a86c12ff47facd93b648e097944 |
|
MD5 | cd584deb37de182d0197980fa42763d2 |
|
BLAKE2b-256 | 5e9c32fb3619da29b3f79be26bd8d7608a353fa123a6a4de80a8e1d7b4b1b59e |
Hashes for pyAgrum_nightly-1.13.1.dev202404291713370971-cp38-cp38-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f96af76bf5712a0fafc0a4790fbccc77900e56dcb84ca5717115b4f995757a1e |
|
MD5 | afb992c283027a808cb989acb5d67e87 |
|
BLAKE2b-256 | 42ffd40410fd09544d9b82c59c59d79d3c0d5bad8168746a48b0a995f1a584c2 |
Hashes for pyAgrum_nightly-1.13.1.dev202404291713370971-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d6c0ed80140d342e545cf06da76f9c90968133709fbc8917f2a81578c6a57e57 |
|
MD5 | a1af958e99daa0b103435d94cd41af53 |
|
BLAKE2b-256 | a9f2a24ff154bcaa6fe659a79e6c61359d77105535e915145ab44dea579c2ffd |
Hashes for pyAgrum_nightly-1.13.1.dev202404291713370971-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d1f4fbd9e438f2649894649e7ac0d7d7ff62f83fa33ea9c318cb4dea16bb1f4f |
|
MD5 | 4b12de64f59b874929f72c3e8861b6db |
|
BLAKE2b-256 | 6054e1e12d22ba044bcb8c076bbf96b37323b38eea7b356ef98ccddef92f4833 |