• Stars
    star
    27,526
  • Rank 704 (Top 0.02 %)
  • Language
    Jupyter Notebook
  • License
    Apache License 2.0
  • Created almost 6 years ago
  • Updated 5 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A series of Jupyter notebooks that walk you through the fundamentals of Machine Learning and Deep Learning in Python using Scikit-Learn, Keras and TensorFlow 2.

Machine Learning Notebooks

⚠ The 3rd edition of my book will be released in October 2022. The notebooks are available at ageron/handson-ml3 and contain more up-to-date code.

This project aims at teaching you the fundamentals of Machine Learning in python. It contains the example code and solutions to the exercises in the second edition of my O'Reilly book Hands-on Machine Learning with Scikit-Learn, Keras and TensorFlow:

Note: If you are looking for the first edition notebooks, check out ageron/handson-ml. For the third edition, check out ageron/handson-ml3.

Quick Start

Want to play with these notebooks online without having to install anything?

Use any of the following services (I recommended Colab or Kaggle, since they offer free GPUs and TPUs).

WARNING: Please be aware that these services provide temporary environments: anything you do will be deleted after a while, so make sure you download any data you care about.

  • Open In Colab

  • Open in Kaggle

  • Launch binder

  • Launch in Deepnote

Just want to quickly look at some notebooks, without executing any code?

  • Render nbviewer

  • 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.

Want to run this project using a Docker image?

Read the Docker instructions.

Want to install this project on your own machine?

Start by installing Anaconda (or Miniconda), git, and if you have a TensorFlow-compatible GPU, install the GPU driver, as well as the appropriate version of CUDA and cuDNN (see TensorFlow's documentation for more details).

Next, clone this project by opening a terminal and typing the following commands (do not type the first $ signs on each line, they just indicate that these are terminal commands):

$ git clone https://github.com/ageron/handson-ml2.git
$ cd handson-ml2

Next, run the following commands:

$ conda env create -f environment.yml
$ conda activate tf2
$ python -m ipykernel install --user --name=python3

Finally, start Jupyter:

$ jupyter notebook

If you need further instructions, read the detailed installation instructions.

FAQ

Which Python version should I use?

I recommend Python 3.8. If you follow the installation instructions above, that's the version you will get. Most code will work with other versions of Python 3, but some libraries do not support Python 3.9 or 3.10 yet, which is why I recommend Python 3.8.

I'm getting an error when I call load_housing_data()

Make sure you call fetch_housing_data() before you 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.

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.8/Install\ Certificates.command in a terminal (change 3.8 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

Contributors

I would like to thank everyone who contributed to this project, either by providing useful feedback, filing issues or submitting Pull Requests. Special thanks go to Haesun Park and Ian Beauregard who reviewed every notebook and submitted many PRs, including help on some of the exercise solutions. Thanks as well to Steven Bunkley and Ziembla who created the docker directory, and to github user SuperYorio who helped on some exercise solutions.

More Repositories

1

handson-ml

⛔️ DEPRECATED – See https://github.com/ageron/handson-ml3 instead.
Jupyter Notebook
25,139
star
2

handson-ml3

A series of Jupyter notebooks that walk you through the fundamentals of Machine Learning and Deep Learning in Python using Scikit-Learn, Keras and TensorFlow 2.
Jupyter Notebook
7,039
star
3

tf2_course

Notebooks for my "Deep Learning with TensorFlow 2 and Keras" course
Jupyter Notebook
1,913
star
4

tensorflow-safari-course

⛔️ DEPRECATED — Exercises and solutions to accompany my Safari course introducing TensorFlow.
Jupyter Notebook
173
star
5

julia_notebooks

Julia Jupyter/Colab Notebooks
Jupyter Notebook
146
star
6

tiny-dqn

A tiny implementation of Deep Q Learning, using TensorFlow and OpenAI gym
Python
95
star
7

data

Datasets used in the book Hands-On Machine Learning with Scikit-Learn, Keras & TensorFlow
71
star
8

visual_crypto

Visual cryptography tool
Python
44
star
9

open-datasets

A collection of open datasets
Jupyter Notebook
24
star
10

aoc2022-rust

Rust
13
star
11

aoc2023-rust

Solutions of Advent-of-Code 2023 in Rust
Rust
11
star
12

NoPyPrompt

A VS Code extension to remove Python prompts from code samples, or add them back.
JavaScript
11
star
13

ageron.github.io

from ageron import random
Ruby
6
star
14

mandelbrot-java-applet

This is a small mandelbrot java applet I did back in 1997
Java
5
star
15

aoc2019-rust

Solution to all AoC 2019 puzzles using Rust
Rust
4
star
16

aoc2015-haskell

Solutions of Advent-of-Code 2015 in Haskell
Haskell
2
star
17

labelinput

A bit of javascript to add a label inside <input> fields.
JavaScript
1
star