The goal of this project is to teach you the fundamentals of Machine Learning in python. It contains the example code and solutions to the exercises in the first edition of my upcoming O'Reilly book Hands-on Machine Learning with Scikit-Learn and PyTorch (1st edition):
Note: If you are looking for the notebooks for the TensorFlow/Keras version of this book, check out ageron/handson-ml3.
⚠ Colab provides a temporary environment: anything you do will be deleted after a while, so make sure you download any data you care about.
-
github.com's notebook viewer also works but it's not ideal: it's slower, the math equations are not always displayed correctly, and large notebooks often fail to open.
Read the Docker instructions.
Start by installing Anaconda (or Miniconda), git, and if you have a PyTorch-compatible GPU, install the GPU driver, as well as the appropriate version of CUDA and cuDNN (see PyTorch's documentation for more details).
Next, clone this project by opening a terminal and typing the following commands:
git clone https://github.com/ageron/handson-mlp.git
cd handson-mlp
Next, run the following commands:
conda env create -f environment.yml
conda activate homlp
python -m ipykernel install --user --name=python3
Finally, start Jupyter:
jupyter notebook
If you need further instructions, read the detailed installation instructions.
Which Python version should I use?
I recommend Python 3.12. If you follow the installation instructions above, that's the version you will get. Versions 3.10 and 3.11 should work as well, but some libraries are not yet available for 3.13.
I'm getting an error when I call load_housing_data()
If you're getting an HTTP error, make sure you're running the exact same code as in the notebook (copy/paste it if needed). If the problem persists, please check your network configuration. If it's an SSL error, see the next question.
I'm getting an SSL error on MacOSX
You probably need to install the SSL certificates (see this StackOverflow question). If you downloaded Python from the official website, then run /Applications/Python\ 3.12/Install\ Certificates.command
in a terminal (change 3.12
to whatever version you installed). If you installed Python using MacPorts, run sudo port install curl-ca-bundle
in a terminal.
I've installed this project locally. How do I update it to the latest version?
See INSTALL.md
How do I update my Python libraries to the latest versions, when using Anaconda?
See INSTALL.md
I would like to thank everyone who contributed to this project, either by providing useful feedback, filing issues or submitting Pull Requests.