Skip to main content

pyAgrum is a Python wrapper for the C++ aGrUM library

Project description

pyAgrum

pyAgrum is a Python wrapper for the Agrum library, to make flexible and scalable probabilistic graphical models for inference and diagnosis.

Sample code:

import pyAgrum as gum

bn=gum.BayesNet('WaterSprinkler')
print(bn)

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 ?',2))
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)
# 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)[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)[1,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 evidence
ie.setEvidence({'s': 1, 'c': 0})
ie.makeInference()
print(ie.posterior(w))
ie.setEvidence({'s': [0, 1], 'c': [1, 0]})
ie.makeInference()
print(ie.posterior(w))

LICENSE

Copyright (C) 2005 by Pierre-Henri WUILLEMIN et Christophe GONZALES {prenom.nom}_at_lip6.fr

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.

Authors

  • Pierre-Henri Wuillemin

  • Christophe Gonzales

Maintainers

  • Lionel Torti

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

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

pyagrum-0.10.1.1-cp35-cp35m-win_amd64.whl (5.2 MB view details)

Uploaded CPython 3.5mWindows x86-64

pyagrum-0.10.1.1-cp35-cp35m-win32.whl (4.8 MB view details)

Uploaded CPython 3.5mWindows x86

pyagrum-0.10.1.1-cp35-cp35m-macosx_10_11_x86_64.whl (7.9 MB view details)

Uploaded CPython 3.5mmacOS 10.11+ x86-64

pyagrum-0.10.1.1-cp27-cp27m-macosx_10_12_intel.whl (11.7 MB view details)

Uploaded CPython 2.7mmacOS 10.12+ Intel (x86-64, i386)

File details

Details for the file pyagrum-0.10.1.1-cp35-cp35m-win_amd64.whl.

File metadata

File hashes

Hashes for pyagrum-0.10.1.1-cp35-cp35m-win_amd64.whl
Algorithm Hash digest
SHA256 41f9b1d63cbb8723fb1c6c88fd51ce04a98b70acda9a81945c0e4131317bab7f
MD5 c090c623589810615d8ef2b26f0a4819
BLAKE2b-256 fb7bdc1f6a359c1be3afe62d9840b9da3a0dfced82a188eeb696cc297f51ad76

See more details on using hashes here.

File details

Details for the file pyagrum-0.10.1.1-cp35-cp35m-win32.whl.

File metadata

File hashes

Hashes for pyagrum-0.10.1.1-cp35-cp35m-win32.whl
Algorithm Hash digest
SHA256 d91a76e1a97d9989e14a64ffbe0cbaf66326aa943ac78d6c18c18ebd0619281c
MD5 c284ea793cfbfa26f8d809105e98743e
BLAKE2b-256 bd8c29713bf56406371f09235f89624caf358bdc5ce49cef33b2d737f277d798

See more details on using hashes here.

File details

Details for the file pyagrum-0.10.1.1-cp35-cp35m-macosx_10_11_x86_64.whl.

File metadata

File hashes

Hashes for pyagrum-0.10.1.1-cp35-cp35m-macosx_10_11_x86_64.whl
Algorithm Hash digest
SHA256 936526814fb0ad588010de65c6581a854e4adf901eb73205d99970d91a8421e2
MD5 df15045dea298547988221be412749eb
BLAKE2b-256 c2ce7fdb7a91fbae519f7589296801c32014fe37a2c8f492a3606b467e48dd2b

See more details on using hashes here.

File details

Details for the file pyagrum-0.10.1.1-cp27-cp27m-macosx_10_12_intel.whl.

File metadata

File hashes

Hashes for pyagrum-0.10.1.1-cp27-cp27m-macosx_10_12_intel.whl
Algorithm Hash digest
SHA256 31dc2c8aea6474b2945e82842abf0dfb9381487d08c125addf6b307d0788203c
MD5 25f32524431d277cf032c04536410b3d
BLAKE2b-256 255fb47015df457a131e803bdafb6c7b3fc6c6d45f1a109f940098be2f820dcb

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page