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

Uploaded CPython 3.5mWindows x86-64

pyagrum-0.10.0.1-cp35-cp35m-macosx_10_11_x86_64.whl (8.2 MB view details)

Uploaded CPython 3.5mmacOS 10.11+ x86-64

pyagrum-0.10.0.1-cp27-cp27m-macosx_10_12_intel.whl (11.8 MB view details)

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

File details

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

File metadata

File hashes

Hashes for pyagrum-0.10.0.1-cp35-cp35m-win_amd64.whl
Algorithm Hash digest
SHA256 b52786427988afdb4eb889dc617b34fca2c29db8e6283eeaea95a4ff42c5baca
MD5 3e34527f83bbbbb5ba17971d7a122b78
BLAKE2b-256 70b7a545c96c7f29a80688fdc9479246580891aa121a7e6a5477bc4838cac503

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyagrum-0.10.0.1-cp35-cp35m-macosx_10_11_x86_64.whl
Algorithm Hash digest
SHA256 f4760eed1f783e4f99fdde621fec16960d32b3a123a2fba241b4687dee57d76a
MD5 8120f4eaa52a1739250fe4a87472b271
BLAKE2b-256 5bb084e98be61ea5ab9906cb26a5863b90476ede7924f5a778bb380c2820a3c0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyagrum-0.10.0.1-cp27-cp27m-macosx_10_12_intel.whl
Algorithm Hash digest
SHA256 2310f374b9dbd36921aef77067c05bc3aee41712e274b3bbdadd918aeacc724f
MD5 75174e6c13646b2fc5bd9d026779d33f
BLAKE2b-256 18a70e724b08da073462744f100109477d4e5aa97b515e755d17c4c569731abd

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