Machine learning by Andrew Ng (on Coursera) vs. Learning from Data (on edX)



I am comfortable running my own basic analysis in R as well as Python and want to learn and implement machine learning. I have come across 2 popular options:

  • Machine Learning by Andrew Ng (on Coursera)
  • Learning from Data by Yasir Abu Mustafa (on edX)

Has any one undergone both the courses? Which one should I start with? I have decent programming knowledge and basic statistical understanding.

Any suggestions are more than welcome

Learning from Data - relaunched


I think both of them are good courses, but meant for different audience. They are taught by two of the best and most passionate people on the subject. So as long as you know what you are looking for and stay true to that question, you will not go wrong with the choice.

Machine Learning by Andrew Ng (on Coursera):

  • Provides very lucid introduction to even very complex topics, so it can be a good course to start, if you are a complete beginner.
  • The course on Coursera actually skips out on the mathematical intuition and a lot of details, which can leave you wanting for more. You can look at CS229 (the actual course taught by Prof. Andrew Ng) at Stanford. These videos are available on YouTube, which is more involved than the Coursera version.
  • The course actually uses Octave instead of R or Python, which might not be the best tool for future. Having said that you can obviously use your own tool for the learning.
  • The assignments are relatively simple and don’t require you to put in any extra efforts to complete them. If you like that kind of approach - it is good. But, if you want challenging assignments, you will be left wanting for more.

Learning from Data by Yasir Abu Mustafa (on edX):

  • This is a more involved course and you will find tougher assignments and exams as compared to the Machine learning course on Coursera. If you know programming already, this might be a more appropriate course.
  • The lectures are a mix of theoretical and practical applications through exams and assignments. If you don’t enjoy assignments, which will stretch you a lot, this can be a very difficult course. For the ones who enjoy this pedagogy, this is the best machine learning course available on the internet.
  • You should make sure you are comfortable with pre-requisites before taking this course.

As far as I know, you will need to look at old lectures and material for the edX Course as it would now only be offered year after next. Not sure, if this would impact the decision.

As I said, in the end, it boils down to what kind of pedagogy you prefer and how involved you want the course to be.

Hope this helps.



To extend what Kunal has already said, if:

  • You are good with at least one object oriented programming language
  • Have some knowledge about stats
  • You are up for a challenge for next 3 months

just go ahead with Learning from Data - the learning is unmatched!



As someone who is currently taking Ng’s course, I agree with pretty much everything Kunal has posted, especially about the lack of mathematical detail. To be blunt, it’s dumbed down. In fact, there are moments when the professor seems almost apologetic for displaying or doing a little partial differentiation, and repeats over and over again that the mathematical details can be ignored (I mean, at least give those interested a reference on what or where to look details up!).

The exercises surprised me. For the assignments so far, I have (and most probably everyone else has too) literally coded only about 5-10 lines on average and managed to get them all correct. You are only required to put in the code equivalent of the equations taught in the lectures, and this is where Octave/Matlab comes in: it makes matrix operations easy-peasy. No biggie if you are already into programming. In the initial stages, I spent more time trying to get the Octave syntax correct–I’m new, as you might have guessed–than understanding the equation.

This of course is not to say that the course is completely useless. I think coming as it did at this time may have been a blessing in disguise, for me. For someone who’s stuck at work for longer than usual and doing a few other courses in parallel, this gentler introduction and broad conceptual understanding may indeed serve well for undertaking a more demanding course in the future, such as the one on EdX.

P.S.: Stanford. : -)


@anon Thanks for pointing it out :smile:


From my experience, Learning from Data would be the way to go. It is a proper course not a watered down version as already pointed out. The assignments are difficult and not a walk in the park. Mind you, you won’t be able to work around the problems without understanding the material.

The thing which probably hasn’t been mentioned is that the quality of discussion is better and of much higher intellect. You will able to get links and access to other learning opportunities by fellow serious learners.

Expect a work load equivalent to at-least two typical courses. So go ahead for Data , Andrew Ng only if you are short on time.

Emphasis is on learning and using Machine Learning not some commands on some random software etc. This is one fundamental difference between this course and others.


How about the course Intro to Machine Learning on Udacity? It would be really helpful if someone can answer.


Intro to Machine Learning is an even more dumbed down version of Stanford’s Machine Learning. It’s broader but way too superficial to be a good first Machine Learning course. It’s a nice course if you already know the basics of Machine Learning, program in R/Matlab/whatever, and want to know how to apply it in Python. Otherwise, better stay with the other courses mentioned in this topic.


I am interested in learning Machine learning
Name: Hari Galla
City: Bangalore