Getting Started with Machine Learning — Comprehensive guide with free resources
By: Abhishek Shah
Tags: Kaggle, Machine Learning Python, Machine Learning, Pandas, Numpy

This is Part 2, from my three part series on Getting Started for Python, Machine Learning and Deep Learning.

If you haven’t read my first article of the ongoing series, here it is. It’s called Getting Started with Python for Machine learning and Deep learning

About me

I was introduced to Computers as a subject in primary school. My curiosity for that machine led me to join the Computer Club and learn programming languages like Logo and Scratch. As I grew, my passion for Computer Science also grew exponentially, because of which I decided to study it for my under-graduation and so I am currently pursuing my undergrad from a tier 3 college which you might have not even heard of.

Presently, I’ve got acceptance from 7 US universities for pursuing my Masters in Computer Science. As of now, I’ve deferred mine admits to Fall 21 due to the ongoing pandemic. Currently, I am a full-time Machine learning intern for a California based startup called “Quant Binary”.

Table of Contents

What and Why Machine Learning?

Most Important Python Libraries for Machine Learning with free resources

Resources I used for mastering Machine Learning

Importance of Certifications and Projects

Kaggle — Machine Learning and Data Science Community

Editors I use

Suggested Learning Path

Almost all the resources that I’ll be mentioning here are free of cost while some of them are paid. But, I’ll be telling ways, how to almost get those, for free as well.

What and Why — Machine Learning?

Machine learning is a branch of Artificial Intelligence that provides systems the ability to automatically learn and improve from experience without being explicitly programmed. The primary aim of ML is to allow computers to learn automatically without any human intervention or assistance.

Photo by Amanda Dalbjörn on Unsplash

Everything that we humans see and use nowadays, is all somehow or the other related to Machine learning. Right from using Face unlock on our smartphones to using various products like Google, Google Voice, Alexa, Spotify, Youtube, Netflix, and whatnot. Each and everything is built upon the very fundamental idea of Machine learning.

Most Important Python Libraries for Machine Learning

Take these libraries as a compulsory prerequisites for you to learn Machine learning. Do them before you actually start learning ML because almost 80% of the code that you’ll write, will come from these libraries.

Right from reading data, processing it, manipulating it, and visualizing it, everything is done with the help of these libraries only.

1. NumPy — Numerical Python

NumPy is a python library used for working with arrays. It is a library consisting of multidimensional array objects and a collection of methods for processing those arrays and so using NumPy, mathematical and logical operations on arrays can be performed. It also has functions for working in the domain of linear algebra, Fourier transform, and matrices.

In Python, we have lists that serve the purpose of arrays, but they are slow to process. NumPy aims to provide an array object that is up to 50x faster than traditional Python lists because arrays are very frequently used in Machine learning where speed is one very important criteria.

Resources

(Just click every underlined title and you’ll be redirected to that respective page)

Keith Galli’s video on Youtube turned out to be an excellent resource for me for learning almost everything that is required for getting started. The video is short, crisp, and to the point. The best thing about his videos is that he explains his thought process whenever he tries to debug an error. This really helps beginners, to learn how an error is resolved and what your thought process should be for the same.

Keith’s Video’s Page

2. Pandas — Data analysis library

Pandas is a fast, powerful, flexible, and easy to use open-source data analysis and manipulation tool, built on top of the Python programming language.

It is built on the NumPy package and its key data structure is called the DataFrame which allows you to store and manipulate tabular data in rows of observations and columns of variables. DataFrames make manipulating your data easy right from selecting or replacing columns and indices to reshaping your data.

Resources

This Corey Schafer’s playlist of 11 videos is hands down the best and a completely comprehensive guide when it comes to learning pandas.

Corey’s playlist of Pandas

Now see, the truth is, we will not be using NumPy that much in a basic to intermediate Machine learning project but when it comes to pandas, this is what we’ll sing the most, like literally the most. So, you need to learn pandas thoroughly before even thinking of Machine learning.

3. Matplotlib — Python’s plotting library

Matplotlib is a comprehensive library for creating static, animated, and interactive visualizations in Python. It is a cross-platform library for making 2D plots from data in arrays.

A picture is worth a thousand words, and with Python’s matplotlib library, it, fortunately, takes far less than a thousand words of code to create production-quality graphics.

Resources

This Corey Schafer’s playlist of 10 videos is the most extensive playlist that you will find. It covers a wide variety of topics such as — customizing our plots, different plot types, plotting live data in real-time, and more.

Corey’s playlist of Matplotlib

4. Seaborn— Statistical data visualization

