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.3.4-cp36-cp36m-macosx_10_12_x86_64.whl (7.9 MB view details)

Uploaded CPython 3.6mmacOS 10.12+ x86-64

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

Uploaded CPython 3.5mWindows x86-64

pyagrum-0.10.3.4-cp35-cp35m-win32.whl (5.7 MB view details)

Uploaded CPython 3.5mWindows x86

pyagrum-0.10.3.4-cp27-cp27m-macosx_10_12_intel.whl (12.6 MB view details)

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

File details

Details for the file pyagrum-0.10.3.4-cp36-cp36m-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for pyagrum-0.10.3.4-cp36-cp36m-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 04f41fcf5ef16514074b796df982e0d20bf461b823cd2643135cd2cc8aff232d
MD5 48525fc4d1b2b07fa25584bee69440d0
BLAKE2b-256 d56cd64c3446b41bfd338bc68d9d7d7714ed90e36800d8fc1d2b7f0e9f9c29a2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyagrum-0.10.3.4-cp35-cp35m-win_amd64.whl
Algorithm Hash digest
SHA256 034e46dd9d696bfe0ef09c7b211b87a016b6fa1c5295098cccb423e7f0f37ccf
MD5 8442ddc1b7c752821f12a7198dd66af1
BLAKE2b-256 e2690eaad566cba0632afa060025cfbac87ef3b93729d790c041155d929be282

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyagrum-0.10.3.4-cp35-cp35m-win32.whl
Algorithm Hash digest
SHA256 1274ae3d4b2d3972555482371193b7ba717646c66622e77d1a6fddd694654311
MD5 29f559d2529bcb70a5e4b1efee2ec674
BLAKE2b-256 8eb070a138fa57e9cc95fb7fa8119041086527a3ee2c4783494bc4528b8a154e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyagrum-0.10.3.4-cp27-cp27m-macosx_10_12_intel.whl
Algorithm Hash digest
SHA256 1dcc0502e15da2e69ee84e9c9ad853770094d04bd1fac0ce7d3fdda01fae9441
MD5 3b79cee5a8be5ec5acf612d4f1d554c6
BLAKE2b-256 a19dbabf204fa164231a30ed099e767f7e0481bc89baa3d959cd89ec0411f670

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