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

Uploaded CPython 3.6mmacOS 10.12+ x86-64

pyagrum-0.10.4.3-cp35-cp35m-win_amd64.whl (5.4 MB view details)

Uploaded CPython 3.5mWindows x86-64

pyagrum-0.10.4.3-cp35-cp35m-win32.whl (5.8 MB view details)

Uploaded CPython 3.5mWindows x86

pyagrum-0.10.4.3-cp27-cp27m-macosx_10_12_intel.whl (12.4 MB view details)

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

File details

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

File metadata

File hashes

Hashes for pyagrum-0.10.4.3-cp36-cp36m-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 9af91efdee61c95ef055fbfd4442a767aa7c939e0e5d0d3164b1037f07bdc719
MD5 60974bb41328e694f80225bd4bbcb11f
BLAKE2b-256 ab89b594a95cffee781c1c33346cf457bcf963d9c67f7ec51803a70a78dc42fb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyagrum-0.10.4.3-cp35-cp35m-win_amd64.whl
Algorithm Hash digest
SHA256 0871a221e846b1a5b07911a53a4f69f44b1e989b805b8e139fcc63e9054a570e
MD5 0a5cc6aed337904e0140335a3158cf9a
BLAKE2b-256 d8d8a17675c2a3c709f767cf74f86eda8b9418682ef4c2bfa15156791bd20226

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyagrum-0.10.4.3-cp35-cp35m-win32.whl
Algorithm Hash digest
SHA256 bfd4682792dbad1f1c076a7bb164938c42a915cf5d2800b0f8065ad690da3148
MD5 9b287255581b21969998092cbd1c0259
BLAKE2b-256 fdd6c9c7ae8c2ccab7ff14ee9bb2db20dc7ea341d52f2e86a83d46ca8cd0b95d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyagrum-0.10.4.3-cp27-cp27m-macosx_10_12_intel.whl
Algorithm Hash digest
SHA256 30609e94c4183026f0330698b60c380ba577c94f9d712ee67dd813846558b66e
MD5 5a70d334e82d1bda338fe9db4a24529b
BLAKE2b-256 4dc2fa4517a88369b06e0ea940a65afaa258e549dd9f17d0719307bda32d1172

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