Online Course by Kirill Eremenko and Hadelin de Ponteves
Resource last updated: Nov. 21, 2018
This is a great intro course for students who have no background in machine learning but already have some programming knowledge. This was the first machine learning course I took, and it gave me a good quick overview of a lot of the most well-known algorithms, as well as what machine learning is as a discipline and some of the potential applications.
There are nice code templates for using each algorithm, and there's also a section at the start of the course that goes through some of the most basic data preprocessing steps that are required to make use of these algorithms. The code templates are very simplistic, and realistically would not be applied in their current form to any real machine learning application, but they're good for beginners who want to try them out on basic datasets such as those found in the UCI Repository, or some of the basic Kaggle datasets.
The way the course is structured, you can skip ahead to any section and get most or all of the information that you need for that section without having viewed the previous ones. This is good in that you don't have to go through the course linearly, but bad in that the lectures end up being very repetitive. By the end of the course you will find yourself fast forwarding through the code lectures, and I generally recommend that you watch it at 1.5x speed anyways since you can still get all the information with less time spent watching videos.
The rationale lectures are good, in that they explain the concepts with real-world examples or analogies that make it easier to understand what is being talked about. I do wish they had more emphasis on the statistics involved or explained how the algorithms work in more detail, but the focus of this course is really a practical introduction, so don't go in expecting them to explain everything.
The datasets they use are also quite idealistic, as they aren't as messy as real-world datasets might be, and also the results are often quite good with no parameter tuning necessary. The section on parameter tuning also really doesn't go into enough detail, and I'd like for some of that to have been included for each algorithm, ideally with a dataset that shows the importance and impact of proper parameter tuning on results.
The course also does not do enough to explain when you might use the different techniques, and courses like the FastAI ML course are a lot more opinionated when it comes to which algorithms are best for which kinds of problems. After doing this course, I feel the quality of the scripts I produced was lacking compared to other courses, and given the amount of hours spent watching videos if you go through the course at 1x speed in a linear fashion, the actual useful content is lower than one might expect.
The Bottom Line
All that said, overall I think the course is a good one if you're a layperson with no knowledge of machine learning algorithms and want a broad introduction to a number of different techniques, with some reasonably practical examples using idealistic datasets and some legitimately popular machine learning libraries.