All of the Machine Learning algorithms take data as input, but what they want to achieve is different.

They can be broadly be classified in a few groups based on the task they are designed to solve. These tasks are: classification, regression and clustering.

Related course: Complete Machine Learning Course with Python



If we have data, say pictures of animals, we can classify them. This animal is a cat, that animal is a dog and so on.

A computer can do the same task using a Machine Learning algorithm that’s designed for the classification task. In the real world, this is used for tasks like voice classification and object detection.

This is a supervised learning task, we give training data to teach the algorithm the classes they belong to.



Sometimes you want to predict values. What are the sales next month? What is the salary for a job? Those type of problems are regression problems.

The aim is to predict the value of a continous response variable. This is also a supervised learning task



Clustering starts with data points. These data points can be measurements like length and width. These can be plotted, each record as a point (length,width).

data points

Clustering is to create groups of data called clusters. Observations are assigned to a group based on the algorithm. This is an unsupervised learning task, clustering happens fully automatically.


Imagining have a bunch of documents on your computer, the computer will organize them in clusters based on their content automatically.

Download examples