Anda di halaman 1dari 7

Clustering

adalah unsupervised learning yang dapat dilakukan dengan berbagai algoritma yang berbeda dalam menemukan
cluster secara efisien.

“Mengelompokkan objek-objek data, objek didalam kelompok yang sama lebih mirip dibandingkan objek yang ada di kelompok lain. “

Clustering yang baik adalah Cluster dengan jarak yang kecil / tingkat kemiripan yang
tinggi antar anggota cluster dan jarak yang jauh / tingkat kemiripan yang rendah antar cluster.Cluster yang baik bergantung pada similarity
measures yang dipakai, diimplementasikan, dan kemampuan untuk menemukan beberapa/seluruh pattern yang ada

Kegunaan
Outlier detection
Finding K-nearest neighbors
Data reduction
Hypothesis generation & testing
Prediction based on groups

Kelebihan
Mengidentifikasi Pola Tersembunyi
Segmentasi Data
Kekurangan Sensitif terhadap titik centroid awal
Sulit dalam menentukan jumlah cluster yang tepat
Pengurangan Dimensi
Cluster tidak selalu memiliki makna yang jelas
Identifikasi Outliers
Tidak selalu efektif untuk semua jenis data

Partitioning criteria Single level atau hierarchical, biasanya multi-level hierarchical


Pertimbangan Separation of cluster apakah point data hanya dimiliki oleh satu cluster (exclusive) atau dapat
dimiliki oleh lebih dari satu cluster (non-exclusive)
dalam cluster Similarity measure berdasarkan jarak (Euclidean, road network, dll)
berdasarkan hubungan (density atau contiguity)
analisis
Clustering Space full space (low dimensional data)
subspace (high dimensional data)

Other distinctions
1. Exclusive vs non-exclusive
2. Fuzzy vs non-fuzzy
pada clustering fuzzy, tiap titik dimiliki oleh tiap cluster dengan
bobot tertentu yang jumlahnya adalah 1.
3. Partial vs complete
Pada kasus tertentu kita hanya ingin melakukan clustering pada
beberapa data
4. Heterogeneous vs homogenous
Cluster yang berbeda ukuran, bentuk, jenis dan kepadatan.

Clustering Requirement and Challenges


