0% found this document useful (0 votes)
16 views110 pages

Cluster Analysis in Data Mining

data mining

Uploaded by

Bareeq Nope
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
16 views110 pages

Cluster Analysis in Data Mining

data mining

Uploaded by

Bareeq Nope
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd

Data Mining

Cluster Analysis: Basic Concepts


and Algorithms

Lecture Notes for Chapter 7

Introduction to Data Mining


by
Tan, Steinbach, Kumar

11/16/2020 Introduction to Data Mining, 2nd Edition


Tan, Steinbach, Karpatne, Kumar
What is Cluster Analysis?

 Finding groups of objects such that the objects in a group


will be similar (or related) to one another and different
from (or unrelated to) the objects in other groups

Inter-cluster
Intra-cluster distances are
distances are maximized
minimized

11/16/2020 Introduction to Data Mining, 2nd Edition 2


Tan, Steinbach, Karpatne, Kumar
Applications of Cluster Analysis
Discovered Clusters Industry Group
 Understanding Applied-Matl-DOWN,Bay-Network-Down,3-COM-DOWN,

– Group related documents 1 Cabletron-Sys-DOWN,CISCO-DOWN,HP-DOWN,


DSC-Comm-DOWN,INTEL-DOWN,LSI-Logic-DOWN,
Micron-Tech-DOWN,Texas-Inst-Down,Tellabs-Inc-Down,
Technology1-DOWN
Natl-Semiconduct-DOWN,Oracl-DOWN,SGI-DOWN,
for browsing, group genes Sun-DOWN
Apple-Comp-DOWN,Autodesk-DOWN,DEC-DOWN,

and proteins that have 2 ADV-Micro-Device-DOWN,Andrew-Corp-DOWN,


Computer-Assoc-DOWN,Circuit-City-DOWN,
Compaq-DOWN, EMC-Corp-DOWN, Gen-Inst-DOWN,
Technology2-DOWN
similar functionality, or Motorola-DOWN,Microsoft-DOWN,Scientific-Atl-DOWN
Fannie-Mae-DOWN,Fed-Home-Loan-DOWN,
group stocks with similar 3 MBNA-Corp-DOWN,Morgan-Stanley-DOWN Financial-DOWN

price fluctuations Baker-Hughes-UP,Dresser-Inds-UP,Halliburton-HLD-UP,

4 Louisiana-Land-UP,Phillips-Petro-UP,Unocal-UP,
Schlumberger-UP
Oil-UP

 Summarization
– Reduce the size of large
data sets

Clustering precipitation
in Australia

11/16/2020 Introduction to Data Mining, 2nd Edition 3


Tan, Steinbach, Karpatne, Kumar
Notion of a Cluster can be Ambiguous

How many clusters? Six Clusters

Two Clusters Four Clusters

11/16/2020 Introduction to Data Mining, 2nd Edition 4


Tan, Steinbach, Karpatne, Kumar
Types of Clusterings

 A clustering is a set of clusters


 Important distinction between hierarchical and
partitional sets of clusters
– Partitional Clustering
 A division of data objects into non-overlapping subsets (clusters) such that
each data object is in exactly one subset

– Hierarchical clustering
 A set of nested clusters organized as a hierarchical tree

11/16/2020 Introduction to Data Mining, 2nd Edition 5


Tan, Steinbach, Karpatne, Kumar
Partitional Clustering

Original Points A Partitional Clustering

11/16/2020 Introduction to Data Mining, 2nd Edition 6


Tan, Steinbach, Karpatne, Kumar
Hierarchical Clustering

p1
p3 p4
p2
p1 p2 p3 p4

Traditional Hierarchical Clustering Traditional Dendrogram

p1
p3 p4
p2
p1 p2 p3 p4

Non-traditional Hierarchical Clustering Non-traditional Dendrogram

11/16/2020 Introduction to Data Mining, 2nd Edition 7


Tan, Steinbach, Karpatne, Kumar
Other Distinctions Between Sets of Clusters

 Exclusive versus non-exclusive


– In non-exclusive clusterings, points may belong to multiple
clusters.
 Can belong to multiple classes or could be ‘border’ points
 Fuzzy clustering (one type of non-exclusive)
– In fuzzy clustering, a point belongs to every cluster with some
weight between 0 and 1
– Weights must sum to 1
– Probabilistic clustering has similar characteristics
 Partial versus complete
– In some cases, we only want to cluster some of the data

11/16/2020 Introduction to Data Mining, 2nd Edition 8


Tan, Steinbach, Karpatne, Kumar
Types of Clusters

 Well-separated clusters

 Prototype-based clusters

 Contiguity-based clusters

 Density-based clusters

 Described by an Objective Function

11/16/2020 Introduction to Data Mining, 2nd Edition 9


Tan, Steinbach, Karpatne, Kumar
Types of Clusters: Well-Separated

 Well-Separated Clusters:
– A cluster is a set of points such that any point in a cluster is
closer (or more similar) to every other point in the cluster than
to any point not in the cluster.

3 well-separated clusters

11/16/2020 Introduction to Data Mining, 2nd Edition 10


Tan, Steinbach, Karpatne, Kumar
Types of Clusters: Prototype-Based

 Prototype-based
– A cluster is a set of objects such that an object in a cluster is
closer (more similar) to the prototype or “center” of a cluster,
than to the center of any other cluster
– The center of a cluster is often a centroid, the average of all
the points in the cluster, or a medoid, the most “representative”
point of a cluster

4 center-based clusters

11/16/2020 Introduction to Data Mining, 2nd Edition 11


Tan, Steinbach, Karpatne, Kumar
Types of Clusters: Contiguity-Based

 Contiguous Cluster (Nearest neighbor or


Transitive)
– A cluster is a set of points such that a point in a cluster is
closer (or more similar) to one or more other points in the
cluster than to any point not in the cluster.

8 contiguous clusters

11/16/2020 Introduction to Data Mining, 2nd Edition 12


Tan, Steinbach, Karpatne, Kumar
Types of Clusters: Density-Based

 Density-based
– A cluster is a dense region of points, which is separated by
low-density regions, from other regions of high density.
– Used when the clusters are irregular or intertwined, and when
noise and outliers are present.

6 density-based clusters

11/16/2020 Introduction to Data Mining, 2nd Edition 13


