Software Engineer’s Guide to Machine Learning — Part 2 : Learning Python

Software Engineer’s Guide to Machine Learning — Part 2 : Learning Python

Index for the whole series

Learning an Ecosystem to practice ML

We are going to be learning ML by practice.  So we need to learn a platform that we can use.
I look for the following attributes on a ML platform
  • easy to learn : this is paramount.. We need to be able to learn this quickly and improve as we go along.
  • modern
    • Easy to setup and use
    • Has an easy to use UI (IDE or UI)
  • has a good thriving ecosystem (good community around it.  good amount of content on Stackoverflow ..etc)
  • has good proven ML libraries
Here are a few choices
Language Machine Learning Libraries Deep Learning Libraries
  • Scikit
  • Numpy, pandas
  • Tensorflow
  • Theano
  • Caffe
  • Many many libraries
  • Deepnet
  • Darch
  • Weka
  • Mahout
  • DJ4J
My suggestion is you learn PYTHON.
Here is why
  • In the early days, Python was considered a ‘toy language for ML’ and all serious work was done in R.  But Python has come a long way in the last few years as a very solid ML / DL language.
  • It has a very thriving ecosystem of libraries in both ML and DL.  Lot of popular packages like Tensorflow have python APIs.
  • It is a very easy language to pick up.  Most programmers (Java / C / PHP) can pick up Python very easily in a couple of days.. And can keep learning as they go along.   To me this very important as we don’t want to spend too much time learning the language
  • Python is  general purpose language.  If you learn Python, and you are not practicing ML, you can pretty much write any other system — web service, generic scripting ..etc using Python.
    On the other hand R – as good as it is for ML work – is very specific for analytics.  It is not a general purpose language.
  • Python has very easy to use UIs.  My favorite is Jupyter notebooks. They are web based, light weight and easy to use
  • There are lots of FREE and open source resources to learn Python
Ok, now I have hopefully convinced you to learn Python, here is how

Self Learning Python

There are tons of resources for learning Python.  Here are a few
The best way to get comfortable in a language is to practice.
Try the following exercises.
Remember,  you can do them in any order..there is no sequence to follow

Python Code &  Exercises

Check List

Be comfortable in

Optional, nice to know

Learning Path

You don’t have to master Python before learning ML.  Once you have some basic Python under your belt, you can start going to ML.
Continue learning and practicing python as much as you can.


Index for the whole series

Leave a Reply

Your email address will not be published. Required fields are marked *