1. Scalability = mampu clustering semua data, bukan hanya sampel
2. Mampu untuk menangani berbagai macam atribut (num, binary, kategorikal, ordinal,
dll)
3. Mampu menerima input atau constraints dari user
4. Interpretability and usability
5. Menemukan cluster dengan bentuk yang sembarang
6. Mampu menangani data noise
7. Mampu menangani tambahan data baru tanpa perlu menghitung ulang dan tidak
dipengaruhi oleh urutan masukan data.
8. Mampu menangani data dengan dimensionalitas tinggi
Clusteringpt2 3.Clustering Criterion
Menetukan tujuan clustering,
5.Validate Results
Kenapa melakukan cluster validity
termination condition, perhitungan 1. menemukan pattern in noise
distance, kriteria evaluasi dll ?
Langkah-langkah Clustering : 2. membandingkan algoritma
3. membandingkan dua set of cluste
1.Feature selection Aspek validasi Cluster:
4. membandingkan dua cluster
Karakteristik data input hasil clustering 1. menentukan kecenderungan dalam pengelompokan data, apakah ada
1. Dimensionality struktur yang
2. Noise and Outliers tidak acak dalam data
3. Tipe distribusi data 2. membandingkan hasil cluster analysis dengan hasil luar yang telah
4. Tipe pengukuran kedekatan diketahui
(proximity measure) 3. mengevaluasi hasil cluster analysis tanpa referensi dengan hasil luar
5. Ketersebaran (menetukan jenis 4. membandingkan hasil dari dua set cluster untuk menentukan yang
kesamaan, menambah efisiensi) terbaik
6. Tipe atribut (menentukan jenis 5. menentukan jumlah cluster yang benar
kesamaan)
7. Tipe data ((menentukan jenis
Pengukuran validasi cluster terbagi menjadi 3 tipe
kesamaan, autocorrelation)
1. External Index: Mengukur kesesuaian label cluster dengan class label
Cluster Validation: Correlation sebenarnya
two matrices yang didapat dari external source
1. Proximity Matrix Entropy
2. "Incidence" Matrix 2. Internal Index: mengukur ketepatan clustering tanpa informasi external
one row and one col for each data point Sum of Squared Error (SSE)
entry 1 if belong to the same cluster 3. Relative Index: membandingkan dua clustering atau dua cluster berbeda
entry 0 if different cluster dapat menggunakan external (entropy) atau internal (SSE)

6.Interpretate Results
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 Jarak antar cluster
High correlation indicates that points that belong to the same cluster are close to Single link
each other Jarak terdekat antar satu
elemen dalam satu cluster ke
not a good measure for some density or contiguity based cluster satu elemen di cluster lain
Complete link
Internal Measures: Cohesion and separation
Jarak terjauh antar satu
Cluster Cohesion: Measures how closely realted are objects in a cluster
elemen dalam satu cluster ke
within cluster SSE
satu elemen di cluster lain
WSS = jumlah i jumlah x elemen ci (x-mi)^2
Cluster Separation: Measures how distinct or well-separated a cluster is from other Average
clusters Jarak rata-rata antar satu
between cluster SSE elemen dalam satu cluster ke
BSS = jumlah i |Ci|(m-mi)^2, where |Ci| is the size of cluster i satu elemen di cluster lain
Centroid
Jarak antar centroid dari kedua
2.Proximity Measure cluster
Similarity Medoid
Pengukuran numerikal seberapa mirip objek data, semakin tinggi maka semakin mirip. Jarak antar medoids dari
rangenya dari 0 - 1 kedua cluster
Dissimilarity medoid -> objek terpilih yang
Pengukuran numerikal seberapa berbeda objek data, semakin rendah maka semakin letaknya paling tengah dalam
mirip. minimumnya 0, maksimumnya beragam. cluster
Dissimilarity matrix
menyimpan dissimilarity value untuk 2 objek. n data point, matrix segitiga Tipe-Tipe Cluster
Well separated → dalam cluster
mirip, antar cluster jauh berbeda
Center based → objek dalam
cluster mirip dengan centroid
cluster tersebut
dibanding centroid lain
Contiguous → objek dalam cluster
mirip dengan satu atau lebih
objek lain dalam
cluster
Density based → pemisahan dua
kumpulan titik yang padat oleh
kumpulan titik-titik
jarang.
Property or conceptual →
mencari cluster yang berbagi
PM Type common property atau
merepresentasikan konsep
PM for nominal attribute tertentu
Described by an objective
Simple Matching function -> cari cluster yang
meminimalkan atau
m = jumlah yang cocok memaksimalkan objective
p = total variabel function
Clusteringpt3 for symmetric variable : for asymmetric variable :

PM for binary attribute


Jaccard Coefficient (pengukuran kemiripan
untuk asymmetric binary variables)

Jaccard Coefficient = Coherence

PM for numeric attributes

Minkowski distance

Special case of Minkowski distance


1. Manhattan (h=1)

2. Euclidean (h=2)

3. Supremum (h=infinite) jarak dari i ke j adalah jarak maksimum dari attribut kedua titik. misal:
attr 1 jaraknya 3
attr 2 jaraknya 5
attr 3 jaraknya 1, maka jarak dari point 1 ke point 2 adalah 5
Partitioning approach
PM for Ordinal Attributes Pembagian objek data ke cluster yang tidak overlap
odinal dapat berupa diskrit atau kontinu. order is important (rank) dimana tiap objek masuk
Mirip dengan numeric attribute, ganti xif dengan rank, rif (1,…,Mf) kedalam satu cluster yang akan dievaluasi menggunakan
Map range tiap atribut ke [0,1] kriteria tertentu
K-Means Clustering
4.Clustering Algorithms Membuat K set awal partisi
Tipe-tipe Clustering Kemudian di iterasi untuk berupaya memperbaiki
partisi dengan memindahkan objek dari satu kelompok
Hierarchical approach ke kelompok lain
Membuat dekomposisi hierarkikal dari Centroid awal sering kali dipilih secara acak dan
kumpulan data menggunakan sebuah biasanya merupakan ratarata dalam cluster
kriteria kedekatan titik diukur dengan euclidean distance,
(similarity atau distance). Tidak cosine similarity
memerlukan jumlah cluster sebagai input, Setiap cluster memiliki centroid dan setiap titik akan
tapi ditempatkan ke cluster dengan centroid terdekat
memerlukan termination condition. Sebagian besar pemindahan terjadi pada beberapa
Ada 2 tipe Hierarchical Clustering iterasi awal sampai hanya tersisa sedikit titik yang
1. Agglomerative berubah
mulai dengan tiap point sebagai cluster Kelebihan =
sendiri 1. Sederhana dan efisien
pada tiap step, gabungkan pasangan 2. Mampu menangani data besar
terdekat hingga hanya tersisa satu (atau 3. iteratif dan konvergen cepat
k)cluster 4. Bekerja baik pada data yang bentuk kelompoknya
2. Divisive sphere
mulai dengan satu cluster yang Kelemahan =
mengandung semua titik 1. Sensitif terhadap skala variabel
pada tiap step, pecah cluster hingga tiap 2. Menggunakan metode k-modes untuk data kategorikal
cluster memiliki satu point (atau hingga 3. Perlu menentukan jumlah cluster (k) diawal
ada k cluster) 4. Sensitif terhadap noisy data dan outlier
5. Tidak cocok untuk menemukan cluster dengan bentuk
Bisa juga direpresentasikan
tidak cembung
sebagai dendogram. Clustering
Variasi =
data dilakukan dengan
1. Jumlah K
memotong dendogram pada level
2. Dissimilarity calculations
yang diinginkan, kemudian setiap
3. Strategies to calculate cluster means
komponen yang
4. Handling categorical data: k-modes
terhubung membentuk cluster
Model Based Mengganti mean cluster menjadi mode
Density based approach Sebuah model dihipotesiskan Menggunakan dissimilarity measures baru
Berdasarkan fungsi connectivity untuk tiap cluster dan mencoba Menggunakan metode frequency-based untuk update
dan density. mencari model terbaik modes
DBSCAN, OPTICS sesuai dengan data pada tiap 5. Campuran categorical and numerical data: k-prototype
cluster. method
Grid based approach Fuzzy Clustering, Self Organizing K-Medoids
Menggunakan grid untuk
Map (SOM) Mean diganti medoids
mengorganisir data dan
mengelompokkan data dengan Frequent medoids adalah objek yang terletak paling tengah dalam
cluster
tingkat kehalusan / detail yang
Pattern Based secara iteratif mengganti medoid, apabila total distance
berbeda.
Berdasarkan Frequent Pattern Analysis meningkat maka dipilih
STING, CLIQUE
p-cluster
User guided or Dengan
Objek biasanya dihubungkan dengan berbagai
Mempertimbangkan user
constraint specified atau app Link Based cara, link yang besar / kuat dapat
digunakan untuk mengcluster objek
based specified constraints
Termasuk supervised Learning
input (attribute set [x]) -> classification model -> output (class label[y]) Classification
“Mengelompokkan objek ke salah satu label atau kategori yang telah ditentukan berdasarkan training data”.

Dataset terbagi menjadi training dan test, training adalah labeled data untuk
membangun classification model, test data digunakan untuk menentukan akurasi model
dan memvalidasi model yang telah di train. validation set adalah ketika test set
digunakan untuk memilih model.
Memberikan sekumpulan labeled dataset sebagai
training set untuk membuat model.

Model Construction
Model direpresentasikan dalam bentuk classification
rules, decision trees, atau fungsi matematika
(classifiers)

Untuk mengklasifikasikan objek baru atau yang tidak


Classification diketahui.
Process
Membandingkan hasil klasifikasi test sample dengan
label yang diketahui dari test.
Akurasi didapat dari hasil klasifikasi yang sesuai
Model Usage
dengan label asli.

Test set independen dari train set (mencegah


Lazy Learner: Instance Based Methods overfitting).
Menyimpan sampel data training dan menahan processing hingga Jika akurasi model dapat diterima maka model dapat
instance baru harus di klasifikasi digunakan

KNN Instances direpresentasikan sebagai titik pada


ruang euclidean. Classification Method
Menghitung jarak dan mengambil k titik terdekat
yang ada di training records untuk Lazy Learning Eager Learning
mengklasifikasikan test record baru.

Memerlukan 3 hal: Menyimpan training Diberi training data,


a. Kumpulan record yang disimpan data atau minor membuat model
b. Distance Metric untuk menghitung jarak antar records
processing dan sebelum menerima
c. nilai K, jumlah tetangga terdekat yang diambil
menunggu hingga data baru untuk
Untuk mengklasifikasi unknown record: diberikan test data diklasifikasi.
a. Menghitung jarak ke training record
b. Identifikasi k titik terdekat
c. Menggunakan class label dari titik terdekat sebagai class membutuhkan lebih
butuh lebih banyak
label titik baru tersebut sedikit waktu untuk
(Majority Rule
waktu untuk training
training

membutuhkan lebih
butuh lebih sedikit
banyak waktu untuk
waktu untuk prediksi
Kuat terhadap noisy data karena menggunakan rata-rata k titik terdekat melakukan prediksi
Curse of dimensionality: Jarak antar tetangga dapat didominasi oleh
atribut yang tidak
relevan, untuk mengatasinya dapat dilakukan peregangan sumbu atau
penghapusan
Efektif dengan ruang
attribut yang kurang relevan.
hipotesis yang lebih
Eager Learner : Decision Tree beragam karena hanya dapat
Sebuah tree memiliki 3 tipe node menggunakan banyak berkomitmen pada
1. Root node = node yang tidak memiliki edge fungsi linear lokal satu hipotesis tunggal
masuk dan nol atau lebih edge keluar
untuk membentuk yang mencakup
2. Internal nodes = tiap node yang memiliki tepat
satu edge masuk dan dua atau lebih
perkiraan global seluruh ruang contoh
edge keluar implisit terhadap
3. Leaf atau terminal nodes = satu edge masuk fungsi target
dan tidak ada edge keluar
Jalur dari root ke leaf merepresentasikan
classification rules Contoh: Decision
Contoh: Instance-
Tree, SVM, Neural
based learning
Network, etc
Decision Tree Algorithm
Basic Algorithm (greedy) Conditions for stopping partitioning
1. Tree dibentuk dalam cara top-down recursive divide-and- 1. Semua sampel untuk node tertentu termasuk
conquer dalam kelas yang sama
2. awalnya semua training examples ada di root 2. tidak ada attribute tersisa untuk dipartisi,
3. semua attribute adalah kategorikal majority voting digunakan untuk
4. training examples dipartisi secara rekursif berdasarkan mengklasifikasikan leaf node
atribut yang dipilih 3. tidak ada sample tersisa
5. test attributes dipilih berdasarkan pengukuran heuristic
atau statistikal (information
gain, gain index, dll)
pt2Classification
1. Information Gain
Attribute
Memilih attribute dengan information gain tertinggi
Selection Measure pi = probabilitas tuple sembarang di D termasuk dalam kelas Ci,
Expected information (entropy) yang diperlukan untuk mengklasifikasikan tuple di D

Information needed (setelah menggunakan A untuk membagi D ke v partitsi) untuk


mengklasifikasikan D

InfoA(D) = jumlah dari j ke v (|Dj|/|D| x Info(Dj))

Information gained

2.Gain Ratio 3.Gini Index


Normalization to information gain Jika dataset D memiliki sample dari n classes, gini(D) ditentukan dengan:

dimana pj adalah frekuensi relatif class j di D

Jika dataset D dibagi pada A menjadi 2 subset D1 dan D2, gini index
ditentukan dengan:

Attribute dengan maximum gain ratio


akan dipilih sebagai splitting attribute

Reduction in impurity

Atribut memberikan gini_A(D) terkecil (atau pengurangan pengotor terbesar) dipilih


untuk membagi node (perlu menghitung semua kemungkinan titik pemisahan untuk
setiap atribut)

info gain = bias terhadap atribut multinilai


Kekurangan gain ratio = pemisahan tidak seimbang, satu partisi jauh lebih kecil dibanding partisi
lain
metode selection
gini index =bias terhadap atribut multinilai
measure mengalami kesulitan ketika jumlah kelas banyak
cenderung menyukai pengujian yang menghasilkan partisi berukuran sama.

Langkah pembuatan Decision Tree (dengan information gain)


1. akan ada 2 class akhir, buys_computer = “yes” dan
buys_coimputer = “no”
2. Hitung info dataset

9 = banyak yes, 5 = banyak no

3. hitung info yang didapat per attribut, misal dari attribut age

4. Hitung gain yang didapat tiap attribut


DT Overfitting
1. Too many branches, some may reflect anomalies due to noise or outliers
2. Poor accuracy for unseen samples
Avoid overfitting
Prepruning : Halt tree construction early - do not split a node if this would result in the
5. Dengan cara yang sama hitung untuk semua attribut
goodness measure falling below a threshold Gain(income) = 0.029
masalah : Susah untuk menentukan batas yang sesuai
Gain(student) = 0.151
Postpruning : Remove branches from a full tree - get a sequence of progressively
Gain(credit_rating) = 0.048
pruned trees, menggunakan kumpulan data yang berbeda dari train data untuk
menentukan pruned tree terbaik
6. Gambar tree dengan menggunakan gain tertinggi
DT Enhancements
1. Allow for continuous-valued attributes sebagai root
Dynamically define new discrete-valued attributes that partition the continuous
attributes value into a discrete set of intervals
2. Handle missing attribute values
Assign the most common value of the attribute
Assign probability to each of the possible values
3. Attribute construction
create new attributes based on existing ones that are sparsely represented
this reduces fragmentation, repetition, and replication
Naive Bayes
pt3Classification
Training Dataset

Class:
C1: buys_computer = “yes”
C2: buys_computer = “no”
Data to be classified:
X = (age≤30, income=medium, student=yes,
credit_rating=fair)

Kelebihan Naive Bayes:


1. Mudah diimplementasi
2. Dalam kebanyakan kasus akan
mendapatkan hasil yang baik
3. Kuat menghadapi noise dan attribute
irrelevant
4. Mengatasi missing value dengan
mengacuhkan instance saat kalkulasi
5. Asumsi independensi mungkin tidak
berlaku untuk beberapa atribut
Naive Bayes
1. hitung probabilitas total yes dan no
P(yes) = 9/14 = 0.643 Kekurangan Naive Bayes:
P(no) = 5/14 = 0.357
1. Asumsi: independensi berdasarkan
kelas, sehingga kehilangan akurasi
2. hitung probabilitas yes dan no tiap attribut yang ada di X
2. Ketergantungan ada antar variabel,
(jika yes dan A) dan (jika no dan A)
contoh:
P(age≤30 | yes) = 2/9 = 0,222
Hospitals: Patients, profile:age, family
P(age≤30 | no) = 3/5 = 0,6
history, etc
P(income=medium | yes) = 4/9 = 0,444
Symptoms: fever, cough,etc, disease: lung
P(income=medium | no) = 2/5 = 0,4
cancer, diabetes, etc
P(student=yes | yes) = 6/9 = 0,667
Dependencies tidak dapat dimodelkan
P(student=no | no) = 1/5 = 0,2
oleh naive bayes
P(credit_rating=fair | yes) = 6/9 = 0,667
P(credit_rating=fair | no) = 2/5 = 0,4

3. kalikan hasil sesuai dengan X, buat jika yes dan jika no


P(X | yes) = 0,222 x 0,444 x 0,667 x 0,667 = 0.044 Untuk menghindari adanya masalah probabilitas
P(X | no) = 0,6 x 0,4 x 0,2 x 0,4 = 0.019 yang bernilai 0, maka dapat dilakukan
Laplacian correction, yaitu menambahkan 1
4. kalikan hasil jika X maka yes dengan probabilitas yes dan jika X maka untuk tiap case
no dengan probabilitas no misal P(yes) = 10/16 dan P(no) = 6/16
P(X | yes) * P(yes) = 0,044 x 0,643 = 0,028
P(X | no) * P(no) = 0,019 x 0,357 = 0,007

5. probabilitas yang lebih besar akan menjadi hasil


Model Evaluation
Karena masih lebih besar probabilitas yes, maka data dengan nilai X
akan diklasifikasikan menjadi buys_computer = yes and Selection
Gunakan validation test set dengan class label untuk menilai akurasi

Metode untuk memperkirakan keakuratan:


Holdout method, random subsampling Bootstrap
Data yang ada dipartisi secara acak ke 2 set yang independen Bekerja dengan baik pada dataset kecil
training (misal 2/3) untuk membuat model Mengambil sampel dari training tuple secara seragam
test (misal 1/3) untuk mengestimasi akurasi dengan penggantian
Random sampling: variasi holdout, melakukan holdout ketika sebuah tuple sudah terpilih, tuple tersebut
sebanyak k repitisi, memiliki kemungkinan yang sama
akurasi = rata-rata dari tiap akurasi yang didapat untuk terpilih kembali dan ditambahkan ulang ke training
set
Cross-Validation Contoh:
sebuah dataset dengan d tuple akan disampel sebanyak
k-fold, dimana k=10 paling sering digunakan
d kali, dengan penggantian,
Mempartisi data secara acak ke k subset yang mutex,
menghasilkan training set of d samples. data tuples yang
masing-masing memiliki ukuran
tidak masuk ke training set
yang sama
akan membentuk test set. sekitar 63,2% akan masuk ke
Pada iterasi ke i, menggunakan Di sebagai test set dan
training bootstrap dan sisa
yang lain sebagai train set
36,8% akan membentuk test set.
Leave-one-out: k folds dimana k = num of tuples, untuk
sampling procedure akan diulang sebanyak k kali, overall
data berukuran kecil
accuracy:
Stratified cross-validation: folds distratifikasi sehingga
distribusi kelas di tiap fold mirip
dengan data awal, recommended for accuracy estimation
pt4Classification
Membandingkan Klasifikasi :
Confidence Intervals
Menggunakan 10-fold cross validation untuk mendapat mean error M1 dan M2
Menggunakan statistical significance test
obtain confidence limits for error estimates

1. lakukan 10 fold
2. asumsikan sample mengikuti t distribution dengan k-1 degrees of freedom (karena
10 fold, k = 10) dapat berubah sesuai fold?
3. lakukan t-test atau student's t test significantly different?
4. Null Hypothesis: M1 dan M2 sama 1. compute t. select significance
5. jika null hypothesis dapat ditolak maka dapat ditarik kesimpulan bahwa ada level
perbedaan antara M1 dan M2 yang statistically significant dan kita dapat memilih 2. find t value corresponding to k-1
degrees of freedom
model dengan error rate yang lebih rendah
t distribution is symmetric:
typically upper % points of
Significance level = misal sig = 0.05 atau 5% artinya M1 dan M2 berbeda secara distribution shown -> look up
signifikan untuk 95% dari populasi value for confidence limit (z)
3. if t>z or t<-z, then reject null
hypothesis.

Classifier Evaluation Metrics


Metrik evaluasi meliputi: akurasi, sensitivitas, spesifisitas, presisi, perolehan kembali,
ukuran F, dan ukuran F beta

Dihitung dengan Confusion Matrix

Accuracy = (TP + TN) / All


persen yang diklasifikasi secara benar
Error rate = 1 - Accuracy
= (FP + FN) / All
Sensitivity = TP / (TP + FN)
True positive recognition rate
Specificity = TN / (FP + TN)
True negative recognition rate
Precision = TP / (TP + FP)
persentase yang diklasifikasikan true dan sebenarnya true
Recall = TP / (TP + FN)
persentase yang sebenarnya true dan diklasifikasikan true
F measure = (2 x precision x recall) / (precision + recall)
harmonic mean dari precision dan recall
Fbeta = ((1 + beta^2) x precision x recall) / (beta x precision x recall)

Issues Affecting Model Selection


1. Accuracy

2. Speed (train time dan prediction time)

3. Robustness (handle noise dan missing value)

4. Scalability (efficiency in disk-resident databases)

5. Interpretability (insight provided by model)

issues diatas dapat involve trade-offs

Anda mungkin juga menyukai