Hands-On Machine Learning with Scikit-Learn, Keras & TensorFlow
by O'Reilly Media (Aurélien Géron)
The standard practitioner's route from linear regression to diffusion models, with every chapter as a runnable notebook.
Overview
The third edition was published by O'Reilly Media in 2022 and runs roughly 850 pages (ISBN 9781098125974), structured in two parts. Part I covers the fundamentals of machine learning with Scikit-Learn: an end-to-end project, classification, training linear models, support vector machines, decision trees, ensemble methods and random forests, dimensionality reduction and unsupervised learning. Part II moves to neural networks with Keras and TensorFlow: training deep nets, custom models and training loops, loading and preprocessing data, convolutional networks for computer vision, recurrent and convolutional networks for sequences, natural language processing with RNNs and attention, autoencoders and GANs including diffusion models, reinforcement learning, and finally training and deploying models at scale. Every chapter has a matching Jupyter notebook in the ageron/handson-ml3 repository, which carries about 13,900 stars and 5,200 forks over roughly 1,211 commits and recommends Python 3.10 with optional GPU support for TensorFlow. Two things a 2026 reader should weigh: the deep-learning half is Keras/TensorFlow-based at a time when most new research and tooling is PyTorch-first, and Géron has since written a separate first edition, Hands-On Machine Learning with Scikit-Learn and PyTorch, whose notebooks live at ageron/handson-mlp. The Scikit-Learn half of this book remains framework-agnostic and current regardless.
At a Glance
- Topic
- ML
- Level
- Intermediate
- Format
- Book
- Cost
- Paid
- Duration
- ~850 pages across 19 chapters; typically 2-4 months at a few hours per week
- Provider
- O'Reilly Media (Aurélien Géron)
- Hands-on
- Yes — code/exercises
- Certificate
- None
What You’ll Learn
- ✓Run a complete machine learning project end to end, from raw data to a deployed model
- ✓Train and tune linear models, SVMs, decision trees, random forests and gradient-boosted ensembles
- ✓Apply dimensionality reduction and unsupervised clustering techniques to real datasets
- ✓Build, train and debug deep neural networks using the Keras API on TensorFlow
- ✓Implement custom models, layers and training loops when the high-level API is not enough
- ✓Use convolutional networks for vision and recurrent plus attention architectures for sequences
- ✓Work with autoencoders, GANs and diffusion models for generative tasks
- ✓Train and serve models at scale, including data pipelines and deployment considerations
Highlights
- •The de facto standard practitioner text — breadth from linear regression to diffusion models in one volume
- •Every chapter ships as a runnable Jupyter notebook (ageron/handson-ml3, ~13.9k stars, ~5.2k forks)
- •Exercises with worked solutions at the end of each chapter, which most ML books omit
- •Prerequisite math (linear algebra, calculus) and tooling (NumPy, Pandas, Matplotlib) are included as extra notebooks
- •Written by a former Google engineer with production experience, so the framing is engineering-first, not proof-first
Who It’s For
Best For
- ✓Software engineers moving into machine learning who want depth without a research-paper detour
- ✓Practitioners who need one reference covering both classical ML and deep learning
- ✓Self-taught learners who want structured exercises with published solutions
- ✓Teams standardising on a shared onboarding text for new ML hires
Prerequisites
- •Comfortable Python programming — the book teaches ML, not the language
- •Basic linear algebra, calculus and statistics (the repo includes refresher notebooks for these)
- •Familiarity with NumPy and Pandas is assumed, though prerequisite notebooks cover both
FAQ
What is Hands-On Machine Learning with Scikit-Learn, Keras & TensorFlow?
Aurélien Géron's third edition is the book most working engineers are pointed to when they want machine learning they can actually deploy rather than derive. It moves from linear regression through ensembles and dimensionality reduction into deep learning with Keras and TensorFlow, ending on transformers, diffusion models, reinforcement learning and deployment at scale — with a companion notebook for every chapter.
Is Hands-On Machine Learning with Scikit-Learn, Keras & TensorFlow free?
Hands-On Machine Learning with Scikit-Learn, Keras & TensorFlow is a paid resource.
What level is Hands-On Machine Learning with Scikit-Learn, Keras & TensorFlow for?
Hands-On Machine Learning with Scikit-Learn, Keras & TensorFlow is aimed at a intermediate audience. Recommended background: Comfortable Python programming — the book teaches ML, not the language, Basic linear algebra, calculus and statistics (the repo includes refresher notebooks for these), Familiarity with NumPy and Pandas is assumed, though prerequisite notebooks cover both.
How long does Hands-On Machine Learning with Scikit-Learn, Keras & TensorFlow take?
Expect roughly ~850 pages across 19 chapters; typically 2-4 months at a few hours per week. Most learners work through it at their own pace.
What will I learn from Hands-On Machine Learning with Scikit-Learn, Keras & TensorFlow?
You'll learn: Run a complete machine learning project end to end, from raw data to a deployed model; Train and tune linear models, SVMs, decision trees, random forests and gradient-boosted ensembles; Apply dimensionality reduction and unsupervised clustering techniques to real datasets; Build, train and debug deep neural networks using the Keras API on TensorFlow; Implement custom models, layers and training loops when the high-level API is not enough; Use convolutional networks for vision and recurrent plus attention architectures for sequences; Work with autoencoders, GANs and diffusion models for generative tasks; Train and serve models at scale, including data pipelines and deployment considerations.
Topics
Sources
This page was written from 3 sources, 3 on domains other than oreilly.com.