skip to navigation
skip to content

pyagrum 0.12.0.1

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

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
 
File Type Py Version Uploaded on Size
pyAgrum-0.12.0.1-cp27-cp27m-macosx_10_12_intel.whl (md5) Python Wheel cp27 2017-06-27 5MB
pyAgrum-0.12.0.1-cp27-cp27m-manylinux1_i686.whl (md5) Python Wheel cp27 2017-06-27 16MB
pyAgrum-0.12.0.1-cp27-cp27m-manylinux1_x86_64.whl (md5) Python Wheel cp27 2017-06-27 16MB
pyAgrum-0.12.0.1-cp27-cp27m-win32.whl (md5) Python Wheel cp27 2017-06-27 1MB
pyAgrum-0.12.0.1-cp27-cp27m-win_amd64.whl (md5) Python Wheel cp27 2017-06-27 1MB
pyAgrum-0.12.0.1-cp27-cp27mu-manylinux1_i686.whl (md5) Python Wheel cp27 2017-06-27 16MB
pyAgrum-0.12.0.1-cp27-cp27mu-manylinux1_x86_64.whl (md5) Python Wheel cp27 2017-06-27 16MB
pyAgrum-0.12.0.1-cp35-cp35m-manylinux1_i686.whl (md5) Python Wheel cp35 2017-06-27 16MB
pyAgrum-0.12.0.1-cp35-cp35m-manylinux1_x86_64.whl (md5) Python Wheel cp35 2017-06-27 16MB
pyAgrum-0.12.0.1-cp36-cp36m-macosx_10_12_x86_64.whl (md5) Python Wheel cp36 2017-06-27 5MB
pyAgrum-0.12.0.1-cp36-cp36m-manylinux1_i686.whl (md5) Python Wheel cp36 2017-06-27 16MB
pyAgrum-0.12.0.1-cp36-cp36m-manylinux1_x86_64.whl (md5) Python Wheel cp36 2017-06-27 16MB
pyAgrum-0.12.0.1-cp36-cp36m-win32.whl (md5) Python Wheel cp36 2017-06-27 1MB
pyAgrum-0.12.0.1-cp36-cp36m-win_amd64.whl (md5) Python Wheel cp36 2017-06-27 1MB