Awesome Open Source
Awesome Open Source

Learn Machine Learning


To be a good Machine Learning Engineer, you should not only know about Machine Learning, you should also have a good understanding about Data Science, some programming languages, software fundamentals and Big Data because the job of a Machine Learning engineer is somewhere in-between a Data Scientist and a Software Engineer and they usually act like a bridge for these two fields, so knowing some fundamentals in both of these fields will help you immensely.

I put together this repo for anyone wanting to become a good Machine Learning Engineer and all these courses are from Coursera. To get access to the quiz you have to get the paid version but if you can't pay for it, they also offer financial aid but you will have to wait 15 days to get approved but it will be worth the wait if you can't pay, but if you don't want to wait for 15 days, you can use this link to get 50% off a course or the first month of a Specialization subscription.

Also, a word of warning, this is a pretty intense compilation of courses, the math is intense, the topics are complex, you will learn five programming languages, Python, C, C++, Java and SQL and to be good, you have to practice, I recommend HackerRank or CodeSignal. I have also created a repository with all my HackerRank solutions.

The Math side, again, practice, finishing it in 6 months should not be your goal, even though it is an important one, understanding all the topics should be, so practice as much as you can. Even though I have provided all the quiz solutions, don't look into it till you finish or get stuck or are really confused. Your goal I assume is to get a job and remember, no one will give hire you for finishing these courses, you will have to know to apply, so make sure you do.

Next, this is a full time course plan, if you are in college, plan to go through this during your breaks, summer or winter but if you are working, it will take you more than 6 months to finish so spread it out.

Finally, I am personally taking all these courses so I know for a fact how affective they are and how good, so if you are going through some sections and if you have any doubts, feel free to reach out, or if you just wanna say hi, would be more than glad to help you:

LinkedIn Facebook Facebook

I also have a blog for anyone interested in learning Artificial Intelligence, Machine Learning and Deep Learning Topics:

Adhiraiyan AI Blog

Study Plan

Following is the list of courses we will be taking. The first 3 months you will focus on the courses under Phase 1 and the next 3 months, you should focus on the courses in Phase 2. In between to reinforce some concepts and refresh some fundamentals, we will also go through other video lectures online and I will provide links to it on my course notes README. After every month, we should take a week to review everything we studied to reinforce the concepts

Phase 1:

  1. IBM Data Science Professional Certificate
  2. Introduction to Programming in C Specialization
  3. Mathematics for Machine Learning Specialization
  4. Software Development Life-cycle Specialization (Continue in Phase 2)
  5. Software Design and Architecture Specialization (Continue in Phase 2)
  6. Big Data Specialization
  7. IBM Applied AI Professional Certificate

Phase 2:

  1. Advanced Data Science with IBM Specialization
  2. Accelerated Computer Science Fundamentals Specialization
  3. C++ For C Programmers Part A
  4. C++ For C Programmers Part B
  5. Advanced Machine Learning Specialization
  6. Probabilistic Graphical Models Specialization
  7. IBM AI Engineering Professional Certificate

When I put together this course, I was focusing on someone who already had some exposure to machine learning, data science and python, but I heard from a lot of others who were beginners so, for you all, it is better to master one programming language than be a jack of all, because in your programming interview, they would want you to code in one language, and since the industry standard is becoming python, if you are a beginner, take Python for Everybody Specialization and you can drop Introduction to Programming in C Specialization, Accelerated Computer Science Fundamentals Specialization, C++ For C Programmers and Software Design and Architecture Specialization, that should give you enough time to focus on Python and learn some Data Structures and Algorithms.

If you are also a beginner in Machine Learning or Data Science, you can skip the Probabilistic Graphical Models Specialization and take Applied Data Science with Python Specialization.

In this repository you will find the solution to all the quizzes, code and also my short notes for all the courses.

Time Table

You should roughly plan to spend around:

  • 2hrs everyday from Monday to Friday for Data Science
  • 2hrs everyday from Monday to Friday for C and C++
  • 2hrs everyday from Monday to Saturday for Machine Learning
  • 1hr everyday from Monday to Saturday for Software Engineering
  • 1hr everyday from Monday to Saturday for Big Data
  • On Saturdays you can spend up-to 4 hours studying for the IBM AI Professional Certificate

What would you have learned

By the End of the courses you would have learned:

  • Programming Languages:

    • Python,
    • Java,
    • C,
    • C++,
    • SQL
  • Database Management System:

    • IBM Db2 Warehouse
  • Big Data Management System:

    • Hadoop
    • MapReduce
    • Postgres
    • MongoDB
    • Aerospike
    • Splunk
    • Datameer
    • Spark
  • Machine Learning Frameworks:

    • Spark MLlib
  • Cloud Services:

    • IBM Cloud,
    • IBM Watson
  • Software Skills:

    • Lean Development
    • Agile Development

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
java (31,769
c (15,726
shell (10,559
jupyter-notebook (6,448
deep-learning (4,077
machine-learning (3,737
cpp (1,375
data-science (924
makefile (802
python-3 (213
hadoop (134
webdevelopment (49
ibm-cloud (23