Skip to content

Latest commit

 

History

History
159 lines (102 loc) · 3.99 KB

README.md

File metadata and controls

159 lines (102 loc) · 3.99 KB

Baycomp Plotting

The baycomp_plotting is a python package for building good-looking plots of bayesian posteriors obtained with baycomp.

This package could be useful for scientific purposes, specially in the area of Machine Learning.

Author

Installation

This package can be installed using PIP.

pip install baycomp_plotting

Basic Usage

The package can be imported as follows:

import baycomp_plotting as bplt

Two plotting functions (tern, and dens), and one class with four matplotlib alternative colors (Color) are provided.

Colors

Four alternative colors to default matplotlib colors are provided:

Example:

import baycomp_plotting as bplt

print(bplt.Color.BLUE)

Output:

'#008ece'

Density plots

For plotting the comparison of two classifiers on a single dataset, dens function could be used. It's parameters are the following:

  • p: baycomp posterior.
  • label: label of the density function.
  • ls: line style (use a matplotlib line style) [default: -]
  • color: density function color [default: Color.BLUE]

Example:

import baycomp_plotting as bplt
import baycomp as bc

posterior = bc.CorrelatedTTest(left_classifier_acc, right_classifier_acc, rope=0.01)
fig = bplt.dens(posterior, label='C1', ls='-', color=bplt.Color.BLUE)

Output:

The output figure will have a new function named add_posterior so you can add more posteriors to the figure. The parameters are the same as for dens.

Example:

import baycomp_plotting as bplt
import baycomp as bc

posterior = bc.CorrelatedTTest(left_classifier_1_acc, right_classifier_acc, rope=0.01)
posterior_1 = bc.CorrelatedTTest(left_classifier_2_acc, right_classifier_acc, rope=0.01)
fig = bplt.dens(posterior, label='C1', ls='-', color=bplt.Color.BLUE)
fig.add_posterior(posterior_1, label='C2', ls=(0,(5,1)), color=bplt.Color.GRAY)
fig.legend() # you can show the legend

Output:

Ternary plots

For plotting the comparison of two classifiers on multiple datasets using a ternary plot, tern function could be used. It's parameters are the following:

  • p: baycomp posterior.
  • names: an array containing Left and Right region labels. [default: ["L", "R"]]

Example:

import baycomp_plotting as bplt
import baycomp as bc

posterior = bc.HierarchicalTest(left_classifier_acc, right_classifier_acc, rope=0.01)
fig = bplt.tern(posterior)

Output:

Comparison against baycomp default plots

Density:

Ternary:

Contribute

Feel free to submit any pull requests 😊

Acknowlegments

This work was supported by the pre-doctoral grant (EDU/1100/2017) of the Consejería de Educación of the Junta de Castilla y León, Spain, and the European Social Fund.

License

This work is licensed under GNU GPL v3.

Citation policy

Please, cite this work as:

@software{baycomp_plotting,
  author       = {Mario Juez-Gil},
  title        = {{mjuez/baycomp_plotting}},
  month        = nov,
  year         = 2020,
  publisher    = {Zenodo},
  version      = {v1.0},
  doi          = {10.5281/zenodo.4244542},
  url          = {https://doi.org/10.5281/zenodo.4244542}
}