Tidying up often makes us feel good. For example, arranging the room and putting everything in its place. Some of us may be a bit hesitant to sort out the guard at first. But after arranging our things, we experience a very good feeling. Sometimes the volume of items that need to be sorted may be too much. In such cases, we may wish that a smart closet or shelf could be made so that we could put all the things in it and the closet itself would sort and organize the things.

In order for such a magic closet to work, it needs to first define a series of features that we want to classify the items based on these features. For example, color, size, material, etc.

Now let’s extend the same scenario to the data. In **machine learning**, there are different algorithms called classification algorithms, which we will introduce in this article.

Table of Contents

## What is classification?

Classification is the process of identifying, understanding and categorizing predetermined data or objects. The classification algorithm is a supervised learning technique. In this technique, the machine learns from a set of data and then classifies it into a number of classes or groups. Like, yes or no, 0 or 1, spam or no spam, cat or dog, etc. Since the classification algorithm is a supervised learning technique, the input data must be labeled.

In short, the supervised method uses functions that can predict a predefined label for a set of inputs. Whereas in unsupervised learning, there is a specific pattern in a set of data to be discovered.

## Classification and regression

Supervised learning can be divided into classification and regression. The classification method, which is the method we are interested in in this article, is a method that determines which category or group a certain object belongs to. While in the regression method, the same process is specified for continuous data. There is a narrow border between the algorithms used for these two methods. In fact, some of these algorithms may be used for both methods.

In this article, we will review 6 machine learning classification algorithms.

## Application of implementation algorithms

Classification algorithms can be used in different places. Below are some uses of classification algorithms:

- Email spam detection
- speech recognition
- Identification of cancer tumor cells
- Classification of drugs
- Biometric identification etc.

## How do classification algorithms work?

To solve classification problems in machine learning, mathematical models are used whose task is to find the relationship between a specific variable such as x and the values of the output variable such as y. In other words, the function predicts the output based on the characteristics of the input variable.

### Data processing

Before we apply any statistical algorithm to our data set, we need to fully understand the input variables and the output variables. In classification problems, the goal is always qualitative, but sometimes, even input values can be classified, for example, the gender of customers in a shopping mall’s customer data set. Since classification algorithms are based on mathematical models, all their variables must be converted into numerical values. Consequently, the first step in the work of a classification algorithm is to ensure that the variables, both input and output, are coded correctly.

### Create test and training datasets

After processing the data set, it is time to divide the data into two parts, the test data set and the training data set. With the help of training data, the machine learns the pattern between the input and output values, and then with the test data set, this step allows us to use the training data set so that our machine learns the pattern between the input and output values. A test dataset, on the other hand, tests the accuracy of the model that we will try to fit on our dataset.

### Model selection

Once we have divided the dataset into training and testing, the next task is to choose the model that best fits our problem. For this, we need to be aware of classification algorithms so that we can choose the best algorithm according to our data.

So, let’s dive into a bunch of different types of classification algorithms and explore our options.

## Logistic Regression

The logistic regression algorithm is a basic yet important algorithm in **machine learning** that uses one or more independent variables to determine the outcome. Logistic regression tries to find the best relationship between the dependent variable and a set of independent variables. This algorithm uses the sigmoid function. This algorithm is used when we have double classification. For example, right and wrong, positive and negative and…

## Decision Tree

A decision tree builds tree branches in a hierarchical approach where each branch can be considered as an if-else statement. Branches are developed by dividing the dataset into subsets based on the most important features. The final classification takes place in the last layer of the decision tree.

### Random forest

Random forest algorithm, as its name suggests, is a set of decision trees. Each tree predicts a value for the probability of the target variables. The average of these values is returned as the final output of the function.

## Support Vector Machine (SVM)

The basic concept of support vector machine and how it works can be best understood with this simple example. Suppose you have a dataset that contains two labels, blue and green. You want to group this data according to these same labels, based on the x and y attribute. (The property of x and y can be anything.) As a result, for each coordinate (x,y), the output will be a blue or green label. The support vector machine algorithm works by plotting the data on a plane. Multiple boundaries can be drawn between two different labels. But the SVM algorithm tries to select a line as the boundary that has the greatest distance to the closest data from each label.

If a straight line cannot classify the data well, it is necessary to transfer the data to the **3D space**.

## Naïve Bayes

Naïve Bayes algorithm is based on Bayes theorem. According to this theorem, the Bayes algorithm assumes that each feature of the data is independent of other features. One of the main advantages of this algorithm is that, unlike other classification algorithms in machine learning that require a huge amount of data, this algorithm can work with small data.

## How to choose the best classification algorithm?

In this section, we have a list that will help you understand which machine learning classification algorithms you should use to solve the problem.

Dataset Size: Dataset size is a parameter to consider when choosing an algorithm. If the dataset size is small, you can use low-bias, high-variance algorithms such as Naïve Bayes. In contrast, if the dataset is large, the number of features is large, you should use high bias and low variance algorithms such as KNN, decision tree, and SVM.

Prediction accuracy: the accuracy of a model is a parameter that evaluates the goodness of a classification algorithm. It shows how closely the predicted output value matches the true output value.

Training Time: Sometimes, complex machine learning algorithms like SVM and Random Forests may take a lot of time to compute. Besides, large datasets also require more time for pattern learning anyway. In such a situation, implementing simple algorithms such as logistic regression is easier and saves time.

Number of features: Sometimes, a dataset may have unnecessarily many features and not all of them are relevant. In this case, it is more suitable to use algorithms like SVM for such cases.