TUGAS AKHIR – CI1599
KLASTERISASI PADA SUBRUANG DENGAN
ALGORITMA PEMBOBOTAN ENTROPI PADA
K-MEANS PADA SPARSE DATA BERDIMENSI
TINGGI
AHMAD DENI DWI PRANOTO
NRP 5103 100 015
Dosen Pembimbing I
Rully Soelaiman, S.Kom., M.Kom.
Dosen Pembimbing II
Mediana Aryuni, S.Kom., M.Kom.
JURUSAN TEKNIK INFORMATIKA Fakultas Teknologi Informasi
Institut Teknologi Sepuluh Nopember Surabaya 2009
HALAMAN JUDUL
TUGAS AKHIR – CI1599
KLASTERISASI PADA SUBRUANG DENGAN
ALGORITMA PEMBOBOTAN ENTROPI PADA
K-MEANS PADA SPARSE DATA BERDIMENSI
TINGGI
AHMAD DENI DWI PRANOTO NRP 5103 100 015
Dosen Pembimbing I
Rully Soelaiman, S.Kom., M.Kom. Dosen Pembimbing II
Mediana Aryuni, S.Kom., M.Kom.
JURUSAN TEKNIK INFORMATIKA Fakultas Teknologi Informasi
Institut Teknologi Sepuluh Nopember Surabaya 2009
KLASTERISASI PADA SUBRUANG DENGAN
ALGORITMA PEMBOBOTAN ENTROPI PADA
FINAL PROJECT - CI1599
AN ENTROPY WEIGHTING K-MEANS ALGORITHM
FOR SUBSPACE CLUSTERING
OF HIGH-DIMENSIONAL SPARSE DATA
AHMAD DENI DWI PRANOTO NRP 5103 100 015
First Advisor
Rully Soelaiman, S.Kom., M.Kom. Second Advisor
Mediana Aryuni, S.Kom., M.Kom.
DEPARTMENT OF INFORMATICS Faculty of Information Technology Institut Teknologi Sepuluh Nopember Surabaya 2009
MEANS ALGORITHM
FOR SUBSPACE CLUSTERING
KLASTERISASI PADA SUBRUANG DENGAN ALGORITMA PEMBOBOTAN ENTROPI PADA K-MEANS PADA SPARSE DATA
BERDIMENSI TINGGI
HALAMAN PENGESAHAN
TUGAS AKHIR
Diajukan Untuk Memenuhi Salah Satu Syarat
Memperoleh Gelar Sarjana Komputer
pada
Bidang Studi Sistem Bisnis Cerdas
Program Studi S-1 Jurusan Teknik Informatika
Fakultas Teknologi Informasi
Institut Teknologi Sepuluh Nopember
Oleh:
AHMAD DENI DWI PRANOTO
Nrp. 5103 100 015
Disetujui oleh Tim Pembimbing Tugas Akhir:
1. Rully Soelaiman, S.Kom., M.Kom ...( Pembimbing 1)
2. Mediana Aryuni, S.Kom
., M.Kom...( Pembimbing 2)
SURABAYA, JULI 2009
HALAMAN PENGESAHAN
i
KLASTERISASI PADA SUBRUANG DENGAN ALGORITMA PEMBOBOTAN ENTROPI PADA K-MEANS PADA SPARSE DATA
BERDIMENSI TINGGI Nama Mahasiswa : Ahmad Deni Dwi Pranoto NRP : 5103 100 015
Jurusan : Teknik Informatika FTIF-ITS Dosen Pembimbing I : Rully Soelaiman, S.Kom., M.Kom. Dosen Pembimbing II : Mediana Aryuni, S. Kom., M.Kom.
ABSTRAKSI
Pembentukan klaster pada data berdimensi tinggi seringkali berada dalam subruang daripada diseluruh ruang. Sebagai contoh adalah klasterisasi pada data text, klaster-klaster dari dokumen dari topik yang berbeda dikategorikan dalam subset term atau kata kunci. Kata kunci untuk suatu klaster mungkin tidak akan muncul dalam dokumen klaster yang lain, hal ini merupakan permasalahan data sparsity yang dihadapi pada klasterisasi subruang dalam data berdimensi tinggi. Algoritma baru ini mengembangkan proses k-means untuk menghitung bobot masing-masing dimensi dalam klaster dan menggunakan bobot tersebut untuk mengidentifikasi subset dari dimensi yang penting yang mengkategorikan klaster yang berbeda. Hal ini didapatkan dengan memberikan nilai bobot entropi pada obyektif fungsi yang meminimalisasi proses klasterisasi pada k-means. Langkah penyelesaian ditambahkan terhadap k-means untuk menghitung secara otomatis bobot semua dimensi dalam klaster. Uji coba dalam bentuk sintetis data dan real data menunjukan bahwa algoritma baru dapat memberikan hasil klasterisasi yang lebih bagus jika dibandingkan dengan PROCLUS. Algoritma baru ini juga berskala terhadap dataset-dataset yang besar.
Kata Kunci : penggalian data ,variabel pembobot, Klasterisasi Pada
iii
AN ENTROPY WEIGHTING K-MEANS ALGORITHM FOR SUBSPACE CLUSTERING OF HIGH-DIMENSIONAL SPARSE
DATA
Student’s Name : Ahmad Deni Dwi Pranoto Student’s Number : 5103 100 015
Major of Department : Informatics FTIF-ITS
First Advisor : Rully Soelaiman, S.Kom., M.Kom. Second Advisor : Mediana Aryuni, S. Kom., M.Kom.
ABSTRACT
Clustering in high-dimensional data often exist in subspaces rather than in the entrire space. For example, in text clustering, cluster of documents of different topics are categorized by different subset of terms or keywords. The keywords for one cluster may not occur in the documents other clusters, this is data sparsity problem faced in clustering high-dimensional data. This new Algorithm extend the k-means process clustering to calculate a weight for each dimension in each cluster dan use the weight values to identify the subset of important dimensions that categorize different cluster. This is achieved by including the weight entropy in the objective function that is minimized in the k-means clustering process. An additional step is added to the k-means clustering porcess to automatically compute the weight of all dimension in each cluster. The experiments on both synthetic data and real data have shown that the new algorithm can generate better clustering results than PROCLUS. The new algorithm is also scalable to large data sets.
Key words : data mining, variabel weighting, Subspace Clustering, high-
v
KATA PENGANTAR
Bismillahirrahmanirrahim,
Syukur Alhamdulillah tak lupa penulis ucapkan kepada
Allah Yang Maha Besar atas segala kasih sayang dan karuniaNya
yang telah diberikan sehingga penulis dapat menyelesaikan Tugas
Akhir yang berjudul :
KLASTERISASI PADA SUBRUANG DENGAN
ALGORITMA PEMBOBOTAN ENTROPI PADA
K-MEANS PADA SPARSE DATA BERDIMENSI TINGGI
Penulis juga turut berterima kasih yang sebanyak-banyaknya
atas segala bantuan dari berbagai pihak selama pengerjaan Tugas
Akhir ini, khususnya kepada:
1.
Ibu dan Bapak yang selalu memberi semangat dan
mengirimkan doa dari rumah, beserta Mas Habib, mbak Yeni
dan Dik Lia yang selalu mendukung
2.
Bapak
Rully
Soelaiman,
S.Kom,
M.Kom,
selaku
pembimbing 1 atas segala bimbingan, motivasi serta
kesempatan yang telah diberikan sehingga Tugas Akhir ini
dapat terselesaikan dengan baik dan tepat pada waktunya
3.
Ibu Mediana Aryuni, S.Kom, M.Kom, yang pernah
memberikan pengarahan kepada penulis.
4.
Segenap Dosen serta Karyawan Teknik Informatika ITS
Surabaya
5.
Keluarga keduaku TC 2003, serta keluarga besar HMTC.
6.
Teman LAB IBS, NCC, AJK dan RPL yang telah membantu
kelancaran penyelesaian Tugas Akhir Ini
7.
Mas, mbak serta adek yang lucu-lucu yang selalu memberi
motivasi, inspirasi, dan bantuan baik doa maupun materil
8.
Serta pihak lainnya yang mungkin tidak dapat tersebutkan
vi
Penulis juga memohon maaf yang sebesar-besarnya apabila
dalam pengerjaan Tugas Akhir ini masih terdapat banyak kekurangan
dan kesalahan, oleh karena itu penulis sangat berharap agar segala
pertanyaan, kritik dan saran tentang Tugas Akhir ini dapat
dikirimkan melalui email ke
aa_deni_dp@yahoo.co.id
atau
ahmad_deni@webmail.cs.its.ac.id
.
Akhir kata, penulis hanya bisa berharap semoga Tugas Akhir
ini dapat memberikan manfaat untuk kita semua, terutama untuk diri
penulis sendiri, bangsa serta almamater.
Surabaya, Juli 2009
Penulis
vii
DAFTAR ISI
KATA PENGANTAR ... v
DAFTAR ISI ... vii
DAFTAR GAMBAR ... ix
DAFTAR TABEL ... xiii
BAB 1 PENDAHULUAN ... 1
1.1 LATAR BELAKANG ... 1
1.2 TUJUAN PEMBUATAN TUGAS AKHIR ... 2
1.3 PERUMUSAN MASALAH... 2
1.4 BATASAN MASALAH ... 2
1.5 METODOLOGI PERANCANGAN ... 3
1.6 SISTEMATIKA PENULISAN ... 4
BAB 2 TINJAUAN PUSTAKA ... 7
2.1 DASAR PENGGALIAN DATA ... 7
2.2 DASAR PEMBENTUKAN KLASTER ... 11
2.3 KLASTERISASI PADA SUBRUANG ... 13
2.3.1 Feature Transformation ... 15
2.3.2 Feature Selection ... 15
2.4 METODE PEMBENTUKAN KLASTER PADA SUBRUANG ... 16
2.4.1 Hard subspace Clustering ... 17
2.4.2 Soft Subspace Clustering ... 18
BAB 3 ALGORITMA PEMBENTUKAN KLASTER PEMBOBOTAN ENTROPI K-MEANS ... 19
3.1 PEMBOBOTAN ENTROPI K-MEANS ... 19
3.2 ALGORITMA EWKM ... 20
3.3 PARSIAL SOLUSI ALGORITMA EWKM ... 24
3.3.1 Update Partisi Matrik ... 24
3.3.2 Update Pusat Klaster ... 27
3.3.3 Update Bobot dimensi... 29
viii
4.1 DESAIN PERANGKAT LUNAK ... 33
4.1.1 Perancangan Data ... 33
4.1.2 Diagram Alir Aplikasi... 35
4.2 IMPLEMENTASI PERANGKAT LUNAK ... 41
4.2.1 Lingkungan Implementasi Perangkat Lunak ... 41
4.2.2 Kelompok Kelas yang Dibutuhkan ... 41
BAB 5 UJI COBA PERANGKAT LUNAK ... 75
5.1 LINGKUNGAN UJI COBA ... 75
5.2 PENGUJIAN DATA SINTETIS ... 76
5.2.1 Data yang Digunakan ... 76
5.2.2 Hasil Pengujian ... 76
5.3 PENGUJIAN DATA ASLI ... 82
5.3.1 Data yang Digunakan ... 82
5.3.2 Hasil Pengujian ... 83 BAB 6 PENUTUP ... 87 6.1 KESIMPULAN ... 87 6.2 SARAN ... 87 DAFTAR PUSTAKA ... 89 LAMPIRAN ... 91 BIODATA PENULIS ... 109
ix
DAFTAR GAMBAR
Gambar 2-1. Tahapan Data Mining ... 7
Gambar 2-2. Klaster pada Data R2 ... 12
Gambar 2-3. Dimensionality pada data set ... 14
Gambar 2-4. klasterisasi dengan subset ... 17
Gambar 3-1. fungsi baru K-Means dengan pembobotan entropi ... 20
Gambar 3-2. algoritma entropy weighting k-means ... 23
Gambar 3-3. Proses identifikasi obyek dalam klaster ... 25
Gambar 3-4. pseudo code update partisi matrik ... 27
Gambar 3-5. Proses update pusat klaster ... 28
Gambar 3-6. pseudo code update pusat klaster ... 29
Gambar 3-7. Proses update bobot dimensi ... 30
Gambar 3-8. pseudo code update bobot dimensi ... 32
Gambar 4-1. Dataset Input ... 34
Gambar 4-2. Diagram Global Alir Aplikasi... 36
Gambar 4-3. Diagram Alir Algoritma Pembobotan Entropi k-Means ... 37
Gambar 4-4. Diagram Alir Parsial solusi Partisi Matriks ... 38
Gambar 4-5. Diagram Alir Parsial solusi Pusat Klaster ... 39
Gambar 4-6. Diagram Alir Parsial solusi Bobot Dimensi... 40
Gambar 4-7. Inisialisasi variabel kelas InformationData ... 43
Gambar 4-8. Metode setDataInformation ... 43
Gambar 4-9. Metode getValueDataInformation ... 43
Gambar 4-10. Metode getDataInformation ... 43
Gambar 4-11. Metode getNumberData... 43
Gambar 4-12. Metode getNumberDimension ... 43
Gambar 4-13. Metode setClassName ... 44
Gambar 4-14. Metode getClassName ... 44
Gambar 4-15. Metode getNumberClass ... 44
Gambar 4-16. Metode setVectorName ... 45
Gambar 4-17. Metode getVectorName ... 45
Gambar 4-18. Inisialisasi Kelas PartitionMatriks ... 45
Gambar 4-19. Metode setInitialPartitionMatrix... 46
Gambar 4-20. Metode updatePartitionMatrix ... 46
Gambar 4-21. Metode getValuePartitionMatrix ... 47
Gambar 4-22. Metode getInitialPartitionMatriks ... 47
x
Gambar 4-24. Metode setInitialClusterCenter ... 48
Gambar 4-25. Metode updateClusterCenter ... 49
Gambar 4-26. Metode getValueClusterCenter... 49
Gambar 4-27. Metode getClusterCenter ... 49
Gambar 4-28. Inisialisasi Kelas DimensionWeight ... 50
Gambar 4-29. Metode setInitialDimensionWeight ... 50
Gambar 4-30. Metode updateDimensionWeight ... 51
Gambar 4-31. Metode getDimensionWeight ... 51
Gambar 4-32. Metode getDispObj2Clust ... 52
Gambar 4-33. Metode getDispOnUpdPM ... 52
Gambar 4-34. Metode getDispOnUpdDW ... 53
Gambar 4-35. Metode getAccuration ... 53
Gambar 4-36.Lanjutan Metode getAccuration ... 54
Gambar 4-37. Format Data Input dengan Tanda Koma ... 54
Gambar 4-38. Inisialisasi ... 55
Gambar 4-39. Metode openFile ... 55
Gambar 4-40. Metode readFile ... 56
Gambar 4-41. Lanjutan Metode readFile ... 57
Gambar 4-42. Metode getMinMax ... 58
Gambar 4-43. Data Hasil Normalisasi ... 59
Gambar 4-44. Metode getMinMaxNorm ... 59
Gambar 4-45. Metode getMinMaxNorm ... 60
Gambar 4-46. Diagram alir synthetic data ... 62
Gambar 4-47. Metode getGenerateRndNumDim ... 63
Gambar 4-48. Metode getGenerateRelvDImension ... 64
Gambar 4-49. Lanjutan Metode getGenerateRelvDImension... 65
Gambar 4-50. Lanjutan Metode getGenerateRelvDImension... 66
Gambar 4-51. Metode getGenerateIndex ... 67
Gambar 4-52. Metode getGenerateVariance ... 68
Gambar 4-53. Metode getGenerateMeans ... 69
Gambar 4-54. Lanjutan Metode getGenerateMeans ... 70
Gambar 4-55. Metode getGenerateNumPointCluster ... 71
Gambar 4-56. Metode getGenerateDataPoint ... 71
Gambar 4-57. Lanjutan Metode getGenerateDataPoint ... 72
Gambar 4-58. Lanjutan Metode getGenerateDataPoint ... 73
Gambar 5-1. Aasil Akurasi (data 16 dimensi) ... 78
Gambar 5-2. Hasil Akurasi (data 20 dimensi) ... 80
Gambar 5-3. Hasil Akurasi (data 24 dimensi) ... 80
xi
Gambar 5-5. Uji Akurasi pada 210 data ... 83
Gambar 5-6. Uji Waktu pada 210 data ... 84
Gambar 5-7. Uji Akurasi pada 2100 data ... 85
Gambar 5-8. Uji Waktu pada 2100 data ... 85
DAFTAR TABEL
Tabel 3-1. Parsial Solusi Partisi Matrik ... 25
Tabel 3-2. lanjutan Parsial Solusi Partisi Matrik ... 26
Tabel 3-3. Parsial Solusi Update Pusat Klaster ... 28
Tabel 3-4. Lanjutan Parsial Solusi Update Pusat Klaster ... 29
Tabel 3-5. Parsial Solusi Update Pusat Klaster ... 31
Tabel 4-1. Lingkungan Perangkat Keras. ... 41
Tabel 4-2. Lingkungan Perangkat Lunak ... 41
Tabel 4-3. Parameter untuk generate sintetic data ... 61
Tabel 5-1. Lingkungan Perangkat Keras Uji Coba... 75
Tabel 5-2. Lingkungan Perangkat Lunak Uji Coba ... 75
Tabel 5-3. Spesifikasi Input Parameter Data Sintetis ... 76
Tabel 5-4. Confusion Matrik EWKM untuk Uji Akurasi Data Sintetis ... 77
Tabel 5-5. Spesifikasi Parameter Input Algoritma ... 78
Tabel 5-6. Spesifikasi Parameter Input (Data 20 dimensi) ... 79
Tabel 5-7. Spesifikasi Parameter Input (Data 24 dimensi) ... 79
Tabel 5-8. Spesifikasi Data Segmentasi Citra dan parameter uji ... 82