Using pyAgrum¶
In [1]:
%matplotlib inline
from pylab import *
import matplotlib.pyplot as plt
import os
Initialisation¶
- importing pyAgrum
- importing pyAgrum.lib tools
- loading a BN
In [2]:
import pyAgrum as gum
import pyAgrum.lib.notebook as gnb
gnb.configuration()
Library | Version |
---|---|
OS | posix [linux] |
Python | 3.11.3 (main, Jun 5 2023, 09:32:32) [GCC 13.1.1 20230429] |
IPython | 8.14.0 |
Matplotlib | 3.7.2 |
Numpy | 1.25.1 |
pyDot | 1.4.2 |
pyAgrum | 1.8.3.9 |
Tue Jul 25 09:17:20 2023 CEST
In [3]:
bn=gum.loadBN("res/alarm.dsl")
gnb.showBN(bn,size='9')
Visualisation and inspection¶
In [4]:
print(bn.variableFromName('SHUNT'))
SHUNT:Labelized({NORMAL|HIGH})
In [5]:
print(bn.cpt(bn.idFromName('SHUNT')))
|| SHUNT | PULMEM|INTUBA||NORMAL |HIGH | ------|------||---------|---------| TRUE |NORMAL|| 0.1000 | 0.9000 | FALSE |NORMAL|| 0.9500 | 0.0500 | TRUE |ESOPHA|| 0.1000 | 0.9000 | FALSE |ESOPHA|| 0.9500 | 0.0500 | TRUE |ONESID|| 0.0100 | 0.9900 | FALSE |ONESID|| 0.0500 | 0.9500 |
In [6]:
gnb.showPotential(bn.cpt(bn.idFromName('SHUNT')),digits=3)
|
| ||
---|---|---|---|
| 0.100 | 0.900 | |
0.950 | 0.050 | ||
| 0.100 | 0.900 | |
0.950 | 0.050 | ||
| 0.010 | 0.990 | |
0.050 | 0.950 |
Results of inference¶
It is easy to look at result of inference
In [7]:
gnb.showPosterior(bn,{'SHUNT':'HIGH'},'PRESS')
In [8]:
gnb.showPosterior(bn,{'MINVOLSET':'NORMAL'},'VENTALV')
Overall results
In [9]:
gnb.showInference(bn,size="10")