Export and visualize Graphical models and Potentials (png, pdf)
pyAgrum.lib.image aims to graphically export models and inference using pydot (and then graphviz).
For more details, see this notebook.
1import pyAgrum as gum
2from pyAgrum.lib.image as gumimage
3
4bn = gum.fastBN("a->b->d;a->c->d[3]->e;f->b")
5gumimage.export(bn,"out/test_export.png",
6 nodeColor={'a': 1,
7 'b': 0.3,
8 'c': 0.4,
9 'd': 0.1,
10 'e': 0.2,
11 'f': 0.5},
12 arcColor={(0, 1): 0.2,
13 (1, 2): 0.5},
14 arcWidth={(0, 3): 0.4,
15 (3, 2): 0.5,
16 (2,4) :0.6})
Visualization of models and inference
- pyAgrum.lib.image.export(model, filename=None, **kwargs)
export the graphical representation of the model in filename (png, pdf,etc.)
- Parameters:
model (pyAgrum.GraphicalModel) – the model to show (pyAgrum.BayesNet, pyAgrum.MarkovRandomField, pyAgrum.InfluenceDiagram or pyAgrum.Potential)
filename (str) – the name of the resulting file (suffix in [‘pdf’, ‘png’, ‘fig’, ‘jpg’, ‘svg’, ‘ps’]). If filename is None, the result is a np.array ready to be used with imshow().
Note
Model can also just possess a method toDot() or even be a simple string in dot syntax.
- pyAgrum.lib.image.exportInference(model, filename=None, **kwargs)
the graphical representation of an inference in a notebook
- Parameters:
model (pyAgrum:GraphicalModel) – the model in which to infer (pyAgrum.BayesNet, pyAgrum.MarkovRandomField or pyAgrum.InfluenceDiagram)
filename (str) – the name of the resulting file (suffix in [‘pdf’, ‘png’, ‘ps’]). If filename is None, the result is a np.array ready to be used with imshow().
engine (pyAgrum.Inference) – inference algorithm used. If None, gum.LazyPropagation will be used for BayesNet,gum.ShaferShenoy for gum.MarkovRandomField and gum.ShaferShenoyLIMIDInference for gum.InfluenceDiagram.
evs (Dict[str,str|int]) – map of evidence
targets (Set[str|int]) – set of targets
size (str) – size of the rendered graph
nodeColor (Dict[int,float]) – a nodeMap of values (between 0 and 1) to be shown as color of nodes (with special colors for 0 and 1)
factorColor (Dict[int,float]) – a nodeMap of values (between 0 and 1) to be shown as color of factors (in MarkovRandomField representation)
arcWidth (Dict[(int,int),float]) – a arcMap of values to be shown as width of arcs
arcColor (Dict[(int,int),float]) – a arcMap of values (between 0 and 1) to be shown as color of arcs
cmap (matplotlib.colors.ColorMap) – color map to show the color of nodes and arcs
cmapArc (matplotlib.colors.ColorMap) – color map to show the vals of Arcs.
graph (pyAgrum.Graph) – only shows nodes that have their id in the graph (and not in the whole BN)
view (str) – graph | factorgraph | None (default) for Markov random field
- Returns:
the desired representation of the inference
- Return type:
str|dot.Dot