Skip to content
Switch branches/tags


Failed to load latest commit information.

Scikit-learn Tutorial

Jake VanderPlas

This repository contains notebooks and other files associated with my Scikit-learn tutorial.

Installation Notes

This tutorial requires the following packages:

The easiest way to get these is to use the conda environment manager. I suggest downloading and installing miniconda.

Once this is installed, the following command will install all required packages in your Python environment:

Original install (2015)
$ conda install numpy scipy matplotlib scikit-learn ipython-notebook seaborn

Or for current versions of Anaconda (Mar 2018)
$ conda create -n skl_tut python=3.4.5 ipywidgets=5.2.2 numpy scipy matplotlib scikit-learn ipython-notebook seaborn pillow

$ activate skl_tut

$ jupyter notebook --notebook-dir='<tutorial folder>'

Alternatively, you can download and install the (very large) Anaconda software distribution, found at

Downloading the Tutorial Materials

I would highly recommend using git, not only for this tutorial, but for the general betterment of your life. Once git is installed, you can clone the material in this tutorial by using the git address shown above:

git clone git://

If you can't or don't want to install git, there is a link above to download the contents of this repository as a zip file. I may make minor changes to the repository in the days before the tutorial, however, so cloning the repository is a much better option.

Notebook Listing

You can view the tutorial materials using the excellent nbviewer service.

Note, however, that you cannot modify or run the contents within nbviewer. To modify them, first download the tutorial repository, change to the notebooks directory, and run ipython notebook. You should see the list in the ipython notebook launch page in your web browser. For more information on the IPython notebook, see

Note also that some of the code in these notebooks will not work outside the directory structure of this tutorial, so it is important to clone the full repository if possible.