Book Image

Practical Guide to Applied Conformal Prediction in Python

By : Valery Manokhin
4 (1)
Book Image

Practical Guide to Applied Conformal Prediction in Python

4 (1)
By: Valery Manokhin

Overview of this book

In the rapidly evolving landscape of machine learning, the ability to accurately quantify uncertainty is pivotal. The book addresses this need by offering an in-depth exploration of Conformal Prediction, a cutting-edge framework to manage uncertainty in various ML applications. Learn how Conformal Prediction excels in calibrating classification models, produces well-calibrated prediction intervals for regression, and resolves challenges in time series forecasting and imbalanced data. Discover specialised applications of conformal prediction in cutting-edge domains like computer vision and NLP. Each chapter delves into specific aspects, offering hands-on insights and best practices for enhancing prediction reliability. The book concludes with a focus on multi-class classification nuances, providing expert-level proficiency to seamlessly integrate Conformal Prediction into diverse industries. With practical examples in Python using real-world datasets, expert insights, and open-source library applications, you will gain a solid understanding of this modern framework for uncertainty quantification. By the end of this book, you will be able to master Conformal Prediction in Python with a blend of theory and practical application, enabling you to confidently apply this powerful framework to quantify uncertainty in diverse fields.
Table of Contents (19 chapters)
Free Chapter
Part 1: Introduction
Part 2: Conformal Prediction Framework
Part 3: Applications of Conformal Prediction
Part 4: Advanced Topics

Building computer vision classifiers using conformal prediction

Let’s illustrate the application of conformal prediction to computer vision in practice. We will use a notebook from the book repository available at This notebook extensively uses notebooks from Anastasios Angelopolous’ Conformal Prediction repo at

After loading the data, set up the problem and define the desired coverage and the number of points in the calibration set:

n_cal = 1000
alpha = 0.1

The softmax scores were split into the calibration and test datasets, obtaining calibration and test labels:

idx = np.array([1] * n_cal + [0] * (smx.shape[0]-n_cal)) > 0
cal_smx, test_smx = smx[idx,:], smx[~idx,:]
cal_labels, test_labels = labels[idx], labels[~idx]

The test dataset contains 49...