Classification Visualizers

Classification models attempt to predict a target in a discrete space, that is assign an instance of dependent variables one or more categories. Classification score visualizers display the differences between classes as well as a number of classifier-specific visual evaluations. We currently have implemented the following classifier evaluations:

  • Classification Report: A visual classification report that displays precision, recall, and F1 per-class as a heatmap.
  • Confusion Matrix: A heatmap view of the confusion matrix of pairs of classes in multi-class classification.
  • ROCAUC: Graphs the receiver operating characteristics and area under the curve.
  • Class Balance: Visual inspection of the target to show the support of each class to the final estimator.
  • Class Prediction Error: An alternative to the confusion matrix that shows both support and the difference between actual and predicted classes.
  • Discrimination Threshold: Shows precision, recall, f1, and queue rate over all thresholds for binary classifiers that use a discrimination probability or score.

Estimator score visualizers wrap scikit-learn estimators and expose the Estimator API such that they have fit(), predict(), and score() methods that call the appropriate estimator methods under the hood. Score visualizers can wrap an estimator and be passed in as the final step in a Pipeline or VisualPipeline.

# Classifier Evaluation Imports

from sklearn.naive_bayes import GaussianNB
from sklearn.linear_model import LogisticRegression
from sklearn.ensemble import RandomForestClassifier
from sklearn.model_selection import train_test_split

from yellowbrick.classifier import ClassificationReport, ROCAUC
from yellowbrick.classifier import ClassBalance, ClassPredictionError
from yellowbrick.classifier import DiscriminationThreshold