I'm currently finishing up Andrew Ng's Coursera course, taught in MATLAB/Octave, but I'm looking to code in Python. The course is an introduction into how some algorithms work from scratch. These include: Linear/Logistic Regression, gradient descent, Support Vector Machines, Neural Networks, K-means clustering, anomaly detection, Gaussian distribution. (Decision trees/random forests aren't covered so I have to learn those).

  1. Any advice on implementing this theoretical knowledge into Python? Is it necessary/recommended to recode the MATLAB algorithms from scratch in Python, or instead should I jump straight into learning Python libraries (sk-learn for now with pandas, matplotlib, etc.) and start projects?
  2. Any project recommendations for my level? Certain concepts I should focus on now? Where to next? I know Python relatively well and have completed tutorials on numPy, Pandas, matplotlib, and sk-learn (very basic).

Next I plan on studying Harvard's CS109 data science course and taking Andrew Ng's Deep Learning Specialization on Coursera.

My ideal goal (a long journey) is to become a machine learning engineer and get into AI and deep learning.

Any advice is welcome! Thanks a lot.


1 Answer 1


There are so many ways to expand your horizons on ML/DL. Currently I share the same conundrum, so to speak.

  1. In my opinion it is not necessary. Since you have completed the course, if you are confident about the material and know how each algorithm works, re-implementing them on another tool would not be that helpful since there are existing frameworks that you can use. On the other hand if you are not that confident, re-implementing everything on a lower level (not via APIs) can serve as a second learning experience, making you more fluent in python and more familiar with tensorflow. So, pick a scenario in regards to your case. For me a combination seems to work. I find papers along with other theoretical material and then try to apply it via the frameworks on projects that I like.
  2. The greatest source of projects on any level is Kaggle. You can start with the Titanic competition, choose an algorithm that you like and explore what can be done. Make your submission and then head to another kernel that is more to your liking. You can also study certain pipelines on existing kernels that worked for other people. Considering concepts and methodologies, I would recommend an approach where you study each and every tool that you use and really understand the math behind it. There is no one-pipeline/framework solves all problems (No Free Lunch Theorem).

You also mention the deeplearning.ai specialization, it's a great source of information and Andrew Ng gives you intuition on aspects that are not very obvious when studying on your own. Another thing that helped me a lot is talking with people in the industry. Finding a mentor who inspires you and can give you his/her input on such questions is the best way to move forward. Go to AI/ML meetups and share your interest with other people, get to know companies in your area or even start an internship!

Good luck with your journey!

  • $\begingroup$ Hi Nikos, thanks so much for the insights! Makes me feel a bit relieved that I can feel confident using the out-of-the-box library algorithms as long as I understand the underlying math from Andrew Ng's ML course. I'm currently working on the Titanic dataset which is an awesome first-project experience. Would you happen to have anymore specific recommendations on what projects/concepts I may want to look into after completing Titanic using a few different algorithms? $\endgroup$
    – Greg Rosen
    Commented Apr 22, 2019 at 21:08
  • $\begingroup$ @GregRosen well, I think that what you ask is specific to each person. Kaggle has many projects that you can choose from, to be the next challenge. Also, try datathons, get together with other people in order to solve a problem. In general, give it time. I thought there should be a specific process in becoming a data scientist, in solving data/ml problems but I 've come to the conclusion that it's not. Everyone has a different journey. Get some inspiration from the deeplearning.ai interviews and then carve your own path! $\endgroup$
    – Nikos H.
    Commented Apr 24, 2019 at 19:26

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.