What is the basic idea behind the K-Nearest Neighbors (KNN) algorithm?
KNN predicts the label of a new data point by looking at the labels of the closest K points in the training data and choosing the most common label among them.
Click to reveal answer
beginner
How does KNN decide which points are 'nearest'?
KNN uses a distance measure, usually Euclidean distance, to find the closest points to the new data point.
Click to reveal answer
beginner
What role does the parameter 'K' play in KNN?
The parameter 'K' determines how many neighbors to look at when making a prediction. A small K can be noisy, while a large K smooths the prediction.
Click to reveal answer
intermediate
Why is it important to scale features before using KNN?
Because KNN uses distance to find neighbors, features with larger scales can dominate the distance calculation. Scaling puts all features on the same scale so each contributes fairly.
Click to reveal answer
intermediate
What is a common problem with KNN when the dataset is very large?
KNN can be slow because it needs to calculate distances to all training points for each prediction, which takes more time as the dataset grows.
Click to reveal answer
What does the 'K' in K-Nearest Neighbors represent?
AThe number of closest points considered for prediction
BThe number of features in the dataset
CThe number of classes in the target
DThe number of training samples
✗ Incorrect
The 'K' is the number of nearest neighbors the algorithm looks at to decide the label.
Which distance metric is most commonly used in KNN?
AManhattan distance
BJaccard index
CCosine similarity
DEuclidean distance
✗ Incorrect
Euclidean distance is the most common way to measure closeness in KNN.
Why should features be scaled before applying KNN?
ATo make the model faster
BTo ensure all features contribute equally to distance
CTo reduce the number of features
DTo increase the number of neighbors
✗ Incorrect
Scaling ensures no feature dominates the distance calculation due to its scale.
What happens if you choose a very small K in KNN?
AThe model becomes more stable
BThe model ignores neighbors
CThe model may be sensitive to noise
DThe model always predicts the majority class
✗ Incorrect
A small K means the prediction depends on very few points, which can be noisy.
Which of these is a drawback of KNN?
AIt can be slow on large datasets
BIt requires training a complex model
CIt cannot handle multiple classes
DIt always overfits
✗ Incorrect
KNN can be slow because it calculates distances to all training points for each prediction.
Explain how K-Nearest Neighbors makes a prediction for a new data point.
Think about how you would guess a friend's favorite movie by asking their closest friends.
You got /3 concepts.
Describe why feature scaling is important when using KNN.
Imagine measuring distance with one ruler in meters and another in centimeters without converting.
You got /3 concepts.
Practice
(1/5)
1. What does the K in K-Nearest Neighbors (KNN) represent?
easy
A. The number of closest data points used to predict the label
B. The number of features in the dataset
C. The number of classes in the target variable
D. The number of training samples
Solution
Step 1: Understand the role of K in KNN
K represents how many nearest neighbors the algorithm looks at to decide the label for a new point.
Step 2: Differentiate K from other terms
K is not about features, classes, or total samples but specifically the count of neighbors considered.
Final Answer:
The number of closest data points used to predict the label -> Option A
Quick Check:
K = number of neighbors [OK]
Hint: K means neighbors counted to decide label [OK]
Common Mistakes:
Confusing K with number of features
Thinking K is number of classes
Assuming K is total data points
2. Which of the following is the correct way to import KNeighborsClassifier from scikit-learn in Python?
easy
A. import sklearn.neighbors.KNeighborsClassifier
B. import KNeighborsClassifier from sklearn.neighbors
C. from sklearn import KNeighborsClassifier
D. from sklearn.neighbors import KNeighborsClassifier
Solution
Step 1: Recall correct Python import syntax
In Python, the correct way to import a class from a module is 'from module import Class'.
Step 2: Match with scikit-learn KNN import
The KNeighborsClassifier is inside sklearn.neighbors, so the correct import is 'from sklearn.neighbors import KNeighborsClassifier'.
Final Answer:
from sklearn.neighbors import KNeighborsClassifier -> Option D
Quick Check:
Correct import uses 'from ... import ...' [OK]
Hint: Use 'from module import Class' syntax [OK]
Common Mistakes:
Using 'import Class from module' which is invalid
Trying to import directly from sklearn without neighbors
Using dot notation in import statement
3. What will be the predicted label for the point (3, 3) using KNN with k=3 and the following training data?
X = [[1, 2], [2, 3], [3, 4], [6, 7]] y = ['A', 'A', 'B', 'B']
medium
A. 'B'
B. 'A'
C. 'C'
D. Error due to missing label
Solution
Step 1: Calculate distances from (3,3) to each training point
Distances: to (1,2) ≈ 2.24, to (2,3) = 1, to (3,4) = 1, to (6,7) ≈ 5
Assuming X_train and y_train are numpy arrays but y_train contains string labels.
medium
A. Missing data scaling causes error
B. y_train must be numeric, strings cause error
C. No error, code runs fine with string labels
D. n_neighbors must be less than number of samples
Solution
Step 1: Check if KNN supports string labels
KNN in scikit-learn supports string labels for classification without error.
Step 2: Verify other possible errors
Data scaling is recommended but not mandatory; n_neighbors=3 is valid if training samples ≥3.
Final Answer:
No error, code runs fine with string labels -> Option C
Quick Check:
KNN accepts string labels directly [OK]
Hint: KNN accepts string labels; no numeric conversion needed [OK]
Common Mistakes:
Assuming string labels cause errors
Confusing scaling as mandatory
Ignoring sample size for n_neighbors
5. You have a dataset with features on very different scales (e.g., age 0-100, income 0-100000). Why is it important to scale features before using KNN, and what could happen if you don't?
hard
A. Scaling ensures all features contribute equally; without it, large-scale features dominate distance calculations
B. Scaling is not needed; KNN automatically adjusts for feature scales
C. Scaling reduces training time but does not affect predictions
D. Scaling changes labels to numeric values for KNN
Solution
Step 1: Understand distance calculation in KNN
KNN uses distance (like Euclidean) between points; features with larger scales affect distance more.
Step 2: Explain effect of unscaled features
If features are not scaled, large-scale features (like income) dominate, making smaller-scale features (like age) ignored.
Step 3: Importance of scaling
Scaling puts all features on similar scale so each contributes fairly to distance and prediction.
Final Answer:
Scaling ensures all features contribute equally; without it, large-scale features dominate distance calculations -> Option A
Quick Check:
Scale features to balance distances [OK]
Hint: Scale features so no one dominates distance [OK]
Common Mistakes:
Thinking KNN auto-scales features
Believing scaling changes labels
Assuming scaling only affects speed
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.