0% menganggap dokumen ini bermanfaat (0 suara)
320 tayangan28 halaman

K Means Clustering

Diunggah oleh

Irene Situmorang
Hak Cipta
© Attribution Non-Commercial (BY-NC)
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PPT, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
320 tayangan28 halaman

K Means Clustering

Diunggah oleh

Irene Situmorang
Hak Cipta
© Attribution Non-Commercial (BY-NC)
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PPT, PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 28

K-Means Clustering

What is Clustering?
Also called unsupervised learning, sometimes called classification by statisticians and sorting by psychologists and segmentation by people in marketing

Mengelompokkan data-data menjadi beberapa cluster berdasarkan kesamaannya

What is a natural grouping among these objects?

What is a natural grouping among these objects?

Clustering is subjective

Simpson's Family

School Employees

Females

Males

Two Types of Clustering


Partitional algorithms: Membuat beberapa partisi dan mengelompokkan objek berdasarkan kriteria tertentu Hierarchical algorithms: Membuat dekomposisi pengelompokan objek berdasarkan kriteria tertentu. Misal= tua-muda, tua-muda(merokok-tidak merokok)

Hierarchical

Partitional

What is Similarity?
The quality or state of being similar; likeness; resemblance; as, a similarity of features.
Webster's Dictionary

Similarity is hard to define, but We know it when we see it.

Distance : Adalah ukuran kesamaan antar objek yang dihitung berdasarkan rumusan tertentu
0 8 0 8 2 0 7 4 3 0 7 4 3 1 0

D( , ) = 8 D( , ) = 1

Partitional Clustering
Nonhierarchical, setiap objek ditempatkan di salah satu cluster Nonoverlapping cluster Jumlah kluster yang akan dibentuk ditentukan sejak awal

Algorithm k-means
1. Tentukan berapa cluster k yang mau dibuat. 2. Inisialisasi centroid dari tiap cluster (randomly, if necessary). 3. Tentukan keanggotaan objek-objek yang lain dengan mengklasifikasikannya sesuai centroid terdekat (berdasarkan distance ke centroid) 4. Setelah cluster dan anggotanya terbentuk, hitung mean tiap cluster dan jadikan sebagai centroid baru 5. Jika centroid baru tidak sama dengan centroid lama, maka perlu diupdate lagi keanggotaan objek-objeknya(balik ke -3). Sebaliknya jika centroid baru sama dengan yang lama maka selesai.

K-means Clustering: Step 1-2


Tentukan berapa cluster k yang mau dibuat. Inisialisasi centroid dari tiap cluster (randomly, if necessary)
5

k1
3

k2

k3
0 0 1 2 3 4 5

K-means Clustering: Step 3


Tentukan keanggotaan objek-objek yang lain dengan mengklasifikasikannya sesuai centroid terdekat
5

k1
3

k2

k3
0 0 1 2 3 4 5

K-means Clustering: Step 4


Setelah cluster dan anggotanya terbentuk, hitung mean tiap cluster dan jadikan sebagai centroid baru
5

k1

k3
1

k2

0 0 1 2 3 4 5

Jika centroid baru tidak sama dengan centroid lama, maka perlu diupdate lagi keanggotaan objek-objeknya
5

K-means Clustering: Step 5

k1

k3
1

k2

0 0 1 2 3 4 5

K-means Clustering: Finish


Lakukan iterasi step 3-5 sampai tak ada lagi perubahan centroid dan tak ada lagi objek yang berpindah kelas

k1

k2

k3

Comments on the K-Means Method


Strength
Relatively efficient: O(tkn), where n is # objects, k is # clusters, and t is # iterations. Normally, k, t << n. Often terminates at a local optimum. The global optimum may be found using techniques such as: deterministic annealing and genetic algorithms

Weakness
Applicable only when mean is defined, then what about categorical data? Need to specify k, the number of clusters, in advance Unable to handle noisy data and outliers

Algoritma pengukuran distance


SqEuclidean Cityblock Cosine Correlation Hamming

MATLAB
[IDX,C] = kmeans(X,k) returns the k cluster centroid locations in the k-by-p matrix C

[...] = kmeans(...,'param1',val1,'param2',val2,...) enables

you to specify optional parameter name-value pairs to control the iterative algorithm used by kmeans. The parameters are :
distance start replicates maxiter emptyaction display

'distance
Distance measure, in p-dimensional space, that kmeans minimizes with respect to. kmeans computes centroid clusters differently for the different supported distance measures:

'start'
Method used to choose the initial cluster centroid positions, sometimes known as "seeds". Valid starting values are:

'replicates'
Number of times to repeat the clustering, each with a new set of initial cluster centroid positions. kmeans returns the solution with the lowest value for sumd. You can supply 'replicates' implicitly by supplying a 3-dimensional array as the value for the 'start' parameter.

'maxiter'
Maximum number of iterations. Default is 100.

'emptyaction'
Action to take if a cluster loses all its member observations. Can be one of:

'display'
Controls display of output. 'off : Display no output. 'iter : Display information about each iteration during minimization, including the iteration number, the optimization phase, the number of points moved, and the total sum of distances. 'final : Display a summary of each replication. 'notify : Display only warning and error messages. (default)

Example
dataku =[ 7 26 6 60; 11 56 8 20; ... 11 31 8 47; ... 7 52 6 33; ... 11 55 9 22; ... 3 71 17 6; ... 1 31 22 44; ... 2 54 18 22; ... 21 47 4 26; ... 1 40 23 34; ... 11 66 9 12; ... 10 68 8 12] 1 29 15 52; ...

Using kmeans to build 3 cluster


hasilk = kmeans(dataku,3)

Result
hasilk = 1 1 2 1 2 2 2 3 2 2 3 2 2

Meaning of the result


Data at row number 1, 2, and 4 are member of first cluster (cluster number 1). Data at row number 3,5,6,7,9,10,12 and 13 are member of second cluster (cluster number 2). Data at row number 8 and 11 are member of third cluster (cluster number 3).

Anda mungkin juga menyukai