This document provides an overview of machine learning and the scikit-learn library. It discusses predictive modeling using historical data to build executable models for making predictions on new data. It describes how scikit-learn provides machine learning algorithms and tools through a simple API using Python, NumPy and SciPy. It highlights improvements in scikit-learn 0.15, including reduced training times for ensemble methods and optimized memory usage. It demos income classification using scikit-learn with Census data in an IPython notebook.