Generally, data is a set of factual information based on numbers, words, observations, measurements that can be used for calculation, discussion and reasoning.

The rough dataset is the essential foundation of data science and it may be of diverse types, such as structured data and unstructured data and semi-structured.

Structured data is formatted in tabular form, highly recognized and easily searchable, whereas, unstructured data is unformatted, unorganized and cannot be processed and analyzed by using conventional methods.

## What is Classification?

It is a process of forecasting the class of given data points. Classification belongs to a supervised machine learning category where the labeled dataset is used. We must have input variables (X) and output variables (Y) and we applied an appropriate algorithm to find the mapping function (f) from input to output. Y = f(X).

## Basic Terminologies

Before discussing the machine learning algorithms used for classification, it is necessary to know some basic terminologies.

**Classifier:**It is an algorithm that maps the information to a particular category or class.**Classification model:**It attempts to make some determination from the input data given for preparing. It will anticipate the class names/classifications for the new information.**Feature:**It is an individual quantifiable property of a wonder being watched.**Binary Classification:**In binary classification, there are two possible results, for example, gender classification into male and female.**Multi-class classification:**In multi-class classification, there are more than two classes where each sample is assigned to one and only one objective mark. For example, fruit can be mango or apple yet not both simultaneously.- Multi-label classification: In multi-label classification, each sample is mapped to a lot of target labels or more than one class. For example, a research article can be about computer science, a computer part, and the computer industry simultaneously.

## Examples of Classification Problems

Some examples of classification problems are given below.

- Natural Language Processing (NLP), for example, spoken language understanding.
- Machine vision (for example, face detection)
- Fraud detection
- Text Categorization (for example, spam filtering)
- Bioinformatics (for example, classify the proteins as per their functions)
- Optical character recognition
- Market segmentation (for example, forecast if a customer will respond to promotion)

## Machine Learning Algorithms for Classification

In supervised machine learning, all the data is labeled and algorithms study to forecast the output from the input data while in unsupervised learning, all data is unlabeled and algorithms study to inherent structure from the input data.

Some popular machine learning algorithms for classification are given briefly discussed here.

- Logistic Regression
- Naive Bayes
- Decision Tree
- Support Vector Machine
- Random Forests
- Stochastic Gradient Descent
- K-Nearest Neighbors (KNN)

## 1. Logistic Regression

It is a machine learning algorithm used for classification where the likelihoods relating the possible results of a single test are modeled using a logistic function.

Logistic regression is most appropriate for understanding the impact of numerous independent variables on a single result variable.

Whereas, linear regression is mostly used for predictive analysis. It is a linear approximation of a fundamental relationship between two or more variables.

The main processes of linear regression are to get sample data, design a model that works best for that sample and make a prediction for the whole population.

## 2. Naïve Bayes

Naïve Bayes is a probabilistic illustration that is based on Bayes’ theorem and statistical independence hypothesis of random variables instead of measuring full covariance matrix.

It perfectly works in many real-life situations like spam filtering and text classification.

Naïve Bayes algorithm is very fast as compared to other methods that need a slight amount of training data to evaluate the essential parameters.

It can be used for binary as well as multi-class classification. It has various types such as Bernoulli, Gaussian, and Multinomial Naïve Bayes.

## 3. Decision Tree

Decision Tree is used for both classification and regression.

Generally, it is used for attribute selection. Decision Tree has an internal and leaf node.

Internal node shows an attribute and each attribute has its own value like true or false, whereas, leaf node shows as a class label like positive or negative.

It is very simple which requires small data preparation.

This algorithm can handle categorical data as well as numerical data. It is basically used for predicting a class or value of targeting variables by learning decision rules gathered from training data.

## 4. Support Vector Machine

Support Vector Machine (SVM) is a non-probabilistic supervised machine learning algorithm that is more powerful for classification and regression.

It is described in input and output format where input is vector space and output is positive or negative.

This algorithm is very memory efficient and provides linearly separable data.

## 5. Random Forests

Random Forests is a supervised machine learning algorithm that is used for classification and regression as well.

It produces a set of decision trees from an arbitrarily selected subset of training set then sums the divisions from various decision trees to elect the final class of the experimental entity.

This classifier controls over-fitting and produces more precise results as compared to decision trees.

## 6. Stochastic Gradient Descent

It is a very simple and resourceful approach to fit linear models mostly when the quantity of samples is very bulky.

The main advantages of Stochastic Gradient Descent are its proficiency and ease of implementation.

Apart from this, it has few demerits such as sensitive to feature scaling and it requires a number of hyperparameters like a number of iterations and regularization parameters.

## 7. K-Nearest Neighbours (KNN)

KNN belongs to a supervised machine learning field that can be utilized for both regression and classification.

It is simple to implement and mostly used in data mining, banking system, intrusion detection, and pattern recognition.