Functional vs OOP#
Why having two different ways of doing the same? While the plot/table module
can be accessed directly or via
sklearn_evaluation.ClassifierEvaluator, they serve slighly
The purpose of
sklearn_evaluation.ClassifierEvaluator is to provide a simpler API where you can
quickly plot and evaluate a model(s) and generate reports from them
(right now the only way of generating reports is to use the OOP interface).
Since the OOP is simpler, it also has some constraints. When
plotting a confusion matrix from the plot module, you can pass a
matplotlib.axes.Axes object which gives you great flexibility,
you can use this to plot a 2 x 2 grid with 4 confusion matrices for different models for example, or to customize the style and elements in the plot.