Skip to main content

Introduction to Machine Learning with IPython and scikit-learn

Olivier Grisel (INRIA)
Data Science
Ballroom G
Tutorial Please note: to attend, your registration must include Tutorials on Tuesday.
Average rating: ****.
(4.47, 17 ratings)

Tutorial Prerequisites

Please install the latest stable version of:

  • Python (2.7 or 3.3)
  • NumPy 1.6 or later
  • SciPy 0.9 or later
  • IPython 1.1 or later
  • scikit-learn 0.14 or later
  • matplotlib 1.3 or later

If have you never installed SciPy on your laptop, it might be complicated to build it from the source (you need a fortran compiler and an optimized BLAS implementation such as Atlas). In that case you should instead download a binary distribution of Python and all of the above packages called Anaconda at:

Once installed check that you can start the ipython notebook with the command:

ipython notebook

Then open a new notebook and in the first cell type (remove any leading whitespaces):

import numpy

import scipy

import matplotlib

import sklearn





run the notebook cell by clicking on the run button of the notebook UI. You should get the version numbers of the installed packages.

If you get an error message please feel free to send the instructor an email at with the detailed error message, your operating systems version and the installation method you used.

Tutorial Description

Scikit-learn is a versatile Machine Learning library for Python that blends well with the NumPy and SciPy ecosystem and is used by a growing user-base of both academic researchers and data scientists and engineers in the tech industry.

IPython with its notebook interface is an interactive programming environment that is particularly well suited for data exploration, modelling and sharing of analysis results notably via

The objective of this tutorial is to get acquainted both with Machine Learning concepts in general and the pydata ecosystem in particular.

The session will cover the following topics:

- how to extract a Machine Learning friendly representation of raw data (feature extraction),
- how to train various machine learning models such as Logistic Regression, Support Vector Machines and randomized ensembles of decision trees,
- how to evaluate the predictive accuracy of a model and detect overfitting,
- how to automatically tune the model parameters from data.

Olivier Grisel

Software Engineer, INRIA

Olivier Grisel is a software engineer in the Parietal team of INRIA. He works to improve the speed and scalability of the scikit-learn machine learning library for the Python / Numpy / Scipy ecosystem. He also likes to share interesting Machine Learning papers and tricks on twitter: @ogrisel

Comments on this page are now closed.


Olivier Grisel
02/09/2014 12:37am PST

I don’t know if the information has been forwarded to the subscribed attendees or not but it would be great if you could download and install the following:

Python 2.7 or 3.3 numpy 1.6 or later scipy 0.9 or later scikit-learn 0.14.1+ matplotlib pandas psutil (optional)

If you are not familiar with the scipy stack it is strongly recommended to not try to build it from source with pip (as you would need a fortran compiler and an optimized linear algebra library to do so) but rather the Anaconda binary distribution that includes everything:

Picture of Vic Hargrave
Vic Hargrave
02/08/2014 3:42am PST

One of my colleagues has started to use these tools for our machine learning research, so I’m really looking forward to this class. Is there anything we should download prioro to attending this session?