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.dev202402111701813464-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3c3920997c97c3ba7159f9b3d38076fd8e6455ba486c50848bb4a8fe6e092def |
|
MD5 | 4fc90dcbe726c51a7e81e04d62b95866 |
|
BLAKE2b-256 | 1bdc2aeab84e55dc54768213234bfef826ba450769bde20ce55bffcc70e5b9a5 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202402111701813464-cp312-cp312-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ee05a9286a316bf4f08a090efd0f9578ed9ac37a5d5e01e80685977516fc6490 |
|
MD5 | 663b497e190db04097097f5831b8552a |
|
BLAKE2b-256 | bd684a4f94c4f7111b54e5f50fdc18f2c5ec8c3e162d24242c3d82a58a770d8e |
Hashes for pyAgrum_nightly-1.11.0.9.dev202402111701813464-cp312-cp312-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 77aad66ee6c8cf7a142b79a998f471cb6666b634779f5805c54e8658dfc9cb5b |
|
MD5 | 0236360d9e4b57f7533fbc4845bde1b8 |
|
BLAKE2b-256 | 91672b00cea152929896739ee2d35144ccae88f8b42d72098726ef069451ed75 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202402111701813464-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c9b42284ea4cbf2fd3f3aa4fe465feefaf2bfb795f03f415ea88b6f11945e97f |
|
MD5 | e7b4f0b534bc696f1b905bc2c7f0082d |
|
BLAKE2b-256 | 0af2ffb3ce4a9850fd098784b9e9b6670606aaa6fc22df8dc39934964548c334 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202402111701813464-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 385b3235bff3ebd02d9030b5b4abd4706e23c189f999d772967558c08b9c4bc7 |
|
MD5 | 15f5a4a9e84507100c36a132fc68cff7 |
|
BLAKE2b-256 | a32984ab1bfaf81487a9737bd0a1fdb42420f6e19a678bf80a63ef9a021a008e |
Hashes for pyAgrum_nightly-1.11.0.9.dev202402111701813464-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 63108bf1728861acfc5c89c61ddc5aaaefd5cabac72a9bfbf5359fe4273b41a7 |
|
MD5 | 6af63c03068f2ed75abe0d8bfc86b61b |
|
BLAKE2b-256 | eb4fb3e447edc141b8b6c00c8e51e82e294304ea45bc84c42f8ff7c78767cf1a |
Hashes for pyAgrum_nightly-1.11.0.9.dev202402111701813464-cp311-cp311-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 08f7eba0175914437fd4315e0e21bb873dac362ede91359bed891efafb37533b |
|
MD5 | 52dda3368daf33b85e0f76d05d0575e8 |
|
BLAKE2b-256 | 5b2c61b055fca6e1ab85f3b7841e6c26af7e89b7cf5c21db7af5091b754f3f20 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202402111701813464-cp311-cp311-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4c286cfdec7ef82925e4047e5c953af5baab4ad93ea617fc6f3860dbcd02e205 |
|
MD5 | ef9b96350ca3a8a61e024a25466f2bd8 |
|
BLAKE2b-256 | b68732ba203f2e3b75687fe1d8f58d1462f7abc05644cab3bc467cd9800467d3 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202402111701813464-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1375217f6646bb8323bff874fee54b749a2df362457540ede12eec938a2399d0 |
|
MD5 | 1d3c51b26228e9c29bce3fa9df83e598 |
|
BLAKE2b-256 | adbf8e9809dc6184f642d7d2f85370f06e118c69d3e7d754a125225f7c7b572f |
Hashes for pyAgrum_nightly-1.11.0.9.dev202402111701813464-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a167d5d9e427e82c7fb1f1c40d482fe47b35d7a8009a8cbc8067d2f07b3a5174 |
|
MD5 | 8f46f7aaea52c466850bb5de76f41ed6 |
|
BLAKE2b-256 | 8610904ba53ac84a6fac62497741b9b9111e86673c2c74e94678a1270c22226b |
Hashes for pyAgrum_nightly-1.11.0.9.dev202402111701813464-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 10195bc864c31d6cccab3cebae863bdcc423c47b81863c0a48b2b9300b323bc5 |
|
MD5 | f8042a3eec6fe19cedc1c5713e2d09ed |
|
BLAKE2b-256 | fb08330e5ca22c42825dbccdbaad915fe13bc111cc2a276c3d35c6762ed42678 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202402111701813464-cp310-cp310-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2daa55104cfce7cd025d8ac7cb4cf929120f4778b498c66e12eab72d2297420c |
|
MD5 | da21e86a3732781f6b89d81b652eef71 |
|
BLAKE2b-256 | ab71bfee934358d302deb168c5485de15b1e28cd998fdfcae3b7c9b297108749 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202402111701813464-cp310-cp310-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8e7909f7dce3f606aaf24ebd058ad75b29d16266bb3953d50b1f4da78fcd7030 |
|
MD5 | 3a27f60e0cf5f0a68012093949261c2f |
|
BLAKE2b-256 | 3505070a56bf062536c3f019138c3afe71cf33173dbaa021e062cd1c6c4201ad |
Hashes for pyAgrum_nightly-1.11.0.9.dev202402111701813464-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9f9d91af649e631dd8f974e9d81d639e00dde95f4350e185a644bd411fed2806 |
|
MD5 | 806f31d9830da48af25c4760d7cf5df0 |
|
BLAKE2b-256 | 55a7d5f97ec8a4667d2cd2e2f718cba17762eb577b116cb8e174af11908ae678 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202402111701813464-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 73c5cdd477cb0302d965d7989587f3bd4c69d198ab3881540a5574f410a97f50 |
|
MD5 | 4977b87e69e3d7c2231ae59220f75d0c |
|
BLAKE2b-256 | bd281bf4b3e7f922e0640b1b43ba9d03cd345b68f9475d694e23941d5b9faf20 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202402111701813464-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5923c3537ce12a3f001b536d0affe78288910347791618a37d2e05fea058b3e7 |
|
MD5 | bb0690f7e962cc1a2be2fbd85c7f40ee |
|
BLAKE2b-256 | 00414dba3dd6e800c6f3bf45db6833d1d52bf90e29dc13a62baf6b4c157a7ba7 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202402111701813464-cp39-cp39-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f49a441a778bbefcf2127b3a41d45c6cab85936b3ce62d0ab3964b442917d706 |
|
MD5 | 51235469be64e5c0be8dc1617a560df9 |
|
BLAKE2b-256 | fb81e92b66727c8044b7a3f2268c20453f58bf5eff4ed2d6b5d0da218cd78911 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202402111701813464-cp39-cp39-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f5f171b942cfec8e749b99f1850b13a307fac5a30172e36057efc265dd01c1a8 |
|
MD5 | fa481db22ab26fbb62e1bf1389cac4d8 |
|
BLAKE2b-256 | 4bfd9a1b34fd8570638b761d3a449c1be3bb94dd0f4c344246fd39e6672f13c1 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202402111701813464-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6ffc2a94ebf25415d46728927e2fd31b5c039aaf3c218ec893a523ef20ceeed8 |
|
MD5 | 92c9c5cf57ede2f63518d4f6986f8803 |
|
BLAKE2b-256 | 1e7e673fcf35623ee3420605d936075618138a6e4b3fa58d582b68bd548777d5 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202402111701813464-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1875e90c3040d185a675b6e5ff6f8234d7f1da44e96b7a1e265bdc73db2330da |
|
MD5 | fb4d7a2ce106cf59e370e3f65114e9d6 |
|
BLAKE2b-256 | 27ee96edbc76742b0ff06864ae9d6037de378c301971011c3803a23ab46b74ea |
Hashes for pyAgrum_nightly-1.11.0.9.dev202402111701813464-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1a7f33df6db5265d50d4cd0daaa7694654c53c34e8b7f871e0f22759685d146e |
|
MD5 | 3d91202f704237a4d486c60b59601540 |
|
BLAKE2b-256 | 3cffccf5deda89c9d8ead53e11714d5e8def1c4bc373474d2135a1f264b1d88b |
Hashes for pyAgrum_nightly-1.11.0.9.dev202402111701813464-cp38-cp38-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e9deddf381d68f76055c3e99aa48fba24249c57bf417fa161a038acf15e398a7 |
|
MD5 | 844b62ff212c4a730866492ef7085334 |
|
BLAKE2b-256 | 0c59a9b41afe79a750d2bece6ecdc6497e21b2f558e419261a38922b1b079a8d |
Hashes for pyAgrum_nightly-1.11.0.9.dev202402111701813464-cp38-cp38-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9f5ca33ea7c41cefc5e963c29bf57b7dbbb9189b12aa396b4f7e5edda422f824 |
|
MD5 | e6e6f8061c286394f351694cddb192f2 |
|
BLAKE2b-256 | b7df40e615dba344f9d6de2c7963dd82166b32047bf1a2162a76dc272177c093 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202402111701813464-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 462130e4b4d67a1b6e674eb242565914a32eb897f1a5c92f720c046f3e3b38af |
|
MD5 | b200b043df473b340d60f72e8388c5a3 |
|
BLAKE2b-256 | fc3768f147b92ddade37b1d573ad878b9541fc4ca369b28e261c3d373742dba3 |
Hashes for pyAgrum_nightly-1.11.0.9.dev202402111701813464-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 135c352e0866c2928ce8ac008dc59f80a6dcafd00168854d142c022768b5a7d5 |
|
MD5 | 2322edc376b7c702cfd4985c2f26de95 |
|
BLAKE2b-256 | da7ee7ece9962f4676eaeb2f15e44b77b14399597774da059c55d00b1ee43a0c |