Awesome
Zero to Mastery Machine Learning
Welcome! This repository contains all of the code, notebooks, images and other materials related to the Zero to Mastery Machine Learning Course on Udemy and zerotomastery.io.
Quick links
- π₯ Watch the first 10 hours of the course on YouTube.
- π Read the materials of the course in a beautiful online book.
- π€ Found something wrong with the code? Leave an issue.
- β Got a question? Post a discussion (see the question template).
Updates
- 30 October 2024 - Add course book version of Milestone Project 2: Bulldozer Price Regression (updated for 2025 onwards)
- 12 September 2024 - Working on updating the materials for 2025, see progress in #105
- 12 October 2023 - Created an online book version of the course materials, see: https://dev.mrdbourke.com/zero-to-mastery-ml/
Contents
The following contents are listed in suggested chronological order.
But feel free to mix in match in anyway you feel fit.
Note: All of the datasets we use in the course are available in the
data/
folder.
Section | Resource | Description |
---|---|---|
00 | A 6 step framework for approaching machine learning projects | A guideline for different kinds of machine learning projects and how to break them down into smaller steps. |
01 | Introduction to NumPy | NumPy stands for Numerical Python. It's one of the most used Python libraries for numerical processing (which is what much of data science and machine learning is). |
02 | Introduction to pandas | pandas is a Python library for manipulating and analysing data. You can imagine pandas as a programmatic form of an Excel spreadsheet. |
03 | Introduction to Matplotlib | Matplotlib helps to visualize data. You can create plots and graphs programmatically based on various data sources. |
04 | Introduction to Scikit-Learn | Scikit-Learn or sklearn is full of data processing techniques as well as pre-built machine learning algorithms for many different tasks. |
05 | Milestone Project 1: End-to-end Heart Disease Classification | Here we'll put together everything we've gone through in the previous sections to create a machine learning model that is capable of classifying if someone has heart disease or not based on their health characteristics. We'll start with a raw dataset and work through performing an exploratory data analysis (EDA) on it before trying out several different machine learning models to see which performs best. |
06 | Milestone Project 2: End-to-end Bulldozer Price Prediction | In this project we'll work with an open-source dataset of bulldozer sales information. We'll use this data to build a machine learning model capable of predicting the sales price of a bulldozer based on several input parameters such as size and brand. Since this dataset isn't perfect, we'll work through several data preprocessing steps before building a model. And since we'll be working towards predicting a number (price of bulldozers), this project is known as regression project. |
07 | Milestone Project 3: Introduction to TensorFlow/Keras and Deep Learning | TensorFlow/Keras are deep learning frameworks written in Python. Originally created by Google and are now open-source. These frameworks allow you to build and train neural networks, one of the most powerful kinds of machine learning models. In this section we'll learn about deep learning and TensorFlow/Keras by building Dog Vision πΆποΈ, a neural network to identify dog breeds in images. |
08 | Communicating your work | One of the most important parts of machine learning and any software project is communicating what you've found/done. This module takes the learnings from the previous sections and gives tips and tricks on how you can communicate your work to others. |
What this course focuses on
- Create a framework for working through problems (6 step machine learning modelling framework)
- Find tools to fit the framework
- Targeted practice = use tools and framework steps to work on end-to-end machine learning modelling projects
How this course is structured
- Section 1 - Getting your mind and computer ready for machine learning (concepts, computer setup)
- Section 2 - Tools for machine learning and data science (pandas, NumPy, Matplotlib, Scikit-Learn)
- Section 3 - End-to-end structured data projects (classification and regression)
- Section 4 - Neural networks, deep learning and transfer learning with TensorFlow 2.0
- Section 5 - Communicating and sharing your work
Student notes
Some students have taken and shared extensive notes on this course, see them below.
If you'd like to submit yours, leave a pull request.