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

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

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.9.3.6-cp35-cp35m-win_amd64.whl (4.5 MB view details)

Uploaded CPython 3.5mWindows x86-64

pyagrum-0.9.3.6-cp35-cp35m-win32.whl (4.2 MB view details)

Uploaded CPython 3.5mWindows x86

pyagrum-0.9.3.6-cp35-cp35m-macosx_10_11_x86_64.whl (7.1 MB view details)

Uploaded CPython 3.5mmacOS 10.11+ x86-64

File details

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

File metadata

File hashes

Hashes for pyagrum-0.9.3.6-cp35-cp35m-win_amd64.whl
Algorithm Hash digest
SHA256 39c1ecd50b90c815cc4f4969bfd0aad37dddee7c3a2b344bd561bccb2d27e82f
MD5 66dac36d5b8f62df88e63530f5e54559
BLAKE2b-256 465cd413f83c05e487380467b26e8837b8fa122d5fce231ea8b017de78518bb3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyagrum-0.9.3.6-cp35-cp35m-win32.whl
Algorithm Hash digest
SHA256 fd5d481866ae71f193bf555016d7553100dc3462ef467a3d587908b3af339468
MD5 8c181cc9ce28a6c365863ddfac0bc9dd
BLAKE2b-256 ef56a77cd54f252c8e16f769837bdd4013893bf7bfbf8ab67f1d6e7b3c05b358

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyagrum-0.9.3.6-cp35-cp35m-macosx_10_11_x86_64.whl
Algorithm Hash digest
SHA256 8a1c0319aa6937de41212ffdffaae22d3a24441b66f7a8d89233023e77c847dc
MD5 8bb3ad805420f13ae752b31c4286ab76
BLAKE2b-256 aab9aecf3f1770501d3d8f9fd1e89bdf4b608cf7af460621d967dc1c581b3894

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