Visual analysis and diagnostic tools to facilitate machine learning model selection.
Deployed: Sunday, August 21, 2022 Current Contributors: @stefmolin, @pdamodaran, @SangamSwadiK, @davidgilbertson, @lwgray, @bbengfort, @admo1, @charlesincharge, @uricod, @pdeziel, @rebeccabilbro
Major:
WordCorrelationPlot
Visualizerget_params
for estimator wrapper to prevent AttributeError
Minor
Documentation
make html
in PR templateInfrastructure
Deployed: Saturday, February 19, 2022 Current Contributors: @lwgray, @bbengfort, @falcaopetri, @pkaf, @akx, @pdamodaran, @emarkou, @ndanielsen, @rebeccabilbro, @pdeziel, @busFred, @charlesincharge, @wagner2010
Major:
set_params
and get_params
on ModelVisualizers to ensure wrapped estimator is being correctly accessed via the new Estimator
methods.model
param to estimator
param to ensure that Visualizer arguments match their property names so that inspect works with get and set params and other scikit-learn utility functions.Minor
DiscriminationThreshold
VisualizerFeatureImportances
VisualizerClassificationReport
VisualizerKElbow
colors that use default palette by defaultset_params
in Visualizer __init__
methods.shuffle=True
argument to any CV class that uses a random seed.Bugs
PredictionError
VisualizerPredictionError
VisualizerKElbowVisualizer
to handle null cluster encountersrandom_state
to be in sync with PCA
transformerFeatureCorrelations
into subplotsInfrastructure/Housekeeping/documentation
add_css_file
for documentation because of deprecation of add_stylesheet
Deployed: Saturday, February 13, 2021 Current Contributors: @rebeccabilbro, @bbengfort, @Viveckh
Fixes hanging print impacting ModelVisualizers.
Deployed: Tuesday, February 9, 2021 Current Contributors: @bbengfort, @rebeccabilbro, @Paulj1989, @phbillet, @pdamodaran, @pdeziel
This version primarily repairs the dependency issues we faced with scipy 1.6, scikit-learn 0.24 and Python 3.6 (or earlier). As part of the rapidly changing Python library landscape, we've been forced to react quickly to dependency changes, even where those libraries have been responsibly issuing future and deprecation warnings in our code base.
Major Changes:
set_params
and get_params
on ModelVisualizers to ensure wrapped estimator is being correctly accessed via the new Estimator methods.model
param to estimator
param to ensure that Visualizer arguments match their property names so that inspect works with get and set params and other scikit-learn utility functions.Minor Changes:
_safe_indexing
without error.set_params
in Visualizer __init__
methods.shuffle=True
argument to any CV class that uses a random seed.Deployed: Friday, January 15, 2021 Current Contributors: @rebeccabilbro, @bbengfort, @Paulj1989, @mattharrison
On December 22, 2020, scikit-learn released version 0.24 which deprecated the external use of scikit-learn's internal utilities such as safe_indexing
. Unfortunately, Yellowbrick depends on a few of these utilities and must refactor our internal code base to port this functionality or work around it. To ensure that Yellowbrick continues to work when installed via pip
, we have temporarily changed our scikit-learn dependency to be less than 0.24. We will update our dependencies on the v1.3 release when we have made the associated fixes.
Deployed: Friday, October 9, 2020 Current Contributors: @rebeccabilbro, @lwgray, @VladSkripniuk, @Express50, @pdamodaran, @aldermartinez, @tktran, @bbengfort, @melonhead901, @Kautumn06, @ojedatony1616, @eschmier, @wagner2010, @ndanielsen
Major Changes:
ResidualsPlot
visualizer.ROCAUC
visualization, standardizing the way that classifiers with predict_proba
and decision_function
methods are handling. A binary
hyperparameter was added to the visualizer to ensure correct interpretation of binary ROCAUC plots.ManualAlphaSelection
to move it from prototype to prime time including documentation, tests, and quick method. This method allows users to perform alpha selection visualization on non-CV estimators.Minor Changes:
PrecisionRecallCurve
.ClassificationScoreVisualizer
base class to have a class_colors_
learned attribute instead of a colors
property; additional polishing of multi-class colors in PrecisionRecallCurve
, ROCAUC
, and ClassPredictionError
.KElbowVisualizer
fit method and quick method to allow passing sample_weight
parameter through the visualizer.PrecisionRecallCurve
and ClassificationReport
visualizers.CooksDistance
visualizer documentation.KElbowVisualizer
label and legend formatting.ROCAUC
documentation, labels, and legend. Typo fix to Manifold
documentation.tight_layout
accessing the Visualizer figure property to finalize images and resolve discrepancies in plot directive images in documentation.get_param_names
helper function to identify keyword-only parameters that belong to a specific method.yellowbrick.regressor.residuals
to move PredictionError
to its own module, yellowbrick.regressor.prediction_error
.SVC
instead of LinearSVC
and correct KMeans
scores based on updates to scikit-learn v0.23.MANIFEST.in
.sklearn.metrics
.Deployed: Wednesday, February 12, 2020 Contributors: @rebeccabilbro @bbengfort @Kautumn06 @lwgray @pdamodaran @wagner2010 @mchestnut91, @mgarod, @shivendra90, @naresh-bachwani, @percygautam, @navarretedaniel, @mmorrison1670, @ekwska, @sjainit
Major Changes:
Minor Changes:
Deployed: Sunday, October 6, 2019 Contributors: @rebeccabilbro @Kautumn06 @bbengfort
Major API change: the poof()
method is now deprecated, please use show()
instead. After a significant discussion with community members, we have deprecated our original "make the magic happen" method due to concerns about the usage of the word. We've renamed the original method to and created a stub method with the original name that issues a deprecation warning and calls show()
.
Major Changes:
poof()
to show()
.Deployed: Wednesday, August 28, 2019 Contributors: @rebeccabilbro @bbengfort @Kautumn06 @lwgray @pdamodaran @naresh-bachwani @ndanielsen @mrdawson @navarretedaniel @fdion @haleemason @discdiver @joeyzhang823 @jimmyshah @jc-healy @justinormont @arvkevi @mgarod @mike-curry00 @Naba7 @nickpowersys @percygautam @pswaldia @rohit-ganapathy @rwhitt2049 @sangarshanan @souravsingh @thomasjpfan @zjpoh @xingularity
Note: Python 2 Deprecation: Please note that this release deprecates Yellowbrick's support for Python 2.7. After careful consideration and following the lead of our primary dependencies (NumPy, scikit-learn, and Matplolib), we have chosen to move forward with the community and support Python 3.4 and later.
Major Changes:
JointPlot
visualizer that is specifically designed for machine learning. The new visualizer can compare a feature to a target, features to features, and even feature to feature to target using color. The visualizer gives correlation information at a glance and is designed to work on ML datasets.PosTagVisualizer
is specifically designed for diagnostics around natural language processing and grammar-based feature extraction for machine learning. This new visualizer shows counts of different parts-of-speech throughout a tagged corpus.yellowbrick-datasets
.UMAPVisualizer
as an alternative manifold to TSNE for corpus visualization that is fast enough to not require preprocessing PCA or SVD decomposition and preserves higher order similarities and distances...plot::
directives to the documentation to automatically build the images along with the docs and keep them as up to date as possible. The directives also include the source code making it much simpler to recreate examples.target_color_type
functionality to determine continuous or discrete color representations based on the type of the target variable.ResidualsPlot
.frameon
param to Manifold
.PosTagVisualizer
.KElbowVisualizer
.CooksDistance
regression visualizer.DataVisualizer
to handle target type identification.DataVisualizer
and updated its subclasses.ProjectionVisualizer
base class.yellowbrick.target
, yellowbrick.features
, and yellowbrick.model_selection
API.Minor Changes:
Rank2D
to include Kendall-Tau metric.PrecisionRecallCurve
and updated the quick method to accept train and test splits.RankD
tests for better coverage.DispersionPlot
visualizer.colormap
.PrecisionRecallCurve
visual display problem with multi-class labels.RFECV
step display bug.FeatureImportances
documentation and tests for stacked importances and added a warning when stack should be true.README.md
and added testing and documentation READMEs.SilhouetteVisualizer
with legend
and color
parameter, while also move labels to the y-axis.FeatureImportances
docs/tests for stacked importances.yellowbrick.download
script.alpha
param to PCA Decomposition Visualizer.windows_tol
for the visual unittest suite.PosTagVisualizer
.FreqDistVisualizer
and other ax_bar
visualizers.Manifold
to extend ProjectionVisualizer
.fit
method.poof
returns ax
.Compatibility Notes:
This hotfix adds matplotlib3 support by requiring any version of matplotlib except for 3.0.0 which had a backend bug that affected Yellowbrick. Note that this hotfix includes changes to tests that will need to be resolved when merging from develop (see #725).