Tan, Steinbach, Karpatne, Kumar
Types of Clusters: Objective Function

 Clusters Defined by an Objective Function


– Finds clusters that minimize or maximize an objective function.
– Enumerate all possible ways of dividing the points into clusters
and evaluate the `goodness' of each potential set of clusters by
using the given objective function. (NP Hard)
– Can have global or local objectives.
 Hierarchical clustering algorithms typically have local objectives
 Partitional algorithms typically have global objectives
– A variation of the global objective function approach is to fit the
data to a parameterized model.
 Parameters for the model are determined from the data.
 Mixture models assume that the data is a ‘mixture' of a number of
statistical distributions.

11/16/2020 Introduction to Data Mining, 2nd Edition 14


Tan, Steinbach, Karpatne, Kumar
Characteristics of the Input Data Are Important

 Type of proximity or density measure


– Central to clustering
– Depends on data and application

 Data characteristics that affect proximity and/or density are


– Dimensionality
 Sparseness
– Attribute type
– Special relationships in the data
 For example, autocorrelation
– Distribution of the data

 Noise and Outliers


– Often interfere with the operation of the clustering algorithm
 Clusters of differing sizes, densities, and shapes
11/16/2020 Introduction to Data Mining, 2nd Edition 15
Tan, Steinbach, Karpatne, Kumar
Clustering Algorithms

 K-means and its variants

 Hierarchical clustering

 Density-based clustering

11/16/2020 Introduction to Data Mining, 2nd Edition 16


Tan, Steinbach, Karpatne, Kumar
K-means Clustering

 Partitional clustering approach


 Number of clusters, K, must be specified
 Each cluster is associated with a centroid (center point)
 Each point is assigned to the cluster with the closest
centroid
 The basic algorithm is very simple

11/16/2020 Introduction to Data Mining, 2nd Edition 17


Tan, Steinbach, Karpatne, Kumar
Example of K-means Clustering
Iteration 6
1
2
3
4
5
3

2.5

1.5
y

0.5

-2 -1.5 -1 -0.5 0 0.5 1 1.5 2


x
Example of K-means Clustering
Iteration 1 Iteration 2 Iteration 3
3 3 3

2.5 2.5 2.5

2 2 2

1.5 1.5 1.5


y

y
1 1 1

0.5 0.5 0.5

0 0 0

-2 -1.5 -1 -0.5 0 0.5 1 1.5 2 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2
x x x

Iteration 4 Iteration 5 Iteration 6


3 3 3

2.5 2.5 2.5

2 2 2

1.5 1.5 1.5


y

y
1 1 1

0.5 0.5 0.5

0 0 0

-2 -1.5 -1 -0.5 0 0.5 1 1.5 2 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2
x x x

11/16/2020 Introduction to Data Mining, 2nd Edition 19


Tan, Steinbach, Karpatne, Kumar
Kmeans Example, k=2
Cluster the following dataset using
kmeans

A1 A2
O1 1 2
O2 2 3
O3 3 4
O4 8 9
O5 9 10

11/16/2020 Introduction to Data Mining, 2nd Edition 20


Tan, Steinbach, Karpatne, Kumar
Kmeans Example, k=2, Initialization

A1 A2
O1 1 2
O2 2 3
O3 3 4
O4 8 9
O5 9 10
1. Select initial centroids (seeds) (given):
Dist S1 S2
S1 = <1, 3>
O1 1 3.16
S2 = <2, 5> O2 1 2
2. Calculate Euclidean distance to centroids: O3 2.23 1.41
Distance(O1, S1) = √((1-1)2 + (2-3)2) = 1 O4 9.21 7.21
Distance(O1, S2) = √((1-2)2 + (2-5)2) = √10 = 3.16 O5 10.6 8.60
3

11/16/2020 Introduction to Data Mining, 2nd Edition 21


Tan, Steinbach, Karpatne, Kumar
Kmeans Example, k=2, Initialization

A1 A2 Cluster
O1 1 2 O1 1
O2 2 3 O2 1
O3 3 4 O3 2
O4 8 9 O4 2
O5 9 10 O5 2
3. Assign objects to nearest centroid
Dist S1 S2
S1 = <O1, O2>
O1 1 3.16
S2 = <O3, O4, O5> O2 1 2
O3 2.23 1.41
O4 9.21 7.21
O5 10.6 8.60
3

11/16/2020 Introduction to Data Mining, 2nd Edition 22


Tan, Steinbach, Karpatne, Kumar
Kmeans Example, k=2, First Iteration

A1 A2 Cluster
O1 1 2 O1 1
O2 2 3 O2 1
O3 3 4 O3 2
O4 8 9 O4 2
O5 9 10 O5 2
4. Recompute the centroid of each cluster
Dist S1 S2
S1 = < (1+2)/2 , (2+3)/2> = <1.5, 2.5>
O1 0.70 8.00
S2 = < (3+8+9)/3 , (4+9+10)/3> = <6.66, 7.66> O2 0.70 6.59
5. Calculate Euclidean distance to centroids: O3 2.12 4.17
Distance(O1, S1) = √((1-1.5)2 + (2-2.5)2) = √.5 = 0.70 O4 9.19 1.89
Distance(O1, S2) = √((1-6.66)2 + (2-7.66)2) = 8.00 O5 10.6 3.30
0

11/16/2020 Introduction to Data Mining, 2nd Edition 23


Tan, Steinbach, Karpatne, Kumar
Kmeans Example, k=2, First Iteration

A1 A2 Cluster
O1 1 2 O1 1
O2 2 3 O2 1
O3 3 4 O3 1
O4 8 9 O4 2
O5 9 10 O5 2

6. Assign objects to centroids Dist S1 S2


S1 = <O1, O2, O3> O1 0.70 8.00
O2 0.70 6.59
S2 = <O4, O5>
O3 2.12 4.17
O4 9.19 1.89
O5 10.6 3.30
0

11/16/2020 Introduction to Data Mining, 2nd Edition 24


Tan, Steinbach, Karpatne, Kumar
Kmeans Example, k=2, Second Iteration

A1 A2 Cluster
O1 1 2 O1 1
O2 2 3 O2 1
O3 3 4 O3 1
O4 8 9 O4 2
O5 9 10 O5 2

7. Recompute the centroid of each cluster Dist S1 S2


S1 = < (1+2+3)/3 , (2+3+4)/3> = <2, 3> O1 1.41 10.6
0
S2 = < (8+9)/2 , (9+10)/2> = <8.5, 9.5> O2 0 9.19
8. Calculate Euclidean distance to centroids: O3 1.41 7.77
Distance(O1, S1) = √((1-2)2 + (2-3)2) = √2 =1.41 O4 8.48 0.70
Distance(O1, S2) = √((1-8.5)2 + (2-9.5)2) = 10.60 O5 9.89 0.70

11/16/2020 Introduction to Data Mining, 2nd Edition 25


Tan, Steinbach, Karpatne, Kumar
Kmeans Example, k=2, Second Iteration

A1 A2 Cluster
O1 1 2 O1 1
O2 2 3 O2 1
O3 3 4 O3 1
O4 8 9 O4 2
O5 9 10 O5 2

9. Assign objects to centroids Dist S1 S2


S1 = <O1, O2, O3> O1 1.41 10.6
0
S2 = <O4, O5> O2 0 9.19
O3 1.41 7.77
O4 8.48 0.70
O5 9.89 0.70

11/16/2020 Introduction to Data Mining, 2nd Edition 26


Tan, Steinbach, Karpatne, Kumar
K-means Clustering – Details
 Simple iterative algorithm.
– Choose initial centroids; repeat {assign each point to a nearest centroid; re-compute
cluster centroids} until centroids stop changing.
 Initial centroids are often chosen randomly.
– Clusters produced can vary from one run to another
 The centroid is (typically) the mean of the points in the
cluster, but other definitions are possible (see Table 7.2).
 K-means will converge for common proximity measures
with appropriately defined centroid (see Table 7.2)
 Most of the convergence happens in the first few
iterations.
– Often the stopping condition is changed to ‘Until relatively few
points change clusters’
 Complexity is O( n * K * I * d )
– n = number of points, K = number of clusters,
I = number of iterations, d = number of attributes
11/16/2020 Introduction to Data Mining, 2nd Edition 27
Tan, Steinbach, Karpatne, Kumar
K-means Objective Function

 A common objective function (used with Euclidean


distance measure) is Sum of Squared Error (SSE)
– For each point, the error is the distance to the nearest cluster
center
– To get SSE, we square these errors and sum them.
K
SSE    dist 2 ( mi , x )
i 1 xCi

– x is a data point in cluster Ci and mi is the centroid (mean) for


cluster Ci
– SSE improves in each iteration of K-means until it reaches a
local or global minima.

11/16/2020 Introduction to Data Mining, 2nd Edition 28


Tan, Steinbach, Karpatne, Kumar
Two different K-means Clusterings
3

2.5

2
Original Points
1.5

y
1

0.5

-2 -1.5 -1 -0.5 0 0.5 1 1.5 2


x

3 3

2.5 2.5

2 2

1.5 1.5
y

y
1 1

0.5 0.5

0 0

-2 -1.5 -1 -0.5 0 0.5 1 1.5 2 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2


x x
Optimal Clustering Sub-optimal Clustering

11/16/2020 Introduction to Data Mining, 2nd Edition 29


Tan, Steinbach, Karpatne, Kumar
Importance of Choosing Initial Centroids …
Iteration 5
1
2
3
4
3

2.5

1.5
y

0.5

-2 -1.5 -1 -0.5 0 0.5 1 1.5 2


x
Importance of Choosing Initial Centroids …

Iteration 1 Iteration 2
3 3

2.5 2.5

2 2

1.5 1.5
y

y
1 1

0.5 0.5

0 0

-2 -1.5 -1 -0.5 0 0.5 1 1.5 2 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2


x x

Iteration 3 Iteration 4 Iteration 5


3 3 3

2.5 2.5 2.5

2 2 2

1.5 1.5 1.5


y

y
1 1 1

0.5 0.5 0.5

0 0 0

-2 -1.5 -1 -0.5 0 0.5 1 1.5 2 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2
x x x

11/16/2020 Introduction to Data Mining, 2nd Edition 31


Tan, Steinbach, Karpatne, Kumar
Importance of Choosing Initial Centroids

 Depending on the
choice of initial
centroids, B and C
may get merged or
remain separate

11/16/2020 Introduction to Data Mining, 2nd Edition 32


Tan, Steinbach, Karpatne, Kumar
Problems with Selecting Initial Points

 If there are K ‘real’ clusters then the chance of selecting


one centroid from each cluster is small.
– Chance is relatively small when K is large
– If clusters are the same size, n, then

– For example, if K = 10, then probability = 10!/1010 = 0.00036


– Sometimes the initial centroids will readjust themselves in
‘right’ way, and sometimes they don’t
– Consider an example of five pairs of clusters

11/16/2020 Introduction to Data Mining, 2nd Edition 33


Tan, Steinbach, Karpatne, Kumar
10 Clusters Example

Iteration 4
1
2
3
8

2
y

-2

-4

-6

0 5 10 15 20
x

Starting with two initial centroids in one cluster of each pair of clusters
11/16/2020 Introduction to Data Mining, 2nd Edition 34
Tan, Steinbach, Karpatne, Kumar
10 Clusters Example
Iteration 1 Iteration 2
8 8

6 6

4 4

2 2
y

y
0 0

-2 -2

-4 -4

-6 -6

0 5 10 15 20 0 5 10 15 20
x x
Iteration 3 Iteration 4
8 8

6 6

4 4

2 2
y

y
0 0

-2 -2

-4 -4

-6 -6

0 5 10 15 20 0 5 10 15 20
x x

Starting with two initial centroids in one cluster of each pair of clusters
11/16/2020 Introduction to Data Mining, 2nd Edition 35
Tan, Steinbach, Karpatne, Kumar
10 Clusters Example

Iteration 4
1
2
3
8

2
y

-2

-4

-6

0 5 10 15 20
x

Starting with some pairs of clusters having three initial centroids, while other
have only one.

11/16/2020 Introduction to Data Mining, 2nd Edition 36


Tan, Steinbach, Karpatne, Kumar
10 Clusters Example
Iteration 1 Iteration 2
8 8

6 6

4 4

2 2
y

y
0 0

-2 -2

-4 -4

-6 -6

0 5 10 15 20 0 5 10 15 20
Iteration
x 3 Iteration
x 4
8 8

6 6

4 4

2 2
y

y
0 0

-2 -2

-4 -4

-6 -6

0 5 10 15 20 0 5 10 15 20
x x

Starting with some pairs of clusters having three initial centroids, while other have only
one.
11/16/2020 Introduction to Data Mining, 2nd Edition 37
Tan, Steinbach, Karpatne, Kumar
Solutions to Initial Centroids Problem

 Multiple runs
– Helps, but probability is not on your side
 Use some strategy to select the k initial centroids
and then select among these initial centroids
– Select most widely separated
 K-means++ is a robust way of doing this selection
– Use hierarchical clustering to determine initial
centroids
 Bisecting K-means
– Not as susceptible to initialization issues

11/16/2020 Introduction to Data Mining, 2nd Edition 38


Tan, Steinbach, Karpatne, Kumar
K-means++

 This approach can be slower than random initialization,


but very consistently produces better results in terms of
SSE
– The k-means++ algorithm guarantees an approximation ratio
O(log k) in expectation, where k is the number of centers
 To select a set of initial centroids, C, perform the following
1. Select an initial point at random to be the first centroid
2. For k – 1 steps
3. For each of the N points, xi, 1 ≤ i ≤ N, find the minimum squared
distance to the currently selected centroids, C1, …, Cj, 1 ≤ j < k,
i.e.,
4. Randomly select a new centroid by choosing a point with probability
proportional to is
5. End For

11/16/2020 Introduction to Data Mining, 2nd Edition 39


Tan, Steinbach, Karpatne, Kumar
Pre-processing and Post-processing

 Pre-processing
– Normalize the data
– Eliminate outliers
 Post-processing
– Eliminate empty clusters and small clusters that may
represent outliers
– Split ‘loose’ clusters, i.e., clusters with relatively high SSE
– Merge clusters that are ‘close’ and that have relatively low
SSE
– These steps can be used multiple times during the
clustering process
 ISODATA

11/16/2020 Introduction to Data Mining, 2nd Edition 40


Tan, Steinbach, Karpatne, Kumar
Empty Clusters

 K-means can yield empty clusters

6.8 13 18

6.5
X 9 10
X 15 16
X18.5

7.75 12.5 17.25

6.5
X 9 10
X 15 16
X 18.5

Empty
Cluster

11/16/2020 Introduction to Data Mining, 2nd Edition 41


Tan, Steinbach, Karpatne, Kumar
Handling Empty Clusters

 Basic K-means algorithm can yield empty


clusters

 Several strategies
– Choose the point that contributes most to SSE, and
make it a new centroid
– Choose a point from the cluster with the highest SSE,
and make it a new centroid
– If there are several empty clusters, the above can be
repeated several times.

11/16/2020 Introduction to Data Mining, 2nd Edition 42


Tan, Steinbach, Karpatne, Kumar
Updating Centers Incrementally

 In the basic K-means algorithm, centroids are


updated after all points are assigned to a centroid

 An alternative is to update the centroids after


each assignment (incremental approach)
– Each assignment updates zero or two centroids
– More expensive
– Introduces an order dependency
– Never get an empty cluster

11/16/2020 Introduction to Data Mining, 2nd Edition 43


Tan, Steinbach, Karpatne, Kumar
Bisecting K-means

 Bisecting K-means algorithm


– Variant of K-means that can produce a partitional or a
hierarchical clustering

CLUTO: [Link]

11/16/2020 Introduction to Data Mining, 2nd Edition 44


Tan, Steinbach, Karpatne, Kumar
Bisecting K-means Example

11/16/2020 Introduction to Data Mining, 2nd Edition 45


Tan, Steinbach, Karpatne, Kumar
Limitations of K-means

 K-means has problems when clusters are of


differing
– Sizes
– Densities
– Non-globular shapes

 K-means has problems when the data contains


outliers.

11/16/2020 Introduction to Data Mining, 2nd Edition 46


Tan, Steinbach, Karpatne, Kumar
Limitations of K-means: Differing Sizes

Original Points K-means (3 Clusters)

11/16/2020 Introduction to Data Mining, 2nd Edition 47


Tan, Steinbach, Karpatne, Kumar
Limitations of K-means: Differing Density

Original Points K-means (3 Clusters)

11/16/2020 Introduction to Data Mining, 2nd Edition 48


Tan, Steinbach, Karpatne, Kumar
Limitations of K-means: Non-globular Shapes

Original Points K-means (2 Clusters)

11/16/2020 Introduction to Data Mining, 2nd Edition 49


Tan, Steinbach, Karpatne, Kumar
Overcoming K-means Limitations

Original Points K-means Clusters

One solution is to use many clusters.


Find parts of clusters, but need to put together.
11/16/2020 Introduction to Data Mining, 2nd Edition 50
Tan, Steinbach, Karpatne, Kumar
Overcoming K-means Limitations

Original Points K-means Clusters

11/16/2020 Introduction to Data Mining, 2nd Edition 51


Tan, Steinbach, Karpatne, Kumar
Overcoming K-means Limitations

Original Points K-means Clusters

11/16/2020 Introduction to Data Mining, 2nd Edition 52


Tan, Steinbach, Karpatne, Kumar
Hierarchical Clustering

 Produces a set of nested clusters organized as a


hierarchical tree
 Can be visualized as a dendrogram
– A tree like diagram that records the sequences of
merges or splits

6 5
0.2
4
3 4
0.15
2
5
2
0.1

1
0.05 1
3

0
1 3 2 5 4 6

11/16/2020 Introduction to Data Mining, 2nd Edition 53


Tan, Steinbach, Karpatne, Kumar
Strengths of Hierarchical Clustering

 Do not have to assume any particular number of


clusters
– Any desired number of clusters can be obtained by
‘cutting’ the dendrogram at the proper level

 They may correspond to meaningful taxonomies


– Example in biological sciences (e.g., animal kingdom,
phylogeny reconstruction, …)

11/16/2020 Introduction to Data Mining, 2nd Edition 54


Tan, Steinbach, Karpatne, Kumar
Hierarchical Clustering

 Two main types of hierarchical clustering


– Agglomerative:
 Start with the points as individual clusters
 At each step, merge the closest pair of clusters until only one cluster
(or k clusters) left

– Divisive:
 Start with one, all-inclusive cluster
 At each step, split a cluster until each cluster contains an individual
point (or there are k clusters)

 Traditional hierarchical algorithms use a similarity or


distance matrix
– Merge or split one cluster at a time

11/16/2020 Introduction to Data Mining, 2nd Edition 55


Tan, Steinbach, Karpatne, Kumar
Agglomerative Clustering Algorithm
 Most popular hierarchical clustering technique
– Key Idea: Successively merge closest clusters
 Basic algorithm is straightforward
1. Compute the proximity matrix
2. Let each data point be a cluster
3. Repeat
4. Merge the two closest clusters
5. Update the proximity matrix
6. Until only a single cluster remains

 Key operation is the computation of the proximity of


two clusters
– Different approaches to defining the distance between
clusters distinguish the different algorithms
11/16/2020 Introduction to Data Mining, 2nd Edition 56
Tan, Steinbach, Karpatne, Kumar
Starting Situation

 Start with clusters of individual points and a


proximity matrix p1 p2 p3 p4 p5 ...
p1

p2
p3

p4
p5
.
.
. Proximity Matrix

...
p1 p2 p3 p4 p9 p10 p11 p12

11/16/2020 Introduction to Data Mining, 2nd Edition 57


Tan, Steinbach, Karpatne, Kumar
Intermediate Situation

 After some merging steps, we have some clusters


C1 C2 C3 C4 C5
C1

C2
C3
C3
C4
C4
C5

Proximity Matrix
C1

C2 C5

...
p1 p2 p3 p4 p9 p10 p11 p12

11/16/2020 Introduction to Data Mining, 2nd Edition 58


Tan, Steinbach, Karpatne, Kumar
Intermediate Situation

 We want to merge the two closest clusters (C2 and C5) and
update the proximity matrix. C1 C2 C3 C4 C5
C1

C2
C3
C3
C4
C4
C5

Proximity Matrix
C1

C2 C5

...
p1 p2 p3 p4 p9 p10 p11 p12

11/16/2020 Introduction to Data Mining, 2nd Edition 59


Tan, Steinbach, Karpatne, Kumar
After Merging

 The question is “How do we update the proximity matrix?”


C2
U
C1 C5 C3 C4

C1 ?

C2 U C5 ? ? ? ?
C3
C3 ?
C4
C4 ?

Proximity Matrix
C1

C2 U C5

...
p1 p2 p3 p4 p9 p10 p11 p12

11/16/2020 Introduction to Data Mining, 2nd Edition 60


Tan, Steinbach, Karpatne, Kumar
How to Define Inter-Cluster Distance
p1 p2 p3 p4 p5 ...
p1
Similarity?
p2

p3

p4

p5
 MIN
.
 MAX .
 Group Average .
 Proximity Matrix
Distance Between Centroids
 Other methods driven by an objective
function
– Ward’s Method uses squared error

11/16/2020 Introduction to Data Mining, 2nd Edition 61


Tan, Steinbach, Karpatne, Kumar
How to Define Inter-Cluster Similarity
p1 p2 p3 p4 p5 ...
p1

p2

p3

p4

p5
 MIN
.
 MAX .
 Group Average .
 Proximity Matrix
Distance Between Centroids
 Other methods driven by an objective
function
– Ward’s Method uses squared error

11/16/2020 Introduction to Data Mining, 2nd Edition 62


Tan, Steinbach, Karpatne, Kumar
How to Define Inter-Cluster Similarity
p1 p2 p3 p4 p5 ...
p1

p2

p3

p4

p5
 MIN
.
 MAX .
 Group Average .
 Proximity Matrix
Distance Between Centroids
 Other methods driven by an objective
function
– Ward’s Method uses squared error

11/16/2020 Introduction to Data Mining, 2nd Edition 63


Tan, Steinbach, Karpatne, Kumar
How to Define Inter-Cluster Similarity
p1 p2 p3 p4 p5 ...
p1

p2

p3

p4

p5
 MIN
.
 MAX .
 Group Average .
 Proximity Matrix
Distance Between Centroids
 Other methods driven by an objective
function
– Ward’s Method uses squared error

11/16/2020 Introduction to Data Mining, 2nd Edition 64


Tan, Steinbach, Karpatne, Kumar
How to Define Inter-Cluster Similarity
p1 p2 p3 p4 p5 ...
p1

  p2

p3

p4

p5
 MIN
.
 MAX .
 Group Average .
 Proximity Matrix
Distance Between Centroids
 Other methods driven by an objective
function
– Ward’s Method uses squared error

11/16/2020 Introduction to Data Mining, 2nd Edition 65


Tan, Steinbach, Karpatne, Kumar
MIN or Single Link

 Proximity of two clusters is based on the two


closest points in the different clusters
– Determined by one pair of points, i.e., by one link in the
proximity graph
 Example:
Distance Matrix:

11/16/2020 Introduction to Data Mining, 2nd Edition 66


Tan, Steinbach, Karpatne, Kumar
Hierarchical Clustering: MIN

5
1
3
5 0.2

2 1 0.15

2 3 6 0.1

0.05
4
4 0
3 6 2 5 4 1

Nested Clusters Dendrogram

11/16/2020 Introduction to Data Mining, 2nd Edition 67


Tan, Steinbach, Karpatne, Kumar
Strength of MIN

Original Points Six Clusters

• Can handle non-elliptical shapes

11/16/2020 Introduction to Data Mining, 2nd Edition 68


Tan, Steinbach, Karpatne, Kumar
Limitations of MIN

Two Clusters

Original Points

• Sensitive to noise and outliers


Three Clusters

11/16/2020 Introduction to Data Mining, 2nd Edition 69


Tan, Steinbach, Karpatne, Kumar
MAX or Complete Linkage

 Proximity of two clusters is based on the two


most distant points in the different clusters
– Determined by all pairs of points in the two clusters

Distance Matrix:

11/16/2020 Introduction to Data Mining, 2nd Edition 70


Tan, Steinbach, Karpatne, Kumar
Hierarchical Clustering: MAX

4 1
2 5 0.4

0.35
5
2 0.3

0.25

3 6 0.2

3 0.15
1 0.1

4 0.05

0
3 6 4 1 2 5

Nested Clusters Dendrogram

11/16/2020 Introduction to Data Mining, 2nd Edition 71


Tan, Steinbach, Karpatne, Kumar
Strength of MAX

Original Points Two Clusters

• Less susceptible to noise and outliers

11/16/2020 Introduction to Data Mining, 2nd Edition 72


Tan, Steinbach, Karpatne, Kumar
Limitations of MAX

Original Points Two Clusters

• Tends to break large clusters


• Biased towards globular clusters

11/16/2020 Introduction to Data Mining, 2nd Edition 73


Tan, Steinbach, Karpatne, Kumar
Group Average

 Proximity of two clusters is the average of pairwise proximity


between points in the two clusters.
 proximity(p , p )
piClusteri
i j

p jClusterj
proximity(Clusteri , Clusterj ) 
|Clusteri ||Clusterj |

 Need to use average connectivity for scalability since total


proximity favors large clusters
Distance Matrix:

11/16/2020 Introduction to Data Mining, 2nd Edition 74


Tan, Steinbach, Karpatne, Kumar
Hierarchical Clustering: Group Average

5 4 1
2 0.25

5 0.2
2
0.15

3 6 0.1

1 0.05

4 0
3 3 6 4 1 2 5

Nested Clusters Dendrogram

11/16/2020 Introduction to Data Mining, 2nd Edition 75


Tan, Steinbach, Karpatne, Kumar
Hierarchical Clustering: Group Average

 Compromise between Single and Complete


Link

 Strengths
– Less susceptible to noise and outliers

 Limitations
– Biased towards globular clusters

11/16/2020 Introduction to Data Mining, 2nd Edition 76


Tan, Steinbach, Karpatne, Kumar
Cluster Similarity: Ward’s Method

 Similarity of two clusters is based on the increase


in squared error when two clusters are merged
– Similar to group average if distance between points is
distance squared

 Less susceptible to noise and outliers

 Biased towards globular clusters

 Hierarchical analogue of K-means


– Can be used to initialize K-means

11/16/2020 Introduction to Data Mining, 2nd Edition 77


Tan, Steinbach, Karpatne, Kumar
Hierarchical Clustering: Comparison

5
1 4 1
3
2 5
5 5
2 1 2
MIN MAX
2 3 6 3 6
3
1
4 4
4

5
1 5 4 1
2 2
5 Ward’s Method 5
2 2
3 6 Group Average 3 6
3
4 1 1
4 4
3

11/16/2020 Introduction to Data Mining, 2nd Edition 78


Tan, Steinbach, Karpatne, Kumar
Hierarchical Clustering: Time and Space requirements

 O(N2) space since it uses the proximity matrix.


– N is the number of points.

 O(N3) time in many cases


– There are N steps and at each step the size, N2,
proximity matrix must be updated and searched
– Complexity can be reduced to O(N2 log(N) ) time with
some cleverness

11/16/2020 Introduction to Data Mining, 2nd Edition 79


Tan, Steinbach, Karpatne, Kumar
Hierarchical Clustering: Problems and Limitations

 Once a decision is made to combine two clusters,


it cannot be undone

 No global objective function is directly minimized

 Different schemes have problems with one or


more of the following:
– Sensitivity to noise and outliers
– Difficulty handling clusters of different sizes and non-
globular shapes
– Breaking large clusters

11/16/2020 Introduction to Data Mining, 2nd Edition 80


Tan, Steinbach, Karpatne, Kumar
Density Based Clustering

 Clusters are regions of high density that are


separated from one another by regions on low
density.

11/16/2020 Introduction to Data Mining, 2nd Edition 81


Tan, Steinbach, Karpatne, Kumar
DBSCAN

 DBSCAN is a density-based algorithm.


– Density = number of points within a specified radius (Eps)

– A point is a core point if it has at least a specified number of


points (MinPts) within Eps
 These are points that are at the interior of a cluster
 Counts the point itself

– A border point is not a core point, but is in the neighborhood


of a core point

– A noise point is any point that is not a core point or a border


point

11/16/2020 Introduction to Data Mining, 2nd Edition 82


Tan, Steinbach, Karpatne, Kumar
DBSCAN: Core, Border, and Noise Points

MinPts = 7

11/16/2020 Introduction to Data Mining, 2nd Edition 83


Tan, Steinbach, Karpatne, Kumar
DBSCAN: Core, Border and Noise Points

Original Points Point types: core,


border and noise

Eps = 10, MinPts = 4


11/16/2020 Introduction to Data Mining, 2nd Edition 84
Tan, Steinbach, Karpatne, Kumar
DBSCAN Algorithm

 Form clusters using core points, and assign


border points to one of its neighboring clusters

1: Label all points as core, border, or noise points.


2: Eliminate noise points.
3: Put an edge between all core points within a distance Eps of each
other.
4: Make each group of connected core points into a separate cluster.
5: Assign each border point to one of the clusters of its associated core
points

11/16/2020 Introduction to Data Mining, 2nd Edition 85


Tan, Steinbach, Karpatne, Kumar
When DBSCAN Works Well

Original Points Clusters

• Resistant to Noise
• Can handle clusters of different shapes and sizes

11/16/2020 Introduction to Data Mining, 2nd Edition 86


Tan, Steinbach, Karpatne, Kumar
When DBSCAN Does NOT Work Well

Original Points

11/16/2020 Introduction to Data Mining, 2nd Edition 87


Tan, Steinbach, Karpatne, Kumar
When DBSCAN Does NOT Work Well

(MinPts=4, Eps=9.92).

Original Points

• Varying densities
• High-dimensional data
(MinPts=4, Eps=9.75)
11/16/2020 Introduction to Data Mining, 2nd Edition 88
Tan, Steinbach, Karpatne, Kumar
DBSCAN: Determining EPS and MinPts

 Idea is that for points in a cluster, their kth nearest


neighbors are at close distance
 Noise points have the kth nearest neighbor at farther
distance
 So, plot sorted distance of every point to its kth
nearest neighbor

11/16/2020 Introduction to Data Mining, 2nd Edition 89


Tan, Steinbach, Karpatne, Kumar
Cluster Validity
 For supervised classification we have a variety of
measures to evaluate how good our model is
– Accuracy, precision, recall

 For cluster analysis, the analogous question is how to


evaluate the “goodness” of the resulting clusters?

 But “clusters are in the eye of the beholder”!


– In practice the clusters we find are defined by the clustering
algorithm

 Then why do we want to evaluate them?


– To avoid finding patterns in noise
– To compare clustering algorithms
– To compare two sets of clusters
– To compare two clusters
11/16/2020 Introduction to Data Mining, 2nd Edition 90
Tan, Steinbach, Karpatne, Kumar
Clusters found in Random Data
1 1

0.9 0.9

0.8 0.8

0.7 0.7

Random 0.6 0.6 DBSCAN


Points 0.5
y

0.5

y
0.4 0.4

0.3 0.3

0.2 0.2

0.1 0.1

0 0
0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1
x x
1 1

0.9 0.9

K-means 0.8 0.8


Complete
0.7 0.7
Link
0.6 0.6

0.5 0.5
y

0.4 0.4

0.3 0.3

0.2 0.2

0.1 0.1

0 0
0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1
x x
11/16/2020 Introduction to Data Mining, 2nd Edition 91
Tan, Steinbach, Karpatne, Kumar
Different Aspects of Cluster Validation

1. Determining the clustering tendency of a set of data, i.e.,


distinguishing whether non-random structure actually exists in the
data.
2. Comparing the results of a cluster analysis to externally known
results, e.g., to externally given class labels.
3. Evaluating how well the results of a cluster analysis fit the data
without reference to external information.
- Use only the data
4. Comparing the results of two different sets of clusters (generated for
the same data) to determine which is better.
5. Determining the ‘correct’ number of clusters.

For 2 and 3, we can further distinguish whether we want to evaluate


the entire clustering or just individual clusters.

11/16/2020 Introduction to Data Mining, 2nd Edition 92


Tan, Steinbach, Karpatne, Kumar
Measures of Cluster Validity
 Numerical measures that are applied to judge various aspects
of cluster validity, are classified into the following two types.
– External Index: Used to measure the extent to which cluster labels
match externally supplied class labels.
 Entropy
– Internal Index: Used to measure the goodness of a clustering
structure without respect to external information.
 Sum of Squared Error (SSE)

 You can use external or internal indices to compare clusters or


clusterings

11/16/2020 Introduction to Data Mining, 2nd Edition 93


Tan, Steinbach, Karpatne, Kumar
Measuring Cluster Validity Via Correlation
 Two matrices
– Proximity Matrix
– Ideal Similarity Matrix
 One row and one column for each data point
 An entry is 1 if the associated pair of points belong to the same cluster
 An entry is 0 if the associated pair of points belongs to different clusters
 Compute the correlation between the two matrices
– Since the matrices are symmetric, only the correlation between
n(n-1) / 2 entries needs to be calculated.
 High magnitude of correlation indicates that points that
belong to the same cluster are close to each other.
– Correlation may be positive or negative depending on whether
the similarity matrix is a similarity or dissimilarity matrix
 Not a good measure for some density or contiguity based
clusters.
11/16/2020 Introduction to Data Mining, 2nd Edition 94
Tan, Steinbach, Karpatne, Kumar
Using Similarity Matrix for Cluster Validation

 Order the similarity matrix with respect to cluster


labels and inspect visually.

1
1
10 0.9
0.9
20 0.8
0.8
30 0.7
0.7
40 0.6
0.6

Points
50 0.5
0.5
y

60 0.4
0.4
70 0.3
0.3
80 0.2
0.2
90 0.1
0.1
100 0
0 20 40 60 80 100Similarity
0 0.2 0.4 0.6 0.8 1
Points
x

11/16/2020 Introduction to Data Mining, 2nd Edition 96


Tan, Steinbach, Karpatne, Kumar
Internal Measures: SSE
 Clusters in more complicated figures aren’t well separated
 Internal Index: Used to measure the goodness of a clustering
structure without respect to external information
– SSE
 SSE is good for comparing two clusterings or two clusters
 Can also be used to estimate the number of clusters

10

6 9

8
4
7
2 6

SSE
0 5

4
-2
3
-4 2

-6 1

5 10 15 0
2 5 10 15 20 25 30
K

11/16/2020 Introduction to Data Mining, 2nd Edition 101


Tan, Steinbach, Karpatne, Kumar
Internal Measures: SSE

 SSE curve for a more complicated data set

1
2 6

3
4

SSE of clusters found using K-means

11/16/2020 Introduction to Data Mining, 2nd Edition 102


Tan, Steinbach, Karpatne, Kumar
Internal Measures: Cohesion and Separation

 Cluster Cohesion: Measures how closely related


are objects in a cluster
– Example: SSE
 Cluster Separation: Measure how distinct or well-
separated a cluster is from other clusters
 Example: Squared Error
– Cohesion is measured by the within cluster sum of squares (SSE)
𝑆𝑆 𝐸=∑ ∑ ( 𝑥− 𝑚𝑖 )
2

𝑖 𝑥 ∈𝐶
– Separation 𝑖is measured by the between cluster sum of squares
𝑆𝑆𝐵=∑ |𝐶 𝑖|( 𝑚− 𝑚𝑖 )
2

𝑖
Where is the size of cluster i

11/16/2020 Introduction to Data Mining, 2nd Edition 103


Tan, Steinbach, Karpatne, Kumar
Internal Measures: Cohesion and Separation

 Example: SSE
– SSB + SSE = constant
m
  
1 m1 2 3 4 m2 5

K=1 cluster: 𝑆𝑆𝐸 = ( 1 − 3 )2 + ( 2 − 3 )2+ ( 4 − 3 ) 2+ (5 − 3 ) 2 =10


𝑆𝑆𝐵 = 4 × ( 3− 3 )2 =0
𝑇𝑜𝑡𝑎𝑙=10 +0=10
K=2 clusters: 𝑆𝑆𝐸 = (1 − 1.5 )2 + ( 2 − 1.5 )2 + ( 4 − 4.5 )2+ ( 5 − 4.5 )2=1
2 2
𝑆𝑆𝐵 =2 × ( 3 − 1.5 ) +2 × ( 4.5 − 3 ) =9
𝑇𝑜𝑡𝑎𝑙=1+ 9=10

11/16/2020 Introduction to Data Mining, 2nd Edition 104


Tan, Steinbach, Karpatne, Kumar
Internal Measures: Cohesion and Separation

 A proximity graph based approach can also be used for


cohesion and separation.
– Cluster cohesion is the sum of the weight of all links within a cluster.
– Cluster separation is the sum of the weights between nodes in the cluster
and nodes outside the cluster.

cohesion separation

11/16/2020 Introduction to Data Mining, 2nd Edition 105


Tan, Steinbach, Karpatne, Kumar
Internal Measures: Silhouette Coefficient

 Silhouette coefficient combines ideas of both cohesion and


separation, but for individual points, as well as clusters and clusterings
 For an individual point, i
– Calculate a = average distance of i to the points in its cluster
– Calculate b = min (average distance of i to points in another cluster)
– The silhouette coefficient for a point is then given by

s = (b – a) / max(a,b) Distances used


to calculate b
i
– Value can vary between -1 and 1 Distances used
to calculate a
– Typically ranges between 0 and 1.
– The closer to 1 the better.

 Can calculate the average silhouette coefficient for a cluster or a


clustering

11/16/2020 Introduction to Data Mining, 2nd Edition 106


Tan, Steinbach, Karpatne, Kumar
External Measures of Cluster Validity: Entropy and Purity

11/16/2020 Introduction to Data Mining, 2nd Edition 107


Tan, Steinbach, Karpatne, Kumar
Compute Silhouette Coefficient for
point <1,0> in Cluster 1

 Cluster 1 ={<1,0>, <1,1>}


 Cluster 2 ={<1,2>, <2,3>, <2,2>, <1,2>}
 Cluster 3 ={<3,1>, <3,3>, <2,1>}

11/16/2020 Introduction to Data Mining, 2nd Edition 108


Tan, Steinbach, Karpatne, Kumar
1- Compute a

 Take a point <1,0> in Cluster 1


 Calculate its average distance to all other points
in it’s cluster, i.e. cluster 1
 a =√( (1-1)2 + (0-1)2 ) = 1

11/16/2020 Introduction to Data Mining, 2nd Edition 109


Tan, Steinbach, Karpatne, Kumar
2- compute b

 Now calculate its average distance to all the points


in cluster 2 and cluster 3. Then take the minimum
average distance.
 So for cluster 2
 <1,0> ---- <1,2> = distance = √((1-1) 2 + (0-2) 2 ) =2
 <1,0> ---- <2,3> = distance = √((1-2) 2 + (0-3) 2 ) =3.16
 <1,0> ---- <2,2> = distance = √((1-2) 2 + (0-2) 2 ) =2.24
 <1,0> ---- <1,2> = distance = √((1-1) 2 + (0-2) 2 ) =2
 Therefore, the average distance of point <1,0> in
cluster 1 to all the points in cluster 2 = (2 + 3.16 +
2.24 + 2) / 4 = 2.325
11/16/2020 Introduction to Data Mining, 2nd Edition 110
Tan, Steinbach, Karpatne, Kumar
2- compute b [cont.]

 Similarly, for cluster 3


 <1,0> ---- <3,1> = distance = √((1-3) 2 + (0-1) 2) =2.24
 <1,0> ---- <3,3> = distance = √((1-3) 2 + (0-3) 2) =3.61
 <1,0> ---- <2,1> = distance = √((1-2) 2 + (0-1) 2) =2.24
 Therefore, the average distance of point <1,0> in
cluster 1 to all the points in cluster 3 = (2.24 + 3.61 +
2.24) / 3 = 2.7
 The minimum average distance of the point <1,0> in
cluster 1 to the other clusters 2 and 3 is,
 b =2.325 (2.325 < 2.7)

11/16/2020 Introduction to Data Mining, 2nd Edition 111


Tan, Steinbach, Karpatne, Kumar
3- Compute s

 So the silhouette coefficient of cluster 1:


 s = (b-a) / max(a,b) = (2.325 - 1) / max(2.325 , 1)
= 0.5699
s
<1,0>= 0.5699

11/16/2020 Introduction to Data Mining, 2nd Edition 112


Tan, Steinbach, Karpatne, Kumar
Compute the purity of the following
clustering

Class Class Class 3 Total


1 2
Cluster 1 0 53 10 63
Cluster 2 5 1 60 66
Cluster 3 0 16 0 16
Total 5 70 70 145

• Purity(cluster 1) = 53 / 63 = 0.84
• Purity(cluster 2) = 60 / 66 = 0.909
• Purity(cluster 3) = 16 / 16 = 1
• Total Purity = (63/145) * 0.84 + (66/145) * 0.909 + (16/145) * 1
• = 0.36 + 0.41 + 0.11 = 0.88

11/16/2020 Introduction to Data Mining, 2nd Edition 113


Tan, Steinbach, Karpatne, Kumar
Compute Entropy of the following
clustering

Class Class Class 3 Total


1 2
Cluster 1 0 53 10 63
Cluster 2 5 1 60 66
Cluster 3 0 16 0 16
Total 5 70 70 145

• Entropy(cluster 1) = - 0 log2 0 - (53/63) log2 (53/63) - (10/63) log2 (10/63) = 0 + 0.209 + 0.421 = 0.63
• Entropy(cluster 2) = - (5/66) log2 (5/66) – (1/66) log2 (1/66) – (60/66) log2 (60/66) =0.28 + 0.09 + 0.12 = 0.49
• Entropy(cluster 3) = - 0 log2 0 - (16/16) log2 (16/16) - 0 log2 0 = 0
• Total Entropy= (63/145) * 0.63 + (66/145) * 0.49 + (16/145) * 0 = 0.49

• log2 (53/63) = log10 (53/63) / log10 2

11/16/2020 Introduction to Data Mining, 2nd Edition 114


Tan, Steinbach, Karpatne, Kumar
Final Comment on Cluster Validity

“The validation of clustering structures is the most


difficult and frustrating part of cluster analysis.
Without a strong effort in this direction, cluster
analysis will remain a black art accessible only to
those true believers who have experience and
great courage.”
Algorithms for Clustering Data, Jain and Dubes
 H. Xiong and Z. Li. Clustering Validation Measures. In C. C. Aggarwal and C. K. Reddy,
editors, Data Clustering: Algorithms and Applications, pages 571–605. Chapman &
Hall/CRC, 2013.

11/16/2020 Introduction to Data Mining, 2nd Edition 115


Tan, Steinbach, Karpatne, Kumar

You might also like