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