bab 2 landasan teori

advertisement
BAB 2 - LANDASAN TEORI
BAB 2
LANDASAN TEORI
Data mining sebagai salah satu proses eksplorasi dan analisis data memiliki banyak
metode dengan kegunaannya masing-masing. Clustering dan association rules merupakan dua
di antara metode-metode tersebut. Selain aplikasi metode atau algoritma terhadap data, data
mining sebagai suatu proses juga memiliki tahapan-tahapan lain yang juga akan dibahas
berikut ini.
2.1 Data Mining
Data mining merupakan gabungan dari berbagai bidang ilmu, antara lain basis data,
information retrieval, statistika, algoritma dan machine learning. Bidang ini telah berkembang
sejak lama namun makin terasa pentingnya sekarang ini di mana muncul keperluan untuk
mendapatkan informasi yang lebih dari data transaksi maupun fakta yang terkumpul selama
bertahun-tahun. Data mining adalah cara menemukan informasi tersembunyi dalam sebuah
basis data dan merupakan bagian dari proses Knowledge Discovery in Databases (KDD) untuk
menemukan informasi dan pola yang berguna dalam data [DUN03]. Kegiatan data mining
biasanya dilakukan pada sebuah data warehouse yang menampung data dalam jumlah besar
dari suatu organisasi. Proses data mining mencari informasi baru, berharga dan berguna di
dalam sekumpulan data bervolume besar dengan melibatkan komputer dan manusia serta
bersifat iteratif baik melalui proses otomatis ataupun manual [KAN03]. Secara umum, data
mining terbagi dalam 2 sifat:
a. Predictive: menghasilkan model berdasarkan sekumpulan data yang dapat
digunakan untuk memperkirakan nilai data yang lain. Metode-metode yang
termasuk Predictive Data Mining adalah:
•
Klasifikasi: pembagian data ke dalam beberapa kelompok yang telah
ditentukan sebelumnya
•
Regresi: memetakan data ke suatu prediction variable
•
Time series Analysis: pengamatan perubahan nilai atribut dari waktu ke
waktu.
Aplikasi dan analisis..., Andina Budiarti, FASILKOM UI, 2006
Halaman 4 dari 124
BAB 2 - LANDASAN TEORI
b. Descriptive: mengidentifikasi pola atau hubungan dalam data untuk menghasilkan
informasi baru. Metode yang termasuk dalam Descriptive Data Mining adalah:
•
Clustering: identifikasi kategori untuk mendeskripsikan data
•
Association Rules: identifikasi hubungan antara data yang satu dengan
lainnya.
•
Summarization: pemetaan data ke dalam subset dengan deskripsi
sederhana
•
Sequence Discovery: identifikasi pola sekuensial dalam data
Sekarang ini, aplikasi data mining sudah meluas di berbagai bidang. Di bidang bisnis,
aplikasi tersebut antara lain [OY+07]:
Bidang
Retail
Perbankan
Manajemen kartu
kredit
Asuransi
Telekomunikasi
Telemarketing
Manajemen
sumber daya
manusia
Tabel 1: Aplikasi Data [OY+07, hal. 8]
Aplikasi
Keterangan
Affinity positioning
Memposisikan produk dengan efektif
Menemukan lebih banyak produk
Cross selling
untuk dijual
Mengidentifikasi pelanggan yang
Customer relationship
paling menguntungkan serta caramanagement
cara untuk mengoptimalkannya
Mengidentifikasi segmen pasar yang
Lift
efektif
Mengidentifikasi kemungkinan
Churn
pindahnya pelanggan
Mengidentifikasi penipuan claim
Deteksi penipuan
asuransi
Mengidentifikasi kemungkinan
Churn
pindahnya pelanggan
Membantu telemarketers dengan
Informasi online
akses data yang mudah
Mengidentifikasi kemungkinan
pindahnya pegawai
Churn
Di luar dunia bisnis, aplikasi data mining antara lain membantu penelitian di bidang
+
genetika [SAH], pemrosesan citra geografis [ZRL 96], pengelompokkan dokumen [NOB],
manajemen jaringan dan deteksi intrusion [BLO+], taksonomi tumbuhan dan binatang [WIS99]
+
serta personalisasi dalam e-learning [MM 04].
2.2 Clustering
Clustering juga dikenal sebagai unsupervised learning yang membagi data menjadi
kelompok-kelompok atau clusters berdasarkan suatu kemiripan atribut-atribut di antara data
tersebut [DUN03]. Karakteristik tiap cluster tidak ditentukan sebelumnya, melainkan tercermin
dari kemiripan data yang terkelompok di dalamnya. Oleh sebab itu, hasil clustering seringkali
perlu diinterpretasikan oleh pihak yang benar-benar mengerti mengenai karakter domain data
tersebut. Selain digunakan sebagai metode yang independen dalam data mining, clustering
Aplikasi dan analisis..., Andina Budiarti, FASILKOM UI, 2006
Halaman 5 dari 124
BAB 2 - LANDASAN TEORI
juga digunakan dalam pra-pemrosesan data sebelum data diolah dengan metode data mining
+
lain untuk meningkatkan pemahaman terhadap domain data [OY 07].
2.2.1 Similarity Measure dan Distance Measure
Karakter terpenting dari hasil clustering yang baik adalah suatu instance data di
dalam suatu cluster lebih “mirip” dengan instance lain di dalam cluster tersebut daripada
dengan instance di luar cluster itu [KAN03]. Ukuran kemiripan (similarity measure)
tersebut bisa bermacam-macam dan mempengaruhi perhitungan dalam menentukan
anggota suatu cluster. Jadi tipe data yang akan di-cluster (kuantitatif atau kualitatif) juga
menentukan ukuran apa yang tepat digunakan dalam suatu algoritma. Selain kemiripan
antardata dalam suatu cluster, clustering juga dapat dilakukan berdasarkan jarak antara
data atau cluster yang satu dengan yang lainnya [DUN03]. Ukuran jarak (distance atau
dissimilarity measure) yang merupakan kebalikan dari ukuran kemiripan ini juga banyak
ragamnya dan penggunaannya juga tergantung dari tipe data yang akan di-cluster.
Kedua ukuran ini bersifat simetris, di mana jika A dikatakan mirip dengan B maka dapat
disimpulkan B mirip dengan A.
Tipe data kuantitatif dapat dibagi ke dalam nilai kontinu (e.g. bilangan real),
diskret (e.g. integer) atau interval sedangkan tipe kualitatif dapat dibagi ke dalam nominal
atau unordered (e.g. “biru”, “merah”) dan ordinal (e.g. jabatan militer: “jendral”, “kolonel”)
[KAN03]. Berbagai macam rumus yang digunakan untuk masing-masing tipe data serta
perhitungan jarak antar-cluster akan dibahas pada bagian berikut ini.
2.2.1.1 Ukuran untuk Tipe Data Numerik
Untuk sebuah set X beranggotakan xi ∈ X, i = 1, …, n,
tiap item
direpresentasikan sebagai vektor xi = {xi1, xi2, …, xim} dengan m sebagai jumlah dimensi
dari item, rumus-rumus yang biasa digunakan sebagai ukuran jarak antara xi dan xj untuk
data numerik antara lain:
a.
Euclidean Distance
 m
