skillfed

yellowbrick

A suite of visual analysis and diagnostic tools for machine learning.

yellowbrick v1.5 593.9K downloads/30d#5,848 on PyPI4,399
Permissive license Apache 2 DORMANT released

What it is and what it does

Yellowbrick wraps estimators with a Visualizer API that generates diagnostic plots for the model selection workflow. It implements visualizers for classification (confusion matrices, ROC curves, precision-recall plots), clustering (silhouette analysis, elbow curves), feature analysis (PCA projections, feature importance rankings), regression (residual plots, prediction error analysis), and text data (term frequency, t-SNE corpus plots). Each visualizer learns from data like a transformer or model, integrating into existing workflows.

The library's core strength is reducing the friction of exploratory model diagnostics—instead of writing matplotlib code to plot cross-validation scores, learning curves, or class balance, you instantiate a visualizer, fit it to your data, and call show(). It depends on matplotlib for rendering, scipy and numpy for computation, and scikit-learn for the estimator interface. The package is stable and production-ready but dormant; no active development has occurred since mid-2022.

Use it for:

  • Visualize confusion matrices and classification reports to diagnose precision, recall, and F1 imbalances across classes
  • Plot learning curves to determine whether a model would benefit from more training data or reduced complexity
  • Generate ROC and precision-recall curves to evaluate binary and multiclass classifier thresholds
  • Identify optimal cluster count using silhouette scores or elbow detection in clustering workflows
  • Rank feature importance and perform recursive feature elimination to guide feature engineering
  • Inspect residuals and prediction errors in regression models to detect systematic model failures

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Yellowbrick provides scikit-learn-integrated visualizers for model selection, diagnostic analysis, and feature engineering in machine learning workflows.

Yes, if you are working with scikit-learn and need quick diagnostic visualizations without writing custom matplotlib code. The low install friction and permissive license make it a safe addition. However, the dormant maintenance status means you should verify compatibility with your specific scikit-learn and matplotlib versions before relying on it in production—no active support is available for breakage.

Install

yellowbrick on PyPI

pip

pip install yellowbrick

uv

uv add yellowbrick

poetry

poetry add yellowbrick

Installing yellowbrick

Before you install

Low friction install with standard scientific Python stack dependencies (matplotlib, scipy, scikit-learn, numpy). Maintenance is dormant—last release was 2022-08-21 and no commits since 2025-02-19, so expect no active bug fixes or feature development, though the codebase remains stable.

License in practice

Apache 2 permissive license allows commercial and private use without restriction, making it safe for most projects.

Quickstart

pip install yellowbrick

from yellowbrick.classifier import ConfusionMatrix

visualizer = ConfusionMatrix(estimator)
visualizer.fit(X_train, y_train)
visualizer.score(X_test, y_test)
visualizer.show()

Verify before relying

  • Whether dormant status means breaking changes in newer scikit-learn or matplotlib versions are unaddressed
  • Compatibility with Python versions beyond 3.9 (classifiers list ends at 3.9, requires_python allows up to 3.99)

Package facts

License Apache 2 (permissive)
Python support supports the current Python release (>=3.4, <4)
Install friction low — pure-Python wheel
Runtime dependencies 5 — matplotlib, scipy, scikit-learn, numpy, cycler
Maintenance dormant — 1,454 days since the last release
Last repo commit
First released
Downloads 593,875/month — #5,848 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: yellowbrick-1.5-py3-none-any.whl

Keywords: visualization, machine learning, scikit-learn, matplotlib, data science

Development Status :: 5 - Production/StableIntended Audience :: DevelopersIntended Audience :: Science/ResearchLicense :: OSI Approved :: Apache Software LicenseNatural Language :: EnglishOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3.5Programming Language :: Python :: 3.6Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Topic :: Scientific/Engineering :: VisualizationTopic :: Software DevelopmentTopic :: Software Development :: Libraries :: Python Modules

Tags

scikit-learn visualizationmachine learning model diagnosticsfeature importance visualizationclassification model evaluation plotshyperparameter tuning visualizationclustering analysis chartslearning curve plots
scikit-learn-integrationmodel-diagnosticsexploratory-analysis

More Software Development packages