Seaborn is a Python data visualization library based on matplotlib. It provides a high-level interface for drawing attractive and informative statistical graphics.

Seaborn is often used because it makes attractive visualizations and works easily with Pandas and NumPy. While with Matplotlib you often have to write multiple lines of code to create a plot while Seaborn gets you the same plot with just 1 line of code.

However, learning seaborn is optional for beginners. Learn seaborn when you kind of get intermediate in applying your skills and this is only possible when you practice a lot.

Resources

Derek’s video provides complete coverage of Seaborn, covering almost all various plots with many real-world examples. You’ll really enjoy learning from Derek.

Derek’s Video’s Page

Resources that I used for learning Machine Learning

I know, I know, you will have to work really hard learning all those libraries before you actually come here and start learning ML. But always remember this.

No Pain, No Gain.

This is that course without which no list of resources for machine learning is ever complete. This is the revolutionary course by the legend of this field, Andrew Ng. The way he explains all the mathematics behind ML algorithms and the techniques required is hands down the best.

Homepage of Coursera’s Machine learning course

Now here's a catch. Most people actually find this course to be very boring, just because it is very theoretical and uses Octave, which is considered to be an old programming language used for scientific computing. You can ignore the octave part (assignments) if you want but make sure to watch all his videos, so you get a good grasp of all the concepts in Machine learning.

How to get this course for free?

When you click on Enroll for Free, this is what you get. Now, if you are someone who will be enrolling in this course just to learn all the theoretical concepts, you can just select, Full Course, No Certificate and you are good to go.

This is what you get when you click on Enroll for free

But, If you’re someone who wants a Certificate and don’t want to spend money, here’s a catch. Just click on Financial aid available which is just to the right of the Enroll for Free button. After clicking on it and filling some fields, this is what you get. Now all you have to do is, Fill those 5 fields in the starting and write some really honest answers for why financial aid and how will this course helps.

Trust me, they really see how passionate and hungry you are when it comes to learning. Draft some honest and serious answers and you’re good to go. Once you apply, all you have to do is wait for 15 days. After almost 14-15 days, you get a mail regarding the same. If selected you’ll get the entire course content, resources, assignments, and certificate, absolutely free. But if it isn’t your day, I’ll suggest you, rewrite your answers and apply once again.

Coursera’s Financial Aid Application form

Now, this is one of the best machine learning courses I’ve ever come across. This is the course that actually teaches you, how to practically implement machine learning.

Homepage of Udemy’s Machine Learning Course

This course covers everything, right from data preprocessing to almost all types of Machine learning (supervised/unsupervised learning, reinforcement learning) and even gives an Introduction to Deep Learning and Natural Language Processing as well.

How to get this course for free?

Personally, I got this course for free. Yes, absolutely free. There was this festive offer or something and I just happened to open Udemy and Oh Boy, almost 10 to 12 of udemy’s best selling courses were given free of cost for a limited time.

And so or everyone, who are eyeing for that certificate, all you need to do is, just keep checking udemy’s website every alternate day and I’m sure that if not Free, you’ll be guaranteed getting that course for as low as 300 Rupees.

This book assumes that you know close to nothing about Machine Learning. Its goal is to give you the concepts, tools, and intuition you need to implement programs capable of learning from data. Section 1 of the book is what we will study, as it covers entire Machine learning (Section 2 covers Deep learning, which I’ll be covering in Part 3 of our ongoing series)

Book Cover

How to get this book for free?

In my case, I got this book at no cost from a senior of mine who was also a very good friend. If you want you can search the Internet for a free or PDF copy of this book and I’m sure you’ll get it.

If you are someone who can afford buying this 2275 Rupees book, I’ll urge you to please buy it rather than downloading it. Please respect and appreciate an author’s effort by buying their books. It really takes lot of time and efforts to draft something as marvelous as this book.

Importance of Certifications and Projects

At first, I used to think, “I don’t need certifications or projects to showcase my skills. I’ll show my skills in my interview”. But as I kept meeting new and newer people in this field and started interacting with them, I got to know how important Certifications and Projects are. So, according to my own experience, what I think is,

Certifications are not Crucial but Important whereas Projects are Crucial as well as Important.

See, the thing you need to understand is, “How will the recruiter or any other person will know, how skilled and knowledgeable you are in this field?” The answer is, by your Certifications and by your Projects.

These two are the most important things when it comes to like choosing 30 candidates out of 100 or like 1000, just as a part of mere screening process.

1. Certifications

So, after seeing profiles of tens and hundreds of people and by my own learning experiences, these are the certifications that I’ll suggest you all for showcasing your skills in Machine learning.

I. Machine Learning — Stanford University on Coursera