yellowbrick
A suite of visual analysis and diagnostic tools for machine learning.
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 yellowbrickuv
uv add yellowbrickpoetry
poetry add yellowbrickInstalling 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
Tags
More Software Development packages
Provides backported and experimental type hints…
permissive · top 100 on PyPI
numpyNumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
fastapiFastAPI is a Python web framework for building…
permissive · top 100 on PyPI
annotated-docProvides a way to document function parameters,…
permissive · top 100 on PyPI
typerTyper builds command-line applications from…
permissive · top 1,000 on PyPI
distlibDistlib provides low-level packaging utilities…
permissive · top 1,000 on PyPI
scikit-plotScikit-plot generates publication-ready…
permissive · top 15,000 on PyPI
missingnoVisualizes missing data patterns in DataFrames…
permissive · top 15,000 on PyPI
treescopeTreescope is an interactive HTML pretty-printer…
permissive · top 5,000 on PyPI
dtreevizdtreeviz renders decision trees from…
permissive · top 15,000 on PyPI
azureml-train-coreProvides estimator classes for training machine…
unclear · top 15,000 on PyPI
pm4pyPM4Py implements process mining algorithms to…
agpl · top 15,000 on PyPI
scikit-learnscikit-learn provides a comprehensive Python…
permissive · top 1,000 on PyPI
spark-sklearnDistributes scikit-learn model training and…
permissive · top 15,000 on PyPI
feature-engineFeature-engine provides transformers for…
permissive · top 15,000 on PyPI
dask-mlDask-ML provides distributed and parallel…
permissive · top 15,000 on PyPI