Machine learning is the concept of programming the machine in such a way that it learns from its experiences and different examples, without being programmed explicitly. It is an application of AI that allows machines to learn on their own. Machine learning algorithms are a combination of math and logic that adjust themselves to perform more progressively once the input data varies. Being a general-purpose, easy to learn and understand language, Python can be used for a large variety of development tasks. It is capable of doing a number of machine learning tasks, which is why most algorithms are written in Python.

The process of creating machine learning algorithms is divided into 2 parts – Training and Testing Phase. Even though there is a large variety of machine learning algorithms, they are grouped into these categories: **Supervised Learning, Unsupervised learning, and Reinforcement learning.**

In this article, we’ll talk about **5 of the most used machine learning algorithms **in Python from the first two categories.

**Machine Learning Algorithms in Python**

**Linear regression****Decision tree****Logistic regression****Support Vector Machines (SVM)****Naive Bayes**

**Which are the 5 most used machine learning algorithms?**

**1. Linear regression**

It is one of the most popular Supervised Machine Learning algorithms in Python that maintains an observation of continuous features and based on it, predicts an outcome. It establishes a relationship between dependent and independent variables by fitting a best line. This **best fit line is represented by a linear equation Y=a*X+b,** commonly called the regression line.

In this equation,

**Y – Dependent variable**

**a- Slope**

**X – Independent variable**

**b- Intercept**

The regression line is the line that **fits best in the equation to supply a relationship between the dependent and independent variables**. When it runs on a single variable or feature, we call it** simple linear regression** and when it runs on different variables, we call it **multiple linear regression.** This is often used to estimate the cost of houses, total sales or total number of calls based on continuous variables.

**2. Decision Trees**

A decision tree is built by repeatedly asking questions to the partition data. The aim of the decision tree algorithm is to **increase the predictiveness at each level of partitioning so that the model is always updated with information about the dataset. **

Even though it is a **Supervised Machine Learning algorithm**, it is used mainly for **classification rather than regression**. In a nutshell, the model takes a particular instance, traverses the decision tree by comparing important features with a conditional statement. As it descends to the left child branch or right child branch of the tree, depending on the result, the features that are more important are closer to the root. The good part about this machine learning algorithm is that** it works on both continuous dependent and categorical variables.**

**3. Logistic regression**

A **supervised machine learning algorithm in Python **that is used in estimating discrete values in binary, e.g: 0/1, yes/no, true/false. This is based on a set of independent variables. This algorithm is used to **predict the probability of an event’s occurrence by fitting that data into a logistic curve or logistic function. **This is why it is also called logistic regression.

Logistic regression, also called as Sigmoid function, takes in any real valued number and then maps it to a value that falls between 0 and 1. This algorithm finds its use in finding spam emails, website or ad click predictions and customer churn.

Sigmoid Function is defined as,

**f(x) = L / 1+e^(-x)**

x: domain of real numbers

L: curve’s max value

**4. Support Vector Machines (SVM)**

This is one of the most important machine learning algorithms in Python which is mainly used for **classification but can also be used for regression tasks**. In this algorithm, each data item is plotted as a point in n-dimensional space, where **n denotes the number of features you have, with the value of each feature as the value of a particular coordinate.**

SVM does the **distinction of these classes by a decision boundary.** For e.g: If length and width are used to classify different cells, their observations are plotted in a 2D space and a line serves the purpose of a decision boundary. If you use 3 features, your decision boundary is a plane in a 3D space. SVM is highly effective in cases where the number of dimensions exceeds the number of samples.

**5. Naive Bayes**

Naive Bayes is a **supervised machine learning algorithm used for classification tasks**. This is one of the reasons it is also called a Naive Bayes Classifier. It assumes that features are independent of one another and there exists no correlation between them. But as these assumptions hold no truth in real life, this algorithm is called ‘naive’.

This algorithm works on Bayes’ theorem which is:

**p(A|B) = p(A) . p(B|A) / p(B)**

In this,

p(A): Probability of event A p(B): Probability of event B p(A|B): Probability of event A given event B has already occurred p(B|A): Probability of event B given event A has already occurred

The Naive bayes classifier calculates the probability of a class in a given set of features, p( yi I x1, x2, x3,…xn). As this is put into the Bayes’ theorem, we get :

**p( yi I x1, x2…xn)= p(x1,x2,…xn I yi). p(yi) / p(x1, x2….xn)**

As the Naive Bayes’ algorithm assumes that features are independent, p( x1, x2…xn I yi) can be written as :

**p(x1, x2,….xn I yi) = p(x1 I yi) . p(x2 I yi)…p(xn I yi)**

p(x1 I yi) is the** conditional probability for a single feature** and can be easily estimated from the data. Let’s say there are 5 classes and 10 features, 50 probability distributions need to be stored. **Adding all these, it becomes easier to calculate the probability to observe a class given the values of features (p(yi I x1,x2,…xn)).**

**Conclusion**

These were the 5 most used machine learning algorithms. Amongst these, which one do you think has the most potential? Do let us know in the comment section below!

The popularity of machine learning has soared in recent years due to high demand in technology. There is a lot of potential in this field to create value out of data and this is one of the primary reasons that it appeals to businesses in different industries.

If you want to increase your chances of getting hired, all you need to do is acquaint yourself with the machine learning concepts in a power packed course.** ****The Post Graduate Program in Artificial Intelligence & Machine Learning: Business Applications** offered by McCombs School of Business at The University of Texas at Austin promises the same.

**Sign up** here to know more.