If you are interested in learning machine learning but you are not sure where to start then you might not be sure where to start.

The aim of this post will be to give you a roadmap of the things that you can do to learn the ins and outs of machine learning in a time effective manner.

**So, how to learn machine learning from zero? **

Here are the steps that I would recommend that you take

- Take the machine learning course taught by Andrew Ng that has no prerequisites
- Learn Python programming with this course
- Learn Data analysis in Python with this Youtube series
- Take the deep learning course taught by Andrew Ng
- Read this book or watch this Youtube series on how to implement machine learning in Python
- Start applying your knowledge of machine learning on Kaggle competitions
- Learn calculus, linear algebra and probability on edX
- Take this more advanced course on machine learning offered by MIT

There are many different possible paths that you can take and the above is just one of them. I recommended the above because of the high reviews that the courses have received and the cheapness of the courses. The only thing that you would have to pay for above would be the book that I recommend at step 5.

If you want to take a course that will take you from zero to being able to make use of machine learning and you are willing to pay then I would recommend that you do this course offered by Dataquest.

This course will assume that you have no prior knowledge and will interactively teach you all of the required material to learn machine learning. The course will even teach you the calculus, statistics and linear algebra that you need to know for machine learning so it will help to save time by just teaching you what you need to know.

You can see a review of Dataquest below if you are thinking of going down that route.

#### Prerequisites for machine learning

There are courses, such as the one offered by Andrew Ng, that will teach you machine learning without assuming any prior knowledge.

However, to implement the machine learning algorithms it will be necessary for you to learn a programming language such as Python and how to prepare data using that programming language.

It will also be necessary for you to learn calculus, probability and linear algebra if you want to be able to get a mathematical understanding of how the machine learning algorithms work and of how to make use of them effectively.

#### Start by taking Andrew Ng’s course on machine learning

If you are looking to learn machine learning and you do not have any prior knowledge then I would recommend that you start out by taking Andrew Ng’s course on machine learning.

The course does not assume any prior knowledge and features a section where he teaches you the necessary linear algebra. However, he doesn’t teach you calculus so it will be difficult to understand certain parts of the course. This is not an issue, however, since he teaches it in a way such that you can fully understand the course without having a knowledge of calculus.

The main reason that I would recommend that you start with this course is that it will give you the opportunity to see whether or not machine learning is for you before you have invested a lot of time into learning the mathematics and programming.

#### Learn how to code in Python and learn data analysis

After taking the course above and deciding that you are interested in machine learning then it will be necessary to learn how to implement the machine learning models in a programming language such as Python.

I would recommend that you learn Python specifically since it is very popular in the machine learning community and it is an intuitive and easy programming language to learn.

The course that I would recommend that you use to learn Python would be this one since it also teaches you computer science fundamentals. This will help you, later on, if you decide to progress to more advanced material in machine learning and if you start looking for a job in machine learning.

After having learned Python it would be worthwhile for you to learn some data analysis in Python. This is because it will be necessary for you to know how to manipulate data so that it is in an optimal form for the machine learning models. I would recommend that you watch this Youtube series to learn data analysis in Python.

#### Take this course offered by Andrew Ng which teaches deep learning

Once you have learned how to program in Python then I would recommend that you work through this course offered by Andrew Ng. The course teaches deep learning algorithms which are a special group of machine learning algorithms that are able to get high levels of accuracy when they are given a lot of data to learn from.

#### Learn how to implement the machine learning algorithms effectively

The next recommendation that I would make would be to read this book that will teach you everything that you need to know about implementing the machine learning algorithms in Python.

If you do not want to spend money on the book then a good alternative would be to watch this Youtube series.

#### Start implementing the algorithms in competitions on Kaggle

At this point, you will know what the different machine learning algorithms are and how to implement them. This is when you should start actively working on implementing your own machine learning projects.

A good way to do this is by competing in Kaggle competitions. Kaggle is a website that hosts paid machine learning competitions where people compete with each other to get the highest possible score by applying machine learning models to different types of datasets.

**Active learning is the most effective form of learning. By implementing the algorithms on Kaggle you will be able to identify gaps in your knowledge and learn the things that you need to learn the most. **

#### Learn calculus, linear algebra and probablity

If you want to learn the mathematical underpinnings of machine learning then it will be necessary for you to learn calculus, linear algebra and probability. Having knowledge of probability and statistics will also be especially helpful since it will help you to learn how to implement the algorithms in a more statistically stringent way.

The courses that I would recommend you use to learn these subjects are as follows:

Calculus (MIT)

Linear algebra (The University of Texas at Austin) I would also recommend this Youtube series

Probability (MIT)

#### Take a more advanced machine learning course

Once you have learned the mathematics that is required to learn machine learning then it would be worthwhile for you to go through a course that teaches you the mathematics that goes into the machine learning algorithms.

The course that I would recommend would be this one.

#### How long will it take me to learn machine learning?

To learn machine learning with Andrew Ng’s course will take 50 hours. However, to also learn Python and data analysis using the courses linked above will take another 140 hours. You will then need to learn how to implement the algorithms using the book linked to above which you should expect to take at least another 50 hours. So, you would be looking at 240 hours to get to a point where you can comfortably implement machine learning algorithms **without any prior knowledge.**

If you then want to effectively learn the mathematics that goes into the machine learning then it would also be necessary for you to learn calculus, linear algebra and probability and then to take a more advanced machine learning course such as the one offered by MIT. This will likely double the amount of time that it would take.