23 Supervised KNN
23 Supervised KNN
NEIGHBOR
INTRODUCTION
INTRODUCTION
K-Nearest Neighbor is one of the simplest Machine Learning algorithms based on Supervised Learning
technique.
K-NN algorithm assumes the similarity between the new case/data and available cases and put the new case
into the category that is most similar to the available categories.
K-NN algorithm stores all the available data and classifies a new data point based on the similarity. This
means when new data appears then it can be easily classified into a well suite category by using K- NN
algorithm.
K-NN is a non-parametric algorithm, which means it does not make any assumption on underlying data.
INTRODUCTION
It is also called a lazy learner algorithm because it does not learn from the training set immediately instead it
stores the dataset and at the time of classification, it performs an action on the dataset.
KNN algorithm at the training phase just stores the dataset and when it gets new data, then it classifies that
data into a category that is much similar to the new data.
Example:
WHY DO WE NEED A K-NN ALGORITHM?
Suppose there are two categories, i.e., Category A and Category B, and we have a new data point x1, so this
data point will lie in which of these categories.
To solve this type of problem, we need a K-NN algorithm. With the help of K-NN, we can easily identify the
category or class of a particular dataset.
HOW K-NN WORK
HOW K-NN WORK
The K-NN working can be explained on the basis of the below algorithm:
Some points to remember while selecting the value of K in the K-NN algorithm:
There is no particular way to determine the best value for "K", so we need to try some values to find the best
out of them. The most preferred value for K is 5.
A very low value for K such as K=1 or K=2, can be noisy and lead to the effects of outliers in the model.
Large values for K are good, but it may find some difficulties.
HOW TO SELECT THE VALUE OF K IN THE K-NN ALGORITHM?
Let see the effect of value “K” on the class boundaries. The following are the different boundaries separating the two
classes with different values of K.
If you watch carefully, you can see that the boundary becomes smoother with increasing value of K. With K
increasing to infinity it finally becomes all blue or all red depending on the total majority.
HOW TO SELECT THE VALUE OF K IN THE K-NN ALGORITHM?
The training error rate and the validation error rate are two parameters we need to access different K-value.
Following is the curve for the training error rate with a varying value of K :
As you can see, the error rate at K=1 is always zero for the training sample. This is because the closest point to any
training data point is itself.Hence the prediction is always accurate with K=1.
HOW TO SELECT THE VALUE OF K IN THE K-NN ALGORITHM?
If validation error curve would have been similar, our choice of K would have been 1. Following is the validation error
curve with varying value of K:
It is simple to implement.
It is robust to the noisy training data
It can be more effective if the training data is large.
DISADVANTAGES OF KNN ALGORITHM
Always needs to determine the value of K which may be complex some time.
The computation cost is high because of calculating the distance between the data points for all the training
samples.
REFFERENCES
https://www.javatpoint.com/k-nearest-neighbor-algorithm-for-machine-learning
https://www.analyticsvidhya.com/blog/2018/03/introduction-k-neighbours-algorithm-clustering/
https://www.codecademy.com/learn/introduction-to-supervised-learning-skill-path/modules/k-nearest-neighbors-
skill-path/cheatsheet