2
 ∑ (xik − xij ) 
 k =1

1/ 2
Ukuran ini sering digunakan dalam clustering karena sederhana walaupun
sangat sensitif terhadap pencilan. Ukuran ini memiliki masalah jika skala
nilai atribut yang satu sangat besar dibandingkan nilai atribut lainnya. Oleh
sebab itu, nilai-nilai atribut seringkali dinormalisasi sehingga berada dalam
kisaran 0 dan 1.
b.
L1 Metric atau city block distance atau Manhattan distance
m
∑x
ik
− x jk
k =1
Aplikasi dan analisis..., Andina Budiarti, FASILKOM UI, 2006
Halaman 6 dari 124
BAB 2 - LANDASAN TEORI
Jika tiap item digambarkan sebagai titik dalam sebuah grid, ukuran jarak ini
merupakan banyak sisi yang harus dilewati suatu titik untuk mencapai titik
yang lain seperti halnya dalam sebuah peta jalan.
c.
Minkwoski Metric
 m
p 
 ∑ (xik − xij ) 
 k =1

1/ p
Ukuran ini merupakan bentuk umum dari 2 rumus sebelumnya. Euclidean
distance adalah kasus di mana nilai p = 2 sedangkan Manhattan distance
merupakan bentuk Minkowski dengan p = 1. Dengan demikian, lebih
banyak nilai numerik yang dapat ditempatkan pada jarak terjauh di antara 2
vektor. Seperti pada Euclidean distance dan juga Manhattan distance,
ukuran ini memiliki masalah jika salah satu atribut dalam vektor memiliki
rentang yang lebih lebar dibandingkan atribut-atribut lainnya.
d.
Cosine-correlation (ukuran kemiripan dari model Euclidean n-dimensi)
m
∑ (x
ik
⋅ x jk )
k =1
m
∑x ⋅∑x
2
ik
2
jk
k =1
Ukuran ini bagus digunakan pada data dengan tingkat kemiripan tinggi
walaupun sering pula digunakan bersama pendekatan lain
untuk
membatasi dimensi dari permasalahan.
2.2.1.2 Ukuran untuk Tipe Data Nominal
Untuk menemukan jarak antara 2 items dengan data biner, diperlukan sebuah
contingency table sebagai panduan seperti berikut ini:
Tabel 2: Contingency Table 2x2 [KAN03, hal. 123]
Xj
Xi
1
0
1
a
b
0
c
d
Untuk nilai k mulai dari 1 hingga jumlah items pada set data,
•
a adalah banyak atribut biner dari items xi dan xj sehingga xik = xjk = 1
•
b adalah banyak atribut biner dari items xi dan xj sehingga xik = 1 dan xjk = 0
•
c adalah banyak atribut biner dari items xi dan xj sehingga xik = 0 dan xjk = 1
•
d adalah banyak atribut biner dari items xi dan xj sehingga xik = xjk = 0.
Aplikasi dan analisis..., Andina Budiarti, FASILKOM UI, 2006
Halaman 7 dari 124
BAB 2 - LANDASAN TEORI
Berdasarkan tabel di atas, rumus-rumus yang biasa digunakan sebagai ukuran
kemiripan antara xi dan xj untuk data biner antara lain:
a.
Simple Matching Coefficient
(a + d) / (a + b + c + d)
Ukuran ini digunakan jika atribut binernya bersifat simetris di mana kedua
nilai baik positif maupun negatif memberikan informasi yang sama.
Contohnya atribut “Jenis kelamin” bersifat simetris karena jumlah ‘Pria’
ataupun ‘Wanita’ memberikan informasi yang sama.
b.
Jaccard Coefficient
a / (a + b + c)
Berbeda dengan ukuran sebelumnya, ukuran ini digunakan jika atribut
binernya bersifat asimetris.
c.
Rao’s Coefficient
a / (a + b + c + d)
Ukuran ini juga dikenal sebagai positive match coefficient. Nilainya berkisar
antara 0 sampai 1.
d.
Mutual Neighbor Distance (MND)
Untuk NN(xi,xj) didefinisikan sebagai nomor neighbor dari xj terhadap xi.
Jika xi adalah item terdekat pertama dari xj, maka NN(xi,xj) = 1, dan
seterusnya, maka
MND(xi,xj) = NN(xi,xj) + NN(xj,xi)
2.2.1.3 Jarak Antar-Cluster
Dalam mendefinisikan ukuran jarak antar-cluster yang digunakan beberapa
algoritma untuk menentukan clusters mana yang berdekatan, sebelumnya perlu
dijelaskan mengenai atribut-atribut yang menjadi referensi dari suatu cluster [ZRL+96].
Untuk suatu cluster Km berisi N items {xm1, xm2, …, xmn}:
•
Centroid: suatu besaran yang dihitung dari rata-rata nilai tiap items dari
suatu cluster menurut rumus berikut.
N
∑x
Cm =
•
mi
i =1
N
Medoid: item yang letaknya paling “tengah”
Metode-metode untuk mencari jarak antar-cluster:
Single link: jarak terkecil antara satu elemen dalam suatu cluster dengan
elemen lain di cluster yang berbeda.
Complete link: jarak terbesar antara satu elemen dalam suatu cluster
dengan elemen lain di cluster yang berbeda
Aplikasi dan analisis..., Andina Budiarti, FASILKOM UI, 2006
Halaman 8 dari 124
BAB 2 - LANDASAN TEORI
Average: jarak rata-rata antara satu elemen dalam suatu cluster dengan
elemen lain di cluster yang berbeda
Centroid: jarak antara centroid dari tiap cluster dengan centroid cluster
lainnya
Medoid: jarak antara medoid dari tiap cluster dengan medoid cluster
lainnya.
2.2.2 Algoritma Clustering
Secara umum, pembagian kategori algoritma clustering dapat digambarkan
sebagai berikut [KAN03]:
Clustering
Partitional
Hierarchical
Clustering
Large Data
Divisive
Agglomerative
Gambar 1: Kategori Algoritma Clustering
Hierarchical clustering menentukan sendiri jumlah cluster yang dihasilkan. Hasil
dari metode ini adalah suatu struktur data berbentuk pohon yang disebut dendogram di
mana data dikelompokkan secara bertingkat dari yang paling bawah di mana tiap
instance data merupakan satu cluster sendiri, hingga tingkat paling atas di mana
keseluruhan data membentuk satu cluster besar berisi cluster-cluster seperti di gambar
berikut:
1
2
3
4
A
B
C
D
E
Gambar 2: Dendogram [DUN03, hal. 135]
Aplikasi dan analisis..., Andina Budiarti, FASILKOM UI, 2006
Halaman 9 dari 124
BAB 2 - LANDASAN TEORI
Divisive hierarchical clustering mengelompokkan data dari kelompok yang
terbesar hingga ke kelompok yang terkecil, yaitu masing-masing instance dari
kelompok data tersebut. Sebaliknya, agglomerative hierarchical clustering mulai
mengelompokkan data dari kelompok yang terkecil hingga ke kelompok yang paling
besar [KAN03].
Kategori yang kedua adalah partitional clustering yang mengelompokkan data
ke dalam k cluster di mana k adalah banyak cluster
dari input user. Kategori ini
biasanya memerlukan pengetahuan yang cukup mendalam tentang data dan proses
bisnis yang memanfaatkannya untuk mendapatkan kisaran nilai input yang sesuai.
Kategori terakhir, clustering large data dibutuhkan untuk melakukan clustering
pada data yang volumenya sangat besar sehingga tidak cukup ditampung dalam
memory komputer pada suatu waktu. Biasanya, untuk mengatasi besarnya volume data
dicari teknik-teknik untuk meminimalkan berapa kali algoritma harus membaca seluruh
data. Sebagian algoritma-algoritma yang banyak dipakai dan termasuk pada masingmasing kategori akan dibahas pada sub bab berikut ini.
2.2.2.1 Hierarchical Clustering
Hierarchical clustering memiliki beberapa keuntungan [BER02], antara lain:
•
Fleksibel terhadap tingkat granularity. Hasil clustering dapat dipotong pada
level dendogram tertentu sesuai kebutuhan.
•
Mudah mengadaptasi berbagai ukuran kemiripan atau jarak dan dengan
begitu dapat diaplikasikan ke barbagai tipe atribut.
Namun, metode ini juga memiliki beberapa kelemahan, yaitu ketidakjelasan kondisi
penghentian dan juga kebanyakan algoritma dalam kategori ini tidak meninjau ulang
cluster yang sudah terbentuk untuk memperbaiki kualitasnya. Beberapa algoritma yang
menggunakan metode ini adalah:
+
a. ROCK [GRS 99]
RObust Clustering using linKs (ROCK) dapat memproses data bersifat boolean
maupun categorical. Kemiripan diukur berdasarkan jumlah link di antara items di mana
sepasang items yang memiliki kemiripan di atas suatu batas tertentu disebut neighbors.
Jarak dihitung dengan Jaccard’s coefficient.
Algoritma ini terbagi ke dalam 3 bagian:
1. Mengambil random sample dari data
2. Melakukan clustering terhadap data dengan pendekatan link agglomerative di
mana item di-merge berdasarkan suatu ukuran yang telah didefinisikan
3. Membagi sisa data menggunakan clusters hasil langkah sebelumnya.
ROCK menerima input k banyak cluster yang akan dihasilkan dan memiliki
2
2
kompleksitas waktu O(n + nmmma +n log n) di mana mm adalah jumlah maksimal
Aplikasi dan analisis..., Andina Budiarti, FASILKOM UI, 2006
Halaman 10 dari 124
BAB 2 - LANDASAN TEORI
neighbors, ma adalah rata-rata jumlah neighbors dan n adalah jumlah item.
2
Kompleksitas ruang dari ROCK adalah O(min{n ,nmmma}). Kualitas cluster yang
dihasilkan ROCK lebih baik jika dibandingkan dengan algoritma centroid-based
hierarchical clustering tradisional dan ROCK juga memiliki skalabilitas yang bagus.
b. CHAMELEON [KHK+99]
Clustering
using
Dynamic
Modeling,
CHAMELEON,
berusaha
mengatasi
keterbatasan algoritma-algoritma agglomerative hierarchical sebelumnya yang bisa jadi
menggabungkan clusters yang tidak semestinya digabung karena data tidak sesuai
dengan suatu model yang diasumsikan oleh user atau jika banyak terdapat noise.
CHAMELEON dapat diaplikasikan ke semua tipe data selama suatu matriks ukuran
kemiripan (similarity matrix) dapat dibangun. CHAMELEON juga scalable karena
menggunakan graf k-nearest neighbor sebagai representasi set datanya. Secara
umum, cara kerja dan langkah-langkah CHAMELEON dapat digambarkan sebagai
berikut:
Gambar 3: Kerangka Kerja CHAMELEON [KHK+99, hal. 7]
CHAMELEON bekerja dalam 2 fase dengan menggunakan algoritma partisi graf,
+
misalnya yang diimplementasi dalam library hMeTis [KK 98], untuk membagi data
menjadi sub-clusters pada fase pertama dan kemudian melakukan merging pada subclusters tersebut menggunakan suatu dynamic framework.
2
Kompleksitas keseluruhan dari CHAMELEON adalah O(nm + n log n + m log m)
dengan n adalah banyak items dan m adalah banyak sub-cluster yang dihasilkan pada
fase pertama.
c.
COBWEB [FIS87]
COBWEB adalah suatu sistem incremental untuk hierarchical conceptual clustering
yang melakukan hill-climbing search berdasarkan ukuran kemiripan antar-items dan
melakukan clustering dengan mengorganisir data ke dalam suatu pohon klasifikasi.
Tipe data yang dapat ditangani COBWEB hanya tipe nominal. Secara umum, prosedur
yang dijalani adalah sebagai berikut.
Untuk tiap item dari set data dan sebuah pohon klasifikasi:
•
jika root adalah leaf, maka masukkan item ke dalam leaf baru
Aplikasi dan analisis..., Andina Budiarti, FASILKOM UI, 2006
Halaman 11 dari 124
BAB 2 - LANDASAN TEORI
jika root bukan leaf, maka cari anak dari root yang paling cocok untuk
•
menampung item tersebut dan kemudian lakukan salah satu dari langkahlangkat berikut ini:
menciptakan class baru
merging node lalu secara rekursif lakukan prosedur ini dengan
node yang di-merge sebagai root
splitting node lalu lakukan lagi prosedur ini
jika tidak ada satu pun langkah di atas dipilih, lakukan prosedur ini
lagi dengan anak yang terbaik dari root sebagai root.
Keputusan langkah mana yang akan dipilih ditentukan dari perhitungan 2 ukuran
berikut ini:
partitional utility
categorical utility
Tiap node yang dibentuk merepresentasikan suatu cluster. COBWEB yang bekerja
secara
incremental bekerja relatif
cepat
dengan
kompleksitas
linear
namun
kemungkinan menghasilkan pohon yang tidak seimbang.
+
d. SNN [ESK 03]
Algoritma Shared Nearest Neighbor (SNN) yang merupakan ekstensi dari DBSCAN
+
[EKSX 96] menggunakan pendekatan density-based untuk menemukan clusters dalam
bentuk, kemampatan, dan ukuran yang berbeda-beda pada data berdimensi tinggi yang
memiliki banyak outliers. SNN melakukannya dengan cara mencari nearest neighbors
dari tiap item lalu menghitung kemiripan antara pasangan-pasangan items berdasarkan
banyak nearest neighbors yang dimiliki keduanya sehingga dapat diidentifikasi core
points yang menjadi pusat pembentukan clusters. SNN menerima 3 jenis parameter
input, yaitu k (ukuran neighborhood list) yang menentukan granularitas clusters, MinPts
(banyak items dalam suatu cluster) dan Eps (nilai threshold untuk jarak antar-items).
Langkah-langkah algoritma SNN adalah sebagai berikut:
1. hitung similarity matrix sebagai dasar pembentukan similarity graph
2. renggangkan graf yang dihasilkan dengan hanya menyimpan k neighbors
yang paling mirip
3. bangun graf SNN dari graf yang telah direnggangkan
4. cari SNN density dari tiap item menggunakan parament Eps
Aplikasi dan analisis..., Andina Budiarti, FASILKOM UI, 2006
Halaman 12 dari 124
BAB 2 - LANDASAN TEORI
5. cari core point berdasarkan parameter MinPts
6. bentuk clusters berdasarkan core points tersebut
7. buang semua outliers
8. assign semua items yang bukan outliers maupun core ke clusters yang telah
terbentuk.
Langkah 4 – 8 di atas diadaptasi dari algoritma DBSCAN yang akan dibahas pada
2
bagian 2.2.2.3. Kompleksitas waktu dari algoritma SNN ini adalah O(n ) sementara
kompleksitas ruangnya adalah O(kn).
2.2.2.2 Partitional Clustering
Beberapa algoritma yang termasuk dalam kategori ini antara lain:
a. K-Means [HAR75]
Metode clustering ini adalah yang paling populer dalam aplikasi data mining
meskipun hanya bekerja pada data numerik. K-Means adalah algoritma clustering yang
secara iteratif memindahkan items di antara k buah cluster, dengan nilai k sebagai
input, berdasarkan suatu nilai rata-rata (mean) dari tiap cluster sampai hasil clustering
yang optimal didapatkan. Algoritma ini berhenti saat tidak ada atau sangat sedikit
perpindahan item di antara cluster atau hingga jumlah iterasi tertentu. Langkah-langkah
algoritma ini secara umum adalah:
1. assign item ke k cluster
2. hitung ulang nilai mean dari tiap cluster
3. ulangi langkah 1-2 hingga dicapai kondisi terminasi.
Algoritma ini memiliki beberapa varian dalam mencari ‘nilai’ representasi suatu
cluster, misalnya nilai modus dipakai untuk menggantikan mean dalam K-modes yang
dapat menangani categorical data atau medoid dalam K-medoids untuk mengatasi
+
outliers (dikenal juga dengan nama PAM, Partitioning Around Medoid [KR 90]).
Kompleksitas waktu untuk K-means adalah O(tkn) untuk jumlah iterasi t, jumlah cluster
k dan jumlah item n. Beberapa kelemahan algoritma ini antara lain [BER02] [DUN03]:
•
hasilnya sangat bergantung pada tebakan awal jumlah cluster yang tidak
mudah untuk ditentukan
•
kebanyakan algoritma ini hanya mendapatkan local optimum
•
sangat sensitif terhadap outliers
•
kurang scalable
•
hasil cluster bisa jadi sangat tidak seimbang
+
+
b. CLARA [KR 90] dan CLARANS [NH 94]
Clustering LArge Applications (CLARA) memperbaiki kinerja PAM dengan
menggunakan sample dari data set. Akurasinya juga ditingkatkan dengan cara
Aplikasi dan analisis..., Andina Budiarti, FASILKOM UI, 2006
Halaman 13 dari 124
BAB 2 - LANDASAN TEORI
mengambil beberapa sample untuk mendapatkan medoids yang terbaik dan kemudian
membagi sisa data berdasarkan medoids tersebut. Untuk basis data yang besar,
CLARA lebih efisien daripada PAM tapi kemungkinan lebih tidak efektif, tergantung dari
ukuran sample-nya.
Langkah-langkah algoritma CLARA:
1. ambil sample dengan 40+2k items secara acak dan aplikasikan algoritma
PAM pada sample untuk menemukan medoid dari tiap k cluster
2. untuk tiap item dalam data set, tentukan medoid mana yang paling mirip
dengannya
3. hitung perbedaan rata-rata dengan hasil clustering yang diperoleh dalam
iterasi sebelumnya. Jika nilainya lebih kecil dari nilai minimal sementara,
ganti nilai minimal dengan hasil perhitungan dan simpan medoids yang
ditemukan di langkah 2 sebagai yang terbaik sejauh ini
4. ulangi langkah 1 – 3 sejumlah nilai iterasi tertentu.
Clustering Large Applications based upon Randomized Search (CLARANS)
memperbaiki kinerja CLARA dengan menggunakan beberapa sample yang berbeda.
Sementara CLARA mengambil sample nodes di awal pencarian, CLARANS mengambil
sample neighbors di setiap tahap pencarian medoid. Untuk itu, CLARANS memerlukan
2 input tambahan, yaitu maxneighbor (jumlah neighbors yang bisa dibandingkan
terhadap suatu suatu node) dan numlocal (jumlah sample yang diambil, banyak
clustering). Semakin besar nilai maxneighbor, CLARANS akan semakin mirip dengan
PAM. Nilai terbaik untuk kedua input tambahan tersebut biasanya ditentukan dengan
eksperimen. Langkah-langkah algoritma CLARANS dalam mencari medoid:
Untuk setiap node,
1. set j = 1
2. bandingkan cost dari node yang sekarang (current) dengan 1 node lain
3. jika node yang baru memiliki cost yang lebih rendah, tukar node yang
sekarang
dengan
node
baru
dan
ulangi
proses
dari
awal
jika tidak, tambahkan nilai 1 ke j lalu periksa kondisi berikut:
jika j <= maxneighbor, ulangi langkah 2
jika j > maxneighbor, bandingkan cost dari current dengan nilai
mincost.
o
Jika current < mincost, ganti nilai mincost dengan nilai
current dan simpan current sebagai bestnode
o
Jika current >= mincost, ulangi proses dari awal.
3
Kompleksitas CLARA adalah O(k + nk) yang lebih efisien jika dibandingkan
dengan PAM, sedangkan CLARANS memiliki kompleksitas yang linear dengan banyak
items.
Aplikasi dan analisis..., Andina Budiarti, FASILKOM UI, 2006
Halaman 14 dari 124
BAB 2 - LANDASAN TEORI
c.
EM [MIT97]
Expectation-Maximation (EM) termasuk algoritma partitional yang berbasiskan
model yang menggunakan perhitungan probabilitas, bukan jarak seperti umumnya
algoritma clustering yang lain. Langkah-langkah algoritma EM adalah sebagai berikut:
1. Inisialisasi cluster centers sebanyak suatu nilai k
Nilai k bisa merupakan input dari user atau merupakan nilai yang didapatkan
dengan memanfaatkan penggunaan algoritma lain, misalnya K-Means, sebagai
dasar penentuan nilai awal k yang terbaik. Penentuan ini dapat dilandaskan
pada nilai k mana yang menghasilkan clusters dengan rata-rata jarak antar
items di dalamnya paling kecil.
2. Iterasikan 2 langkah yang menjadi dasar penamaan algoritma berikut sampai
mencapai suatu titik konvergensi yang telah ditentukan sebelumnya:
Langkah Expectation:
Memasukkan items ke clusters berdasarkan
Langkah Maximation:
Perkirakan parameter untuk model berdasarkan
Sebagai algoritma yang berdasarkan pada probabilitas, EM memiliki beberapa
karakteristik penting seperti berikut ini [BER02]:
•
menghasilkan sistem cluster yang relatif mudah diinterpretasikan
•
dapat diberhentikan dan dimulai kembali dengan kelompok data berturutan
karena clusters memiliki representasi yang berbeda dengan items di dalamnya
Eksekusi EM dapat diakselerasi dengan penggunaan indeks data spatial, misalnya
KD-tree. Algoritma ini memiliki kelemahan, yaitu kemungkinan tidak dapat mencapai
titik optimum global. Namun dalam praktiknya, titik konvergensi relatif cepat dicapai dan
dapat dijamin dengan menambahkan suatu fungsi optimasi. Kompleksitasnya adalah
O(kndl) untuk k clusters, l iterasi, n items dan d dimensi.
+
d. Bond Energy [ÖV 99]
Bond Energy Algorithm (BEA) menentukan bagaimana mengelompokkan data dan
menempatkannya secara fisik ke disk. Affinity atau bond di antara atribut-atribut basis
data didasarkan pada kesamaan penggunaan (common usage) dan digunakan dalam
clustering sebagai ukuran kemiripan. Oleh sebab itu, queries yang sering dilakukan
terhadap basis data tersebut harus diketahui terlebih dahulu. Hasil clustering dengan
Aplikasi dan analisis..., Andina Budiarti, FASILKOM UI, 2006
Halaman 15 dari 124
BAB 2 - LANDASAN TEORI
BEA dikenal dalam basis data sebagai vertical fragment yang masing-masing
bagiannya dapat disimpan di lokasi yang berbeda.
Langkah-langkah dasar BEA adalah:
1. bentuk matriks yang menyatakan frekuensi penggunaan bersama antara
atribut yang satu dengan yang lain
2. ubah matriks dari langkah sebelumnya menjadi Matriks Bond yang tiap nilai
di dalamnya menyatakan probabilitas atribut-atribut diakses bersamaan,
kemudian baris dan kolom dalam matriks ini diatur ulang sehingga atributatribut yang ‘mirip’ terletak berdekatan di dalamnya
3. tandai dan pisahkan area-area dalam matriks yang memiliki kemiripan
tinggi.
e. Algoritma Genetika
Salah satu representasi cluster yang mungkin diterapkan untuk clustering
menggunakan algoritma genetika adalah bit-map untuk tiap cluster yang mungkin
[DUN03]. Misalkan untuk basis data dengan 4 items {A, B, C, D}, salah satu solusi yang
mungkin adalah 2 cluster yang direpresentasikan dengan 1001 dan 0110. Solusi yang
baru dibentuk dari solusi sebelumnya dengan operasi crossover atau mutasi.
f.
Jaringan Syaraf Tiruan dan Self Organizing Map
Sifat jaringan syaraf tiruan yang menggunakan unsupervised learning untuk
mengelompokkan data-data yang mirip dapat dimanfaatkan untuk clustering. Terdapat
2 tipe dasar dari unsupervised learning, yaitu: noncompetitive dan competitive [DUN03].
Dalam Hebbian atau noncompetitive learning, bobot di antara 2 nodes diubah secara
proporsional terhadap kedua nilai keluaran, sementara dalam competitive learning yang
biasanya menggunakan 2 lapisan, nodes boleh berkompetisi dan pemenangnya yang
menentukan nilai keluaran.
Sebuah self organizing feature map (SOFM) atau self organizing map (SOM)
menggunakan competitive unsupervised learning dengan bobot awal diberikan secara
acak dan disesuaikan selama proses pembelajaran. Nodes akan mengelompok ke
dalam clusters berdasarkan kemiripan di antaranya. Contoh yang paling umum dari
SOM adalah Kohonen self-organizing map dengan 1 lapisan input dan 1 lapisan khusus
yang menghasilkan nilai-nilai keluaran yang saling berkompetisi. Nodes pada lapisan
khusus ini dipandang sebagai grid 2 dimensi berisi nodes dengan fungsi aktivasinya
yang masing-masing terhubung dengan tiap input node oleh suatu arc yang memiliki
suatu nilai bobot. Data dapat dimasukkan ke dalam banyak competitive nodes secara
paralel.
Aplikasi dan analisis..., Andina Budiarti, FASILKOM UI, 2006
Halaman 16 dari 124
BAB 2 - LANDASAN TEORI
2.2.2.3 Clustering Large Data
Dalam melakukan clustering pada data set yang sangat besar sehingga tidak
mungkin memproses data sekaligus dalam memory yang tersedia, diperlukan teknikteknik khusus untuk melakukan clustering secara efisien dan juga berkualitas. Berikut
adalah beberapa metode clustering yang dapat melakukannya.
a. BIRCH [ZRL+96]
Balanced Iterative Reducing and Clustering using Hierarchies (BIRCH) yang
bekerja hanya terhadap data numerik hanya memerlukan 1 kali scan terhadap
keseluruhan basis data untuk menghemat cost I/O. BIRCH bersifat incremental dan
hierarchical
serta
memiliki
teknik-teknik
untuk
menangani
outliers.
BIRCH
menggunakan clustering feature (CF) untuk merepresentasikan tiap cluster. CF
merupakan sebuah triple yang terdiri dari banyak item dalam cluster, jumlah items
dalam cluster dan jumlah dari kuadrat tiap item dalam cluster.
+
b. DBSCAN [EKSX 96]
Pendekatan Density-based Spatial Clustering of Application with Noise (DBSCAN)
adalah dengan membentuk cluster dengan ukuran dan density yang minimal. Density
didefinisikan sebagai minimal banyak items dalam suatu jarak tertentu dari items
lainnya. Dengan pendekatan ini, outliers akan tereliminasi karena tidak memiliki density
yang cukup untuk membentuk cluster. Cluster dengan bentuk yang tidak bulat juga
dapat ditemukan dengan algoritma ini.
DBSCAN menentukan
sendiri jumlah
cluster
yang
akan
dihasilkan,
tapi
memerlukan 2 input lain, yaitu:
•
MinPts: minimal banyak items dalam suatu cluster
•
Eps: nilai threshold untuk jarak antar-items yang menjadi dasar pembentukan
nighborhood dari suatu titik item.
Menurut definisi, ada 2 jenis titik (points) dalam suatu cluster: di dalam cluster (core
points) dan di tepian cluster (border points) di mana neighborhood dari border points
berisi jauh lebih sedikit items daripada neighborhood dari core points. Suatu border
point bisa jadi termasuk ke dalam lebih dari 1 cluster. Sebuah titik item dikatakan
directly density-reachable dari titik lainnya jika jarak di antara mereka tidak lebih dari
nilai Eps dan banyak titik dalam neighborhood-nya memenuhi nilai MinPts. Sebuah titik
item dikatakan density-reachable dari titik item yang lain jika ada suatu rantai yang
menghubungkan keduanya yang berisi hanya titik-titik yang directly density-reachable
dari titik-titik sebelumnya.
Algoritma DBSCAN bekerja dalam 2 langkah:
1. Pilih items dari set data yang memenuhi syarat core point sebagai seed
Aplikasi dan analisis..., Andina Budiarti, FASILKOM UI, 2006
Halaman 17 dari 124
BAB 2 - LANDASAN TEORI
2. Ambil semua items yang density-reachable dari seed untuk menghasilkan
clusters.
Tidak mudah untuk menebak nilai MinPts dan Eps yang tepat, tapi ada heuristik
yang dianjurkan,
yaitu dengan menggunakan sorted k-dist graph dan juga
memanfaatkan perkiraan persentase noise pada data. Implementasi DBSCAN dapat
memanfaatkan R*-tree untuk meningkatkan efisiensi. Kompleksitas waktu rata-rata dari
DBSCAN adalah O(n log n).
c.
CACTUS [GGR+99]
Clustering Categorical Data Using Summaries (CACTUS) melakukan generalization
pada definisi cluster dan jarak karena bekerja pada categorical data. Kemiripan dilihat
dari suatu nilai support dari 2 nilai atribut dalam suatu basis data. Algoritma CACTUS
tidak memerlukan jumlah cluster sebagai input. CACTUS mempunyai 2 karakter
penting, yaitu:
•
Hanya memerlukan 2 kali pembacaan set data keseluruhan sehingga cepat
dan memiliki skalabilitas tinggi
•
Dapat melakukan subspace clustering (menemukan clusters berdasarkan
sebagian dari seluruh atribut data)
CACTUS bekerja dalam 3 fase:
1. summarization: menghitung inter-attribute summaries dan intra-attribute
summaries dari data sehingga dapat diproses dalam memory.
2. clustering: menggunakan informasi summary untuk menemukan candidate
clusters.
3. validation: menentukan clusters yang sebenarnya.
2.2.2.4 Algoritma Lain
Beberapa algoritma clustering memanfaatkan kombinasi metode hierarchical dan
partitional maupun teknik-teknik lain sebagai optimalisasi untuk suatu permasalahan
tertentu. Berikut adalah sebagian di antara algoritma-algoritma tersebut.
+
a. CURE [GRS 98]
Clustering
Using
REpresentatives
(CURE)
merupakan
metode
campuran
hierarchical dan pertitional yang memiliki kekuatan dalam mengatasi outliers dan dapat
mengidentifikasi cluster yang memiliki bentuk yang tidak bulat (non-spherical) dan
memiliki variasi ukuran yang besar dengan cara merepresentasikan tiap cluster dengan
sejumlah titik yang dibentuk dengan memiilih titik-titik yang lumayan tersebar dari tiap
cluster dan memampatkannya ke tengah cluster berdasarkan suatu perbandingan
tertentu.
Langkah-langkah dari algoritma CURE adalah:
Aplikasi dan analisis..., Andina Budiarti, FASILKOM UI, 2006
Halaman 18 dari 124
BAB 2 - LANDASAN TEORI
1. Mengambil sample dari data
2. Partisi data ke dalam p bagian, masing-masing beranggotakan n/p untuk
mempercepat jalannya algoritma.
3. Cluster masing-masing partisi secara parsial dengan algoritma hierarchical.
4. Eliminasi outliers
5. Cluster keseluruhan sample menggunakan representasi dari masing-masing
cluster hasil dari langkah ke-3.
6. Cluster keseluruhan data menggunakan c titik untuk merepresentasikan tiap
cluster.
2
CURE memiliki kompleksitas waktu O(n log n) dan kompleksitas ruang O(n) yang
mungkin dicapai dengan penggunaan struktur data heap dan k-D tree. CURE juga
memiliki skalabilitas yang baik untuk menangani basis data yang besar.
b. OPTICS [ABKS+99]
Ordering Points to Identify the Clustering Structure (OPTICS) tidak menghasilkan
clusters secara eksplisit melainkan membuat dan menggambarkan suatu ordering yang
lebih jelas dari suatu basis data yang merepresentasikan struktur density-based
clustering-nya untuk kebutuhan anlisis clustering yang otomatis dan interaktif. Definisi
cluster dalam algoritma ini mirip dengan yang digunakan oleh DBSCAN.
2
Kompleksitas waktu OPTICS adalah O(n ) atau bisa dikurangi menjadi O(n log n)
jika menggunakan tree-based spatial index, seperti R*-tree, X-tree atau M-tree, bahkan
jika items diorganisasi dalam bentuk grid, kompleksitas waktu dapat ditekan menjadi
O(n).
2.2.2.5 Rangkuman Perbandingan Algoritma
Sebagai rangkuman dari penjelasan sebelumnya, berikut tabel perbandingan
algoritma-algoritma clustering dilihat dari sisi karakter, tipe data yang dapat diolah,
kompleksitas, kelebihan dan kekurangan masing-masing.
Aplikasi dan analisis..., Andina Budiarti, FASILKOM UI, 2006
Halaman 19 dari 124
BAB 2 - LANDASAN TEORI
a) Algoritma hierarchical
Algoritma
ROCK
Atribut
CHAMELEON
COBWEB
SNN
Tipe Data
boolean / nominal
semua tipe data selama
dapat dibangun similarity
matrix
nominal
semua tipe data selama
dapat dibangun similarity
matrix
Kompleksitas
Waktu
O(n2 + nmmma +n2 log n)
O(nm + n log n + m2 log m)
linear
O(n2)
Kompleksitas
Space/IO
O(min{n ,nmmma})
Karakter
khusus
Neighbor links,
Jaccard's coefficient
Kelebihan
skalabilitas
2
O(kn)
graf k-nearest neighbor
Kekurangan
Aplikasi dan analisis..., Andina Budiarti, FASILKOM UI, 2006
incremental, menggunakan
ukuran partitional utility dan
categorical utility
nearest naighbors
cepat
penanganan outliers,
dimensi tinggi dan bentuk
cluster alamiah
kemungkinan tree tidak
seimbang
Halaman 20 dari 124
BAB 2 - LANDASAN TEORI
b) Algoritma partitional
Algoritma
Atribut
K-Means
CLARA
CLARANS
EM
Tipe Data
numerik
semua tipe
data
semua tipe data
semua tipe data
Kompleksitas
Waktu
O(tkn)
O(k3 + nk)
linear
O(kndl) untuk k
clusters, l iterasi,
n items dan d
dimensi
Karakter
khusus
menggunakan nilai ratarata items dalam cluster,
dapat dimodifikasi untuk
menggunakan ukuran lain
sampling
untuk mencari
medoids
memanfaatkan
parameter
maxneighbor
menggunakan
perhitungan
probabilitas
Kelebihan
sederhana
Kekurangan
sangat bergantung pada
tebakan k, sering terjebak
di local optimum, sensitif
terhadap outliers, kurang
scalable, hasil bisa jadi
tidak seimbang
Bond Energy
Algoritma
Genetika
SOM
semua tipe data
semua tipe
data
semua tipe data
digunakan untuk
perancangan
distributed
database
menggunakan
crossover dan
mutasi
melakukan
pembelajaran
dengan
adaptasi bobot
Kompleksitas
Space/IO
Aplikasi dan analisis..., Andina Budiarti, FASILKOM UI, 2006
mungkin
terjebak dalam
local optimum
Halaman 21 dari 124
BAB 2 - LANDASAN TEORI
c) Algoritma untuk data besar
Algoritma
Atribut
Tipe Data
Kompleksitas
Waktu
Kompleksitas
Space/IO
BIRCH
semua tipe data
DBSCAN
semua tipe data
CACTUS
nominal
O(n log n)
Karakter
khusus
bersifat incremental
hierarchical, memanfaatkan
clustering features (CF)
menggunakan
parameter MinPts dan
Eps
dapat melakukan subspace
clustering
Kelebihan
penanganan outliers,
hanya perlu 1 kali scan
data
dapat menemukan
cluster yang tidak
bulat
skalabilitas (hanya
memerlukan 2 kali scan
data)
Kekurangan
d) Algoritma lain
Algoritma
Atribut
Tipe Data
Kompleksitas
Waktu
Kompleksitas
Space/IO
Karakter
khusus
Kelebihan
CURE
semua tipe data
2
O(n log n)
OPTICS
semua tipe data
O(n) sampai O(n2)
O(n)
sampling
menghasilkan struktur densitybased clustering
skalabilitas, penanganan
outliers dan cluster yang
tidak bulat
Aplikasi dan analisis..., Andina Budiarti, FASILKOM UI, 2006
Halaman 22 dari 124
BAB 2 - LANDASAN TEORI
2.3 Association Rules
Association rules adalah metode untuk menemukan hubungan di antara data [DUN03].
Meskipun tidak semua rule yang dihasilkan mencerminkan hubungan yang sebenarnya di dunia
nyata, metode ini dapat membantu mengenali pola-pola tertentu di dalam kumpulan data yang
besar, misalnya mengetahui pola pembelian barang di suatu supermarket di mana suatu barang
dibeli setiap kali suatu barang yang lain juga dibeli. Dalam penelitian ini, metode association
rules digunakan sebagai alat bantu untuk mengenali karakteristik tiap cluster yang dihasilkan
karena tanpanya, hasil clustering tidak mudah untuk diinterpretasikan. Ada beberapa algoritma
yang dapat digunakan untuk menemukan association rules, akan tetapi karena tugas akhir ini
tidak terfokus pada metode tersebut, maka akan digunakan satu algoritma yang biasa dipakai,
yaitu Apriori. Sebelum masuk ke penjelasan algoritma tersebut, akan dijelaskan dulu beberapa
konsep dasar dalam association rules.
2.3.1 Konsep Dasar
Data yang akan diolah dengan metode association rules dipandang sebagai
sekelompok tuple di mana masing-masing tuple terdiri dari sekelompok item. Contoh
tuple: {Selai, Roti, Keju}. Beberapa definisi yang berkaitan dengan konsep association
rules adalah:
a. Association Rule
Untuk suatu set items I = {I1, I2,…, Im} dan suatu basis data berisi tuples D = {t1, t2,
…, tn} di mana ti = { Ii1, Ii2,…, Ikm } dan Iij ∈ I, suatu association rule adalah sebuah
implikasi dalam bentuk X ⇒ Y di mana X, Y ⊂ I adalah set-set item yang disebut
itemsets dan X ∩ Y = ∅.
b. Support (s)
Support adalah persentase munculnya item(s). Support untuk suatu association
rule X ⇒ Y adalah persentase dari tuples dalam basis data yang berisi X ∪ Y.
c.
Confidence atau strength (α)
Confidence untuk suatu association rule X ⇒ Y adalah rasio dari jumlah tuples
yang mengandung X ∪ Y terhadap jumlah tuples yang mengandung X.
d. Large (frequent) Itemset
Suatu itemset yang jumlah kejadiannya di atas suatu batas s.
2.3.2 Apriori
Algoritma Apriori bekerja iteratif di mana iterasi ke-i mencari semua frequent iitemset (itemset dengan i elemen). Dalam tiap iterasi terdapat 2 tahap [KAN03]:
•
candidate generation
Pada tahap ini, algoritma mencari semua i-itemset yang memenuhi batas
nilai s.
Aplikasi dan analisis..., Andina Budiarti, FASILKOM UI, 2006
Halaman 23 dari 124
BAB 2 - LANDASAN TEORI
•
candidate counting
Tahap ini menemukan rule berdasarkan: {x1, x2, x3} ⇒ x4 adalah rule jika
kedua itemset {x1, x2, x3, x4} dan {x1, x2, x3} frequent.
2.4 Langkah-langkah Data Mining
Dalam melakukan data mining, terdapat sebuah panduan yang banyak dipakai dalam
dunia industri, yaitu Cross-Industry Standard Process for Data Mining (CRISP-DM) [OY+07],
yang merupakan suatu siklus yang terdiri dari 6 fase, yaitu:
1. Business Understanding: menentukan objektif bisnis, menelaah situasi sekarang ,
menentukan tujuan data mining dan membangung sebuah rencana proyek untuk
kegiatan data mining tersebut.
2. Data Understanding: tahap ini mencakup pengumpulan, pendekripsian dan
eksplorasi data serta verifikasi terhadap kualitas data. Eksplorasi data dapat
menggunakan metode statistika atau pun analisis cluster.
3. Data Preparation: pada tahap yang paling banyak memakan waktu ini dilakukan
pemilihan, pemurnian dan pengubahan format data sesuai dengan kebutuhan.
4. Modeling: berbagai perangkat lunak untuk data mining dapat digunakan dalam tahap
ini
untuk
memfasilitasi
visualisasi,
analisis
cluster
yang
lebih
mendalam,
pembangunan association rules awaldan juga pembagian data ke dalam kelompok
pelatihan dan pengujian jika dibutuhkan.
5. Evaluation: pada tahap ini dilakukan evaluasi terhadap semua yang sudah dihasilkan
pada tahap-tahap sebelumnya untuk mengidentifikasi kebutuhan-kebutuhan baru
yang perlu difasilitasi oleh proses data mining ini.
6. Deployment: pada tahap ini metode dan aplikasi yang telah disusun selama tahaptahap sebelumnya digunakan untuk kebutuhan operasional bisnis seiring juga
kegiatan pengawasan terhadap kondisi-kondisi operasional dan lingkungan bisnis
yang bisa menjadi dasar untu evaluasi ulang terhadap keseluruhan proses data
mining.
Gambaran kaitan antara tahap yang satu dengan lainnya dalam CRISP-DM dapat dilihat dalam
gambar berikut ini:
Aplikasi dan analisis..., Andina Budiarti, FASILKOM UI, 2006
Halaman 24 dari 124
BAB 2 - LANDASAN TEORI
Business
understanding
Data
understanding
Data preparation
Modeling
Evaluation
Deployment
Gambar 4: CRISP-DM [OY+07, hal. 21]
Dalam proses data mining dalam penelitian ini, akan mengikuti tahapan dari business
understanding hingga evaluation khususnya untuk domain data MTI. Tahap deployment tidak
termasuk karena mencakup pengembangan perangkat dan infrastruktur untuk fasilitas data
mining yang di luar lingkup pengerjaan tugas akhir ini.
Aplikasi dan analisis..., Andina Budiarti, FASILKOM UI, 2006
Halaman 25 dari 124
Download