K-Nearest Neighbors (KNN) is a simple and popular Machine Learning algorithm used to classify data and make predictions.
In simple words:
KNN looks at the most similar examples around a new data point and uses them to make a decision.
Think of KNN as asking:
“Which existing examples are most similar to this new example?”
Then it uses those nearby examples to determine the answer.
A Simple Example
Imagine you have information about different fruits:
| Fruit | Weight | Color |
|---|---|---|
| Apple | 150g | Red |
| Apple | 160g | Red |
| Apple | 170g | Red |
| Orange | 180g | Orange |
| Orange | 190g | Orange |
| Orange | 200g | Orange |
Now you receive a new fruit:
Weight: 165g
Color: Red
KNN compares this fruit with the existing examples.
The closest examples are mostly apples, so KNN predicts:
Prediction = Apple
Why Is It Called K-Nearest Neighbors?
The name tells us how the algorithm works.
K = Number of neighbors we want to examine.
Nearest = The examples closest to the new data point.
Neighbors = The existing data points around it.
For example, if:
K = 3
KNN looks at the 3 closest examples.
If 2 are apples and 1 is an orange:
Apple = 2 votes
Orange = 1 vote
Therefore:
Prediction = Apple
How Does KNN Work?
The basic process is:
1. Collect training data
KNN starts with existing data where the answers are already known.
2. Choose K
You decide how many neighboring examples should be considered.
3. Calculate distance
KNN measures how close the new data point is to existing data points.
One common method is Euclidean distance:
4. Find the nearest neighbors
The algorithm identifies the K closest data points.
5. Make the prediction
For classification, KNN usually selects the class with the most votes.
For regression, it can calculate an average of the neighboring values.
KNN for Classification
Classification means predicting a category.
For example, suppose an email system has learned examples of:
Spam
Not Spam
A new email arrives.
KNN examines similar emails.
Suppose the 5 nearest neighbors are:
Spam, Spam, Not Spam, Spam, Not Spam
Spam receives the most votes.
Therefore:
Prediction = Spam
KNN for Regression
KNN can also predict numerical values.
Imagine you want to predict the price of a house.
The nearest similar houses have prices:
₹40 lakh
₹42 lakh
₹45 lakh
₹43 lakh
₹40 lakh
KNN could calculate the average:
So the predicted price would be approximately:
₹42 lakh
What Does “Distance” Mean?
Distance is extremely important in KNN.
The algorithm needs a way to decide which examples are most similar.
Common distance measures include:
Euclidean Distance
Useful for numerical data.
Manhattan Distance
Measures distance by adding absolute differences.
Minkowski Distance
A more general distance framework.
The choice of distance measure can affect the results.
Choosing the Value of K
Choosing K is important.
Suppose you choose:
K = 1
KNN relies on only one nearest neighbor.
This can make the model very sensitive to noisy data.
Suppose you choose:
K = 100
The algorithm considers many neighbors.
This can make the prediction more stable but may cause important local patterns to be ignored.
A suitable K is usually selected by testing different values using validation data.
Small K vs Large K
A small K generally makes the model more sensitive to local patterns and noise.
A large K generally produces smoother predictions but may oversimplify the data.
For example:
K = 1 → very local decision
K = 5 → considers five neighbors
K = 20 → considers a much broader neighborhood
There is no universally correct value of K.
KNN and Feature Scaling
Suppose you are predicting whether a customer will buy a product using:
Age = 25–60
and
Annual income = ₹2 lakh–₹50 lakh
Income has much larger numerical values than age.
Without scaling, income could dominate the distance calculation.
That's why KNN often works better when numerical features are normalized or standardized.
Common approaches include:
Min-Max Scaling
and Standardization:
Advantages of KNN
KNN is popular because it is relatively easy to understand and implement.
It does not require a complicated model-training process. Instead, much of its computational work happens when making predictions.
It can also work well when similar data points tend to have similar outcomes.
Disadvantages of KNN
KNN also has limitations.
For large datasets, finding the nearest neighbors can become computationally expensive.
It can also be sensitive to:
Noise
Irrelevant features
Different feature scales
Choice of K
High-dimensional data can also make distance-based comparisons less informative. This is sometimes associated with the curse of dimensionality.
KNN vs Other Machine Learning Algorithms
KNN is different from algorithms such as linear regression or neural networks.
A neural network learns parameters during training and uses those parameters for future predictions.
KNN instead keeps the training examples and compares a new example with them when a prediction is requested.
You can think of the difference as:
Neural Network: Learn a mathematical model
KNN: Find similar examples and use their answers
Real-World Applications of KNN
KNN can be used in areas such as:
Recommendation systems — finding similar users or products.
Image classification — identifying images based on similar examples.
Customer analysis — grouping or classifying customers based on behavior.
Medical data analysis — classifying observations based on similar historical cases.
Pattern recognition — identifying objects or categories based on similarity.
A Simple Real-Life Analogy
Imagine moving to a new neighborhood.
You want to know what kind of restaurant is popular.
You ask the 5 people who live closest to you.
They say:
3 people → Indian restaurant
1 person → Italian restaurant
1 person → Chinese restaurant
Based on the majority of your nearest neighbors, you might predict:
Indian restaurant
That is the basic idea behind KNN.
KNN in One Sentence
K-Nearest Neighbors predicts a new data point by looking at the most similar existing data points nearby.
The easiest way to remember KNN is:
New Data → Find Nearest Examples → Take Their Votes or Average → Make Prediction
Final Thoughts
KNN is one of the easiest machine-learning algorithms to understand because its logic is intuitive: similar things tend to have similar outcomes.
Even though the concept is simple, KNN introduces important machine-learning ideas such as distance, features, classification, regression, scaling, model selection, and validation.