### Data Science

# A Quick Guide to Understanding a KNN Algorithm

With the business world aggressively adopting Data Science, it has become one of the most sought-after fields. We explain what a K-nearest neighbor algorithm is and how it works.

## What is KNN Algorithm?

K-Nearest Neighbors algorithm (or KNN) is one of the most used learning algorithms due its simplicity. KNN or K-nearest neighbor Algorithm is a supervised learning algorithm that works on a principle that every data point falling near to each other comes in the same class. The basic assumption here is that the things that are near to each other, are like each other. Mostly, KNN Algorithm is used because of its ease of interpretation and low calculation time.

KNN is widely used for classification and regression problems in machine learning. A few examples of KNN are algorithms used by e-commerce portals to recommend similar products.

### Let’s Review an Example:

In the given image, we have two classes of data. Class A representing squares and Class B representing triangles.

The problem is to assign a new input data point to one of the two classes with the use of KNN algorithm

The first step is to define the value of ‘K’ which stands for the number of Nearest Neighbors.

If the value of “k” is 6, it will look for 6 nearest Neighbors to that data point, If the value of “k” is 5, it will look for 5 nearest Neighbors to that data point.

Let’s consider ‘K’ = 4 which means that the algorithm will consider the four neighbors that are the closest to the data point.

Now, at ‘K’ = 4, one triangle and two squares can be seen as the nearest neighbors. So, the new data point based on ‘K’ = 4, would be assigned to Class A.

## Where to use KNN?

KNN is used in both classification and regression predictive problems. However, when it is applied for industrial purposes, mostly it is used in classification since it fairs across all parameters evaluated when determining the usability of a technique.

- Prediction Power
- Calculation Time
- Ease to Interpret the Output

## How is it employed in daily problems?

Despite its simplicity, KNN works way better than other powerful classifiers and is used in places, such as economic forecasting, and data compression, Video Recognition, Image Recognition, Handwriting Detection, and Speech Recognition.

## Some major uses of the KNN Algorithm

KNN Algorithm is used in the banking system to predict if a person is fit for loan approval or not by predicting if he or she has similar traits to a defaulter. KNN also helps in calculating the credit scores of individuals by comparing it with persons having similar traits.

## Companies Using KNN

Most of the E-commerce and entertainment companies like Amazon or Netflix use KNN when recommending products to buy or movies/shows to watch.

How do they even make these recommendations? Well, these companies gather data on user’s behavior like previous products you have bought or movies you have watched on their website and apply KNN.

The companies will input your available customer data and compare that to other customers who have purchased similar products or have watched similar movies.

The products and movies will then be recommended to you, depending on how the algorithm classifies that data point.

## Advantages and Disadvantages of KNN

### Advantages of KNN

- Fast calculation
- Simple algorithm – to interpret
- Versatile – useful for classification and regression
- High accuracy
- No assumptions about data – no need to make additional assumptions, or build a model.

### Disadvantages of KNN

- Accuracy depends on the quality of the data
- Prediction becomes slow with large data
- Is not relevant for large data sets
- Need to store all of the training data, hence requires high memory
- It can be computationally expensive as it stores all of the training

In this blog, we have tried to explain the K-NN algorithm which is widely used for classification. We discussed the basic approach behind KNN, how it works, and its advantages and disadvantages.

KNN algorithm is one of the simplest algorithms and can give highly aggressive results. KNN algorithms can be used both for classification and regression problems.