Hierarchical clustering is a way to group data points into clusters by building a tree of clusters. It starts with each point alone and merges them step-by-step or starts with all points in one cluster and splits them.
Click to reveal answer
beginner
What are the two main types of hierarchical clustering?
The two main types are: 1. Agglomerative: starts with single points and merges clusters. 2. Divisive: starts with one big cluster and splits it into smaller ones.
Click to reveal answer
beginner
What is a dendrogram in hierarchical clustering?
A dendrogram is a tree-like diagram that shows how clusters are merged or split at each step. It helps to decide the number of clusters by cutting the tree at a certain height.
Click to reveal answer
intermediate
How do you measure the distance between clusters in hierarchical clustering?
Common methods include: - Single linkage: distance between closest points. - Complete linkage: distance between farthest points. - Average linkage: average distance between all points. - Ward's method: minimizes variance within clusters.
Click to reveal answer
intermediate
Why might hierarchical clustering be preferred over k-means?
Hierarchical clustering does not need you to choose the number of clusters upfront and can show relationships between clusters. It works well with small datasets and can capture complex cluster shapes.
Click to reveal answer
Which of the following is a characteristic of agglomerative hierarchical clustering?
AStarts with each data point as its own cluster
BStarts with one cluster containing all points
CRequires the number of clusters to be specified first
DOnly works with numerical data
✗ Incorrect
Agglomerative clustering begins with each point as its own cluster and merges them step-by-step.
What does a dendrogram represent in hierarchical clustering?
AA tree showing how clusters merge or split
BA histogram of distances
CA scatter plot of data points
DA graph showing cluster centers
✗ Incorrect
A dendrogram is a tree diagram showing the order and distance at which clusters merge or split.
Which linkage method considers the farthest distance between points in two clusters?
AAverage linkage
BSingle linkage
CComplete linkage
DWard's method
✗ Incorrect
Complete linkage uses the maximum distance between points in two clusters.
What is a key advantage of hierarchical clustering over k-means?
AIt is faster on large datasets
BIt does not require choosing the number of clusters upfront
CIt only works with numerical data
DIt always produces spherical clusters
✗ Incorrect
Hierarchical clustering builds a tree of clusters and lets you choose the number of clusters later.
Which hierarchical clustering method starts with one cluster and splits it into smaller clusters?
AAgglomerative
BDBSCAN
CK-means
DDivisive
✗ Incorrect
Divisive hierarchical clustering starts with all points in one cluster and splits it step-by-step.
Explain how agglomerative hierarchical clustering works step-by-step.
Think about building a tree from leaves to root.
You got /4 concepts.
Describe how a dendrogram helps in deciding the number of clusters.
Imagine slicing a tree diagram horizontally.
You got /4 concepts.
Practice
(1/5)
1. What is the main idea behind hierarchical clustering in machine learning?
easy
A. It uses a neural network to classify data points into clusters.
B. It assigns data points to clusters based on a fixed number of clusters.
C. It builds a tree of clusters by joining or splitting data points step by step.
D. It randomly assigns data points to clusters without any order.
Hierarchical clustering creates a tree-like structure by either merging or splitting data points stepwise.
Step 2: Compare with other clustering methods
Unlike fixed cluster methods, it does not require a preset number of clusters and builds a hierarchy instead.
Final Answer:
It builds a tree of clusters by joining or splitting data points step by step. -> Option C
Quick Check:
Hierarchical clustering = stepwise tree building [OK]
Hint: Think of building a family tree of data points step by step [OK]
Common Mistakes:
Confusing hierarchical clustering with k-means clustering
Thinking it requires a fixed number of clusters upfront
Believing it assigns clusters randomly
2. Which of the following Python code snippets correctly imports the function for hierarchical clustering from the SciPy library?
easy
A. from scipy.cluster.hierarchy import linkage
B. import sklearn.cluster.hierarchical as hc
C. from scipy.cluster import kmeans
D. import hierarchical from scipy.cluster
Solution
Step 1: Identify correct import for hierarchical clustering
The function linkage from scipy.cluster.hierarchy is used for hierarchical clustering.
Step 2: Check other options for errors
A has invalid syntax, B uses wrong module name (sklearn.cluster.hierarchical does not exist), C imports kmeans (not hierarchical).
Final Answer:
from scipy.cluster.hierarchy import linkage -> Option A
Quick Check:
Correct import = from scipy.cluster.hierarchy import linkage [OK]
Hint: Remember SciPy's hierarchy module has linkage function [OK]
Common Mistakes:
Using sklearn.cluster.hierarchical which does not exist
Confusing kmeans import with hierarchical clustering
Incorrect import syntax
3. Given the following Python code using SciPy for hierarchical clustering, what will be the output of print(Z)?
from scipy.cluster.hierarchy import linkage
import numpy as np
X = np.array([[1, 2], [1, 4], [5, 2], [5, 4]])
Z = linkage(X, method='single')
print(Z)
medium
A. A 3x4 array showing the order and distance of cluster merges
B. A 4x4 distance matrix of all points
C. A list of cluster labels for each point
D. An error because method 'single' is invalid
Solution
Step 1: Understand linkage output format
The linkage function returns a matrix with rows showing which clusters merged, their distance, and cluster size.
Step 2: Check method and output shape
Method 'single' is valid. For 4 points, output is (4-1)=3 rows and 4 columns.
Final Answer:
A 3x4 array showing the order and distance of cluster merges -> Option A
Quick Check:
linkage output = cluster merges matrix [OK]
Hint: linkage returns merge info, not labels or distance matrix [OK]
Common Mistakes:
Expecting cluster labels instead of merge matrix
Confusing linkage output with distance matrix
Thinking 'single' method is invalid
4. You run this code but get an error:
from scipy.cluster.hierarchy import dendrogram
import numpy as np
X = np.array([[1, 2], [3, 4], [5, 6]])
dendrogram(X)
What is the problem and how to fix it?
medium
A. The array X has wrong shape; reshape it to 1D before dendrogram().
B. You must pass a linkage matrix, not raw data, to dendrogram(). Use linkage() first.
C. dendrogram() requires labels argument; add labels=['a','b','c'].
D. You need to import dendrogram from sklearn.cluster, not scipy.
Solution
Step 1: Identify dendrogram input requirements
dendrogram() expects a linkage matrix, not raw data points.
Step 2: Fix by computing linkage first
Use linkage() on X to get the linkage matrix, then pass it to dendrogram().
Final Answer:
You must pass a linkage matrix, not raw data, to dendrogram(). Use linkage() first. -> Option B
Quick Check:
dendrogram input = linkage matrix [OK]
Hint: Always run linkage() before dendrogram() [OK]
Common Mistakes:
Passing raw data directly to dendrogram()
Thinking dendrogram needs labels argument
Importing dendrogram from wrong library
5. You want to cluster customer data using hierarchical clustering but do not know how many clusters to choose. Which approach helps you decide the number of clusters without setting it upfront?
hard
A. Use PCA to reduce dimensions before clustering.
B. Use k-means clustering instead with a fixed k value.
C. Randomly assign clusters and check accuracy.
D. Cut the dendrogram at a chosen distance threshold to form clusters.