/yellowbrick

A suite of visual analysis and diagnostic tools to facilitate feature selection, model selection, and parameter tuning for machine learning.

Primary LanguagePythonApache License 2.0Apache-2.0

Yellowbrick

Build Status Coverage Status Code Health Documentation Status Stories in Ready

A suite of visual analysis and diagnostic tools to facilitate feature selection, model selection, and parameter tuning for machine learning.

Follow the yellow brick road Image by Quatro Cinco, used with permission, Flickr Creative Commons.

What is Yellowbrick?

Yellowbrick is a suite of visual analysis and diagnostic tools to facilitate feature selection, model selection, and parameter tuning for machine learning. All visualizations are generated in Matplotlib. Custom yellowbrick visualization tools include:

Tools for feature analysis and selection

  • boxplots (box-and-whisker plots)
  • violinplots
  • histograms
  • scatter plot matrices (sploms)
  • radial visualizations (radviz)
  • parallel coordinates
  • jointplots
  • diagonal correlation matrix

Tools for model evaluation

Classification

  • ROC curves
  • classification heatmaps

Regression

  • prediction error plots
  • residual plots

Tools for parameter tuning

  • validation curves
  • gridsearch heatmap

Using Yellowbrick

For information on getting started with Yellowbrick, check out our quick start guide.

Contributing to Yellowbrick

Yellowbrick is an open source tool designed to enable more informed machine learning through visualizations. If you would like to contribute, you can do so in the following ways:

This repository is set up in a typical production/release/development cycle as described in A Successful Git Branching Model. A typical workflow is as follows:

  1. Select a card from the dev board - preferably one that is "ready" then move it to "in-progress".

  2. Create a branch off of develop called "feature-[feature name]", work and commit into that branch.

    ~$ git checkout -b feature-myfeature develop
    
  3. Once you are done working (and everything is tested) merge your feature into develop.

    ~$ git checkout develop
    ~$ git merge --no-ff feature-myfeature
    ~$ git branch -d feature-myfeature
    ~$ git push origin develop
    
  4. Repeat. Releases will be routinely pushed into master via release branches, then deployed to the server.