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 [darwin] |
Python | 3.12.4 (main, Jun 6 2024, 18:26:44) [Clang 15.0.0 (clang-1500.3.9.4)] |
IPython | 8.26.0 |
Matplotlib | 3.9.1 |
Numpy | 2.0.1 |
pyDot | 3.0.1 |
pyAgrum | 1.15.0.9 |
Sat Jul 27 17:27:04 2024 CEST
In [3]:
bn=gum.loadBN("res/alarm.dsl")
gnb.showBN(bn,size='9')
Visualisation and inspection¶
In [4]:
print(bn['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")