Skip to content

Guide · Open source

How to use 100-Days-Of-ML-Code: a day-by-day machine learning path

Updated · written with AI from the project's own documentation and checked against our catalogue data

100-Days-Of-ML-Code is a public GitHub repository that logs one person's 100-day self-study of machine learning. It is a guided sequence of beginner topics, with short daily notes, links to code, infographic images and outside courses and videos. This guide shows you how to get the repository, how to read it, and which parts are most useful, so you can follow the path on your own.

100-Days-Of-ML-CodeAvik-Jain/100-Days-Of-ML-Code · ★ 52k · MIT

Quick start

  1. 1Install git. The only setup the README requires is git, which you need to run the clone command.
  2. 2Clone the repository. Run git clone https://github.com/Avik-Jain/100-Days-Of-ML-Code in a terminal to download all files.
  3. 3Open the README. Read the README in order, using the day headings as a syllabus for basic machine learning topics.
  4. 4Read each day's note. Each entry gives a short personal note on the day's topic, so read it before the linked material.
  5. 5Open the linked code or infographic. Follow the code link or infographic image for the day to see the worked example or summary.
  6. 6Follow the outside lectures. Watch the linked 3Blue1Brown, Caltech or Bloomberg lectures and Coursera course for deeper explanations.
  7. 7Practise with scikit-learn. Rerun the scikit-learn examples in your own environment and change the inputs to see what happens.

What is 100-Days-Of-ML-Code?

The repository is a diary rather than a course. It is based on the 100 Days of Machine Learning Coding idea proposed by Siraj Raval, and the author posts a log entry for each day of study. Topics include data preprocessing, simple and multiple linear regression, logistic regression, K nearest neighbours, support vector machines, naive bayes, decision trees and random forests.

Each entry is short. Some have a link to a code file, some have an infographic image, and many point to lectures or videos for deeper study. The README notes that the author later switched to posting infographics on alternate days because of less available time.

  • Topics are arranged roughly from basic data preparation to introductory neural networks.
  • Code links point to Markdown files in the Code folder of the repository.
  • Datasets are linked from the README's datasets folder.
  • The README describes the repository as a log, and its last push was 2023-12-29.

Get the repository onto your computer

The README gives one install command, which clones the repository with git. The project does not describe an installable package, so there is nothing to build or configure beyond getting the files. You need git installed to run the command. The README lists no other prerequisites.

  • Open a terminal and run the clone command below.
  • Move into the new folder and browse the Code, Info-graphs and datasets folders named in the README.
git clone https://github.com/Avik-Jain/100-Days-Of-ML-Code

Follow the day-by-day path

Read the README from top to bottom and use the day headings as a syllabus. A sensible order is to start with Day 1 on data preprocessing, then the regression and classification days, then the decision tree and random forest days. Each heading names the topic, so you can jump to a specific algorithm.

For each day, read the short note first, then open the linked code file or infographic. The notes are personal and brief, so the infographic and the linked lecture or video usually carry more explanation than the text.

  • Days 2 to 4 cover linear and logistic regression.
  • Days 9 to 16 cover support vector machines, K nearest neighbours and naive bayes.
  • Days 23 to 25 cover decision trees.
  • Days 26 to 32 cover linear algebra and calculus using 3Blue1Brown playlists.
  • Days 33 and 34 cover random forests.

Several entries use the scikit-learn library. For example, Day 14 describes an SVM implementation on linearly related data using the SVC classifier, and Day 16 covers the kernel trick. Use these as pointers: open the linked code file, run it in your own Python environment, and compare it with the scikit-learn documentation.

The repository also links to lecture series. Caltech's CS 156 lectures by Professor Yaser Abu-Mostafa are mentioned from Day 19, the Bloomberg machine learning lectures from Day 15, the Coursera deep learning specialization from Day 17, and the 3Blue1Brown videos on linear algebra, calculus and neural networks from Day 26 onward.

  • Start a code link in a notebook or Python file you control, so you can change values and rerun it.
  • Keep a list of the outside links you finish, since the README does not track progress for you.
  • Use the Beautiful Soup mention on Day 21 as a starting point if you want to collect data for practice.

Where the repository falls short

The README is a log written during the author's study, not a maintained textbook. Some entries are one line, some links may be out of date, and the README does not explain every formula or step. Because the last push was 2023-12-29, the repository will not add newer material.

If you need complete, current tutorials, pair this repository with a maintained course or book. The README's comparable projects are fast.ai, the Hands-On Machine Learning with Scikit-Learn book repository and the scikit-learn tutorials.

What people use it for

  • Following a day-by-day sequence of beginner machine learning topics on your own schedule.
  • Finding links to the 3Blue1Brown linear algebra and calculus playlists to refresh maths before studying ML.
  • Looking up scikit-learn examples for classic algorithms such as SVC and random forests.
  • Studying alongside a learner's notes and getting pointers to Caltech and Bloomberg lectures.

Frequently asked questions

Is 100-Days-Of-ML-Code free to use?

The repository is released under the MIT licence, as listed in its project information. The linked courses, videos and playlists are hosted by their own providers, so check their terms separately.

How do I install 100-Days-Of-ML-Code?

There is no installable package. Run git clone https://github.com/Avik-Jain/100-Days-Of-ML-Code in a terminal to download the files. The README lists no other prerequisites.

What do I need to run the code?

The README lists no prerequisites. Several linked examples use Python and the scikit-learn library, so you will need those in your own environment to run them.

Is this a complete machine learning course?

No. It is a log of one person's 100-day self-study covering introductory topics. It is useful as a guided path, but it is not a complete or maintained tutorial.

Is 100-Days-Of-ML-Code still updated?

The README's last push was 2023-12-29, so do not expect new entries. Use it as a fixed set of notes and links.

What are good alternatives to 100-Days-Of-ML-Code?

The README names fast.ai, the Hands-On Machine Learning with Scikit-Learn book repository and the scikit-learn tutorials as comparable projects. These are more structured and better suited to readers who need complete, maintained material.

New agent skills, repos and AI tools — every week

The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.

Our verdict

Use 100-Days-Of-ML-Code if you are a beginner who wants a day-by-day list of basic machine learning topics with pointers to good videos and scikit-learn examples. Pick a maintained course or book, such as fast.ai or the Hands-On Machine Learning book, if you need complete, current tutorials or advanced material.

Install options & downloads