Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/ageron/handson-ml3/llms.txt

Use this file to discover all available pages before exploring further.

This repository is the official companion code for Hands-on Machine Learning with Scikit-Learn, Keras and TensorFlow (3rd edition), an O’Reilly book by Aurélien Géron. It contains runnable Jupyter notebooks for every chapter of the book, complete with working code, visualizations, and exercise solutions. Whether you are following along with a physical copy of the book or working through the material independently, these notebooks let you experiment with every concept hands-on.

What the project covers

The repository spans two major parts of the book, covering the full arc of modern machine learning.

Part I: The fundamentals of machine learning

#ChapterKey topics
1The machine learning landscapeTypes of ML, model selection, key challenges
2End-to-end machine learning projectPipelines, feature engineering, evaluation strategy
3ClassificationBinary/multiclass classifiers, precision/recall, ROC curves
4Training linear modelsLinear and polynomial regression, regularization
5Support vector machinesLinear SVM, kernel trick, SVR
6Decision treesCART algorithm, pruning, visualization with Graphviz
7Ensemble learning and random forestsBagging, boosting, stacking, XGBoost
8Dimensionality reductionPCA, Kernel PCA, t-SNE
9Unsupervised learning techniquesK-Means, DBSCAN, Gaussian mixture models

Part II: Neural networks and deep learning

#ChapterKey topics
10Introduction to artificial neural networks with KerasSequential and Functional API, callbacks, hyperparameter tuning
11Training deep neural networksBatch normalization, dropout, learning rate schedules
12Custom models and training with TensorFlowCustom layers, training loops, autodiff
13Loading and preprocessing data with TensorFlowtf.data API, TF Datasets, preprocessing layers
14Deep computer vision using CNNsResNet, EfficientNet, MobileNet, object detection
15Processing sequences using RNNs and CNNsLSTMs, GRUs, WaveNet, ARMA models, time series
16Natural language processing with RNNs and attentionTransformers, encoder–decoder, BERT, T5, DistilBERT
17Autoencoders, GANs, and diffusion modelsVAEs, StyleGAN, denoising diffusion probabilistic models
18Reinforcement learningPolicy gradients, DQN, actor-critic methods, Gymnasium
19Training and deploying TensorFlow models at scaleVertex AI, TF Serving, distributed training, TensorFlow.js

Supplementary notebooks

In addition to the 19 chapter notebooks, the repository includes tutorials on the scientific Python tools you will use throughout the book:
  • NumPy — n-dimensional arrays and numerical computing
  • Matplotlib — plotting and visualization
  • Pandas — data analysis and manipulation
  • Linear algebra — math prerequisites for ML
  • Differential calculus — math prerequisites for backpropagation

Who this is for

These notebooks are designed for developers, students, and data scientists who want to learn machine learning by writing and running real code. You should have some familiarity with Python — if you can read a for loop and understand what a function is, you are ready to start. Prior knowledge of NumPy and basic statistics is helpful but not required; the supplementary notebooks cover these topics. You do not need a machine learning background. The book and notebooks build up every concept from first principles, starting with simple linear models and ending with state-of-the-art deep learning architectures.

Prerequisites summary

  • Python 3.7 or later (Python 3.10 recommended — it is what the conda environment installs)
  • NumPy — for understanding array operations in early chapters
  • High school math — algebra and basic calculus; the math notebooks fill any gaps
  • A modern browser — if you are running in the cloud, nothing else is needed

Get started

The fastest way to start is to open the notebooks directly in the cloud — no installation required. See the quickstart guide for cloud options and a local setup summary.

Quickstart

Run notebooks in the cloud or locally in minutes

Local installation

Full walkthrough for setting up Anaconda and Jupyter

Build docs developers (and LLMs) love