########## Visualizer ########## The visualizer class is much lighter than the Trainer classes. It just takes in model_instances and produces a visualization. Of course, the visualizer class is just a suggestion. You can certainly do your own visualizations, if you feel this class is lacking. The first two examples below show a visualization of classification results. That said, this works just as well for regression, using the visualize_regression method, which we will see in the third example. Example One:: import warnings warnings.filterwarnings('ignore') from randomizer_ml.visualizer import Visualizer from randomizer_ml.trainer import EvaluateModel from sklearn.linear_model import LogisticRegression from sklearn.datasets import make_classification import pandas as pd import numpy as np clf = LogisticRegression() X, y = make_classification( n_samples=2000, n_features=100, n_informative=90, n_redundant=2, random_state=0 ) X = pd.DataFrame(X) y = pd.Series(y) num_trials = 200 clf_eval = EvaluateModel("classification", clf, X, y, num_trials) model_instances = clf_eval.fit_random("random") viz = Visualizer(model_instances, "classification", coef_names=X.columns.tolist()) viz.visualize_classification(bins=len(model_instances)) As you can see, the task is specified, the coeficient names are gathered and then visualization is rendered with visualize_classification. Example Two:: import warnings warnings.filterwarnings('ignore') from randomizer_ml.visualizer import Visualizer from randomizer_ml.trainer import EvaluateModel from sklearn.linear_model import LogisticRegression from sklearn.datasets import make_classification import pandas as pd import numpy as np clf = LogisticRegression() X, y = make_classification( n_samples=2000, n_features=100, n_informative=90, n_redundant=2, random_state=0 ) X = pd.DataFrame(X) y = pd.Series(y) num_trials = 200 clf_eval = EvaluateModel("classification", clf, X, y, num_trials) model_instances = clf_eval.fit_random("random") viz = Visualizer(model_instances, "classification", coef_names=X.columns.tolist()) viz.visualize_confusion_matrix() Here we visualize the confusion_matrix. This method only works for classification problems. The reason it's useful to visualize the confusion matrix, as a scatter plot is to see whether or not the results are high for both precision and recall. If the majority of cases are only high for one of the two loss measures, then the model isn't particularly good. This can get lost when reviewing the results just from visualize_classification.