The main goal of K-Means clustering is to group data points into K clusters where each point belongs to the cluster with the nearest mean, minimizing the distance within clusters.
Click to reveal answer
beginner
How does K-Means algorithm update cluster centers during training?
K-Means updates cluster centers by calculating the mean (average) of all data points assigned to each cluster, then moving the center to this mean position.
Click to reveal answer
beginner
What is the role of the 'K' in K-Means clustering?
'K' represents the number of clusters you want to divide your data into before running the algorithm.
Click to reveal answer
intermediate
Why might K-Means clustering give different results on different runs?
Because K-Means starts with random initial cluster centers, different starting points can lead to different final clusters.
Click to reveal answer
beginner
What metric does K-Means clustering typically use to assign points to clusters?
K-Means typically uses Euclidean distance to measure how close a data point is to each cluster center.
Click to reveal answer
What does K-Means clustering require you to decide before running the algorithm?
AThe number of clusters (K)
BThe labels of data points
CThe learning rate
DThe number of features
✗ Incorrect
K-Means requires you to choose the number of clusters (K) before starting.
How does K-Means assign a data point to a cluster?
ABy choosing the cluster with the nearest center
BRandomly
CBased on the data point's label
DUsing the maximum distance
✗ Incorrect
Each point is assigned to the cluster whose center is closest to it.
What happens to cluster centers after assigning points in K-Means?
AThey are deleted
BThey stay fixed
CThey move to the mean of assigned points
DThey move to the farthest point
✗ Incorrect
Cluster centers update by moving to the average position of their assigned points.
Which of these is a common problem with K-Means clustering?
AIt always finds the global best solution
BIt requires labeled data
CIt only works for text data
DResults depend on initial cluster centers
✗ Incorrect
K-Means can give different results because it starts with random centers.
What type of learning is K-Means clustering?
AReinforcement learning
BUnsupervised learning
CSupervised learning
DDeep learning
✗ Incorrect
K-Means is an unsupervised learning method because it finds patterns without labeled data.
Explain how the K-Means clustering algorithm works step-by-step.
Think about how the algorithm groups points and moves centers.
You got /5 concepts.
Describe why choosing the right number of clusters (K) is important in K-Means clustering.
Consider what happens if K is too small or too large.
You got /4 concepts.
Practice
(1/5)
1. What does the n_clusters parameter in K-Means control?
easy
A. The initial random seed for cluster centers
B. The maximum number of iterations for the algorithm
C. The number of groups (clusters) to find in the data
D. The distance metric used to measure similarity
Solution
Step 1: Understand the role of n_clusters
The n_clusters parameter tells K-Means how many groups to split the data into.
Step 2: Compare with other parameters
Other parameters control iterations, distance, or randomness, but n_clusters specifically sets group count.
Final Answer:
The number of groups (clusters) to find in the data -> Option C
Quick Check:
n_clusters = number of groups [OK]
Hint: Remember: n_clusters means how many groups you want [OK]
Common Mistakes:
Confusing n_clusters with max iterations
Thinking n_clusters sets distance metric
Assuming n_clusters controls randomness
2. Which of the following is the correct way to import KMeans from scikit-learn in Python?
easy
A. from sklearn import KMeans.cluster
B. import KMeans from sklearn.cluster
C. import sklearn.cluster.KMeans
D. from sklearn.cluster import KMeans
Solution
Step 1: Recall Python import syntax
Python uses 'from module import class' to import specific classes.
Step 2: Match correct syntax for KMeans
The correct import is from sklearn.cluster import KMeans.
Final Answer:
from sklearn.cluster import KMeans -> Option D
Quick Check:
Correct import syntax = from sklearn.cluster import KMeans [OK]
Hint: Use 'from module import class' for importing classes [OK]
Common Mistakes:
Using wrong import order
Trying to import with 'import' and 'from' combined incorrectly
Using dot notation in import statement
3. Given the code below, what will be the output of print(kmeans.labels_)?
from sklearn.cluster import KMeans
import numpy as np
X = np.array([[1, 2], [1, 4], [1, 0], [10, 2], [10, 4], [10, 0]])
kmeans = KMeans(n_clusters=2, random_state=0).fit(X)
print(kmeans.labels_)
medium
A. [0 0 0 1 1 1]
B. [1 1 1 0 0 0]
C. [0 1 0 1 0 1]
D. [1 0 1 0 1 0]
Solution
Step 1: Understand data grouping
The first three points are close together near (1, y), the last three near (10, y), so KMeans will group first three as one cluster and last three as another.
Step 2: Check label assignment
KMeans assigns cluster labels starting from 0. The first cluster gets label 0, second cluster label 1. But the cluster near (10, y) is assigned label 0 and near (1, y) label 1 due to initialization and fitting.
Final Answer:
[1 1 1 0 0 0] -> Option B
Quick Check:
Close points share label 0 or 1 [OK]
Hint: Clusters group close points; labels start at 0 [OK]
Common Mistakes:
Assuming labels start at 1
Mixing cluster order
Ignoring spatial grouping
4. What is wrong with the following K-Means code snippet?
from sklearn.cluster import KMeans
X = [[1, 2], [1, 4], [1, 0]]
kmeans = KMeans(n_clusters=4)
kmeans.fit(X)
print(kmeans.labels_)
medium
A. The number of clusters (4) is greater than the number of data points (3)
B. The data X should be a numpy array, not a list
C. The KMeans class requires a random_state parameter
D. The fit method should be called with labels, not data
Solution
Step 1: Check cluster count vs data points
There are only 3 data points but 4 clusters requested, which is invalid because you cannot have more clusters than points.
Step 2: Validate other code parts
Using a list for X is allowed, random_state is optional, and fit expects data, not labels.
Final Answer:
The number of clusters (4) is greater than the number of data points (3) -> Option A
Quick Check:
Clusters ≤ data points [OK]
Hint: Clusters cannot exceed number of data points [OK]
Common Mistakes:
Thinking data must be numpy array
Believing random_state is mandatory
Confusing fit input as labels
5. You have a dataset with 3 natural groups, but you run K-Means with n_clusters=5. What is the likely effect on the clustering result?
hard
A. K-Means will split some natural groups into smaller clusters, causing over-segmentation
B. K-Means will ignore extra clusters and only find 3 groups
C. K-Means will fail to run and throw an error
D. K-Means will merge groups to reduce clusters to 3 automatically
Solution
Step 1: Understand cluster count effect
Setting more clusters than natural groups causes K-Means to split existing groups into smaller parts.
Step 2: Check K-Means behavior
K-Means does not reduce cluster count automatically or throw error if clusters exceed natural groups; it always finds exactly n_clusters.
Final Answer:
K-Means will split some natural groups into smaller clusters, causing over-segmentation -> Option A
Quick Check:
More clusters than groups = splitting groups [OK]
Hint: More clusters than groups splits groups into smaller parts [OK]
Common Mistakes:
Thinking K-Means auto-adjusts cluster count
Expecting error when clusters > natural groups
Assuming extra clusters are ignored
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.