Tugas Akhir - 2007 ANALISIS DAN IMPLEMENTASI ALGORITMA MIND SEBAGAI SCALABLE CLASSIFIER PADA BASIS DATA RELASIONAL DALAM DATA MINING Ossy Yuni Arcan¹, Dhinta Darmantoro², Suyanto³ ¹Teknik Informatika, Fakultas Teknik Informatika, Universitas Telkom Abstrak Teknologi informasi yang berkembang dengan cepat memungkinkan bagi banyak instansi atau perusahaan untuk mengumpulkan dan menyimpan data dengan jumlah yang sangat besar. Data mining merupakan suatu proses untuk mengekstrak dan menganalisis data dalam jumlah besar ini, untuk mendapatkan pola-pola yang menarik sehingga didapat pengetahuan dari data-data tersebut. Salah satu fungsionalitas data mining adalah klasifikasi, dimana proses ini adalah untuk menemukan suatu gambaran model yang membedakan kelas-kelas data, agar dapat memprediksi objek-objek yang kelasnya belum diketahui. Tugas Akhir ini mengimplementasikan algoritma MIND sebagai salah satu algoritma klasifikasi dengan decision tree untuk data dengan jumlah besar dan melakukan analisis terhadap performansi meliputi akurasi pengklasifikasian, waktu proses (waktu pengklasifikasian) dan skalabilitas, yang hasilnya dibandingkan dengan algoritma SPRINT. Implementasi ini sendiri dilakukan menggunakan SQL Server 2000 dan Delphi 6. Data yang digunakan untuk pengujian beragam mulai dari jumlah record sebanyak 57 sampai 3.163, jumlah atribut 10 sampai 28 dengan jenis atribut numerik dan kategoris dan kombinasi keduanya, dan juga menggunakan data sintetik untuk mengetahui skalabilitasnya. Hasilnya diperoleh bahwa algoritma MIND yang diimplementasikan ini terbukti memiliki tingkat akurasi yang lebih baik daripada SPRINT yaitu mampu menghasilkan akurasi 100% dimana tingkat akurasi tertinggi SPRINT hanya sampai 99,08%. Pohon keputusan yang dihasilkannya cukup baik dan mudah dimengerti. Namun waktu prosesnya lebih lambat daripada SPRINT hingga rata-rata 19,27 kali pada data dengan jumlah atribut banyak (mulai 20 atribut keatas). Untuk data banyak (dengan jumlah record 100.000 keatas), pengimplementasian algoritma MIND yang dibuat ini ternyata tidak mampu menghasilkan klasifikasi data sehingga hasil pengimplementasian ini belum scalable sebagai suatu tools pengklasifikasi data. Kata Kunci : data mining, algoritma MIND, klasifikasi, scalable classifier Abstract Information technology that has developed rapidly allows many companies to collect and store a very large amounts of data. Data mining is a process of extracting and analyzing this large amounts of data to obtain the interesting patterns of them, thus we can get knowledges from the data. One of the data mining functionalities is classification, which in this process is to find a description model that can classify the data, for the use of predicting objects that the class lable is still unknown. This final project implement the MIND algorithm as one of classification algorithm using decision tree for a very large amounts of data, and make an analysis to the performance of the algorithm implementation, which are the classification accuracy, processing time (classification time), and the scalability, where the results are compared to SPRINT algorithm. The implementation itself is done using SQL Server 2000 and Delphi 6. Data used in performance testing are varied from 57 to 3,163 records, and from 10 to 28 attributes, with numerical and categorical attribute types and also the combination of both, and synthetical data to figure out its scalability. The result we get that MIND algorithm implemented here is proven to have higher accuracy level than SPRINT for being able to give 100% accurate while SPRINT can only give highest accuracy at 99.08%. The decision tree result is sufficiently good and comprehensible. However, MIND algorithm implemented here has slower processing time than SPRINT on the average 19.27 times, for data with many attributes (20 attributes and higher). For large data (100,000 records and higher), the implementation using MIND algorithm made here is not capable to result data classification, therefore this implementation is not scalable yet as a data classification tool. Keywords : data mining, MIND algorithm, classification, scalable classifier Fakultas Teknik Informatika Powered by TCPDF (www.tcpdf.org) Program Studi S1 Teknik Informatika Tugas Akhir - 2007 BAB I PENDAHULUAN 1.1 Latar Belakang Teknologi informasi yang semakin berkembang memungkinkan bagi banyak instansi atau perusahaan untuk mengumpulkan dan menyimpan data dengan jumlah yang sangat besar. Bahkan banyak perusahaan yang mengumpulkan data-data yang berasal dari beragam sumber basis data relasional agar proses keputusan lebih cepat. Data-data ini memiliki pola-pola yang belum teruraikan, padahal dapat digunakan untuk manfaat dan tujuan tertentu. Data mining merupakan suatu proses untuk mengekstrak dan menganalisis data dalam jumlah besar ini sehingga menghasilkan informasi yang akhirnya dapat dipahami. Informasi yang diperoleh ini dapat digunakan untuk membentuk suatu prediksi, atau model klasifikasi, atau untuk mengenali hubungan antar record dalam basis data. Dengan kata lain ia akan mencari pola yang menarik dari sekumpulan data sehingga ditemukan pola yang dapat digunakan untuk mengarahkan sebuah keputusan, atau bisa juga sebagai inputan ke tahap selanjutnya. Ada beberapa fungsionalitas dalam data mining yang berguna untuk menspesifikasikan jenis pola yang akan diekstrak dalam data mining task. Salah satunya adalah klasifikasi, dimana pada proses ini ada sejumlah record yang disebut training set, yang terdiri atas banyak training example yang masing masing memiliki beberapa atribut, salah satu atributnya menunjukkan kelas untuk record (class label). Tujuan dari klasifikasi ini adalah untuk memproses training set dan menghasilkan classsifier yang memodelkan masing-masing kelas, kemudian model tersebut digunakan untuk mengklasifikasikan record yang kelasnya belum diketahui sebelumnya. Salah satu metode klasifikasi ini yaitu dengan menggunakan decision tree dimana training set dibagi-bagi secara rekursif hingga semua bagian mengandung seluruh record dari kelas yang sama. Banyak algoritma yang dibangun untuk klasifikasi ini. Suatu algoritma klasifikasi haruslah scalable; yaitu bahwa algoritma klasifikasi ini harus dapat bekerja dengan baik meskipun training set yang digunakan sangat banyak, karena dalam suatu aplikasi data mining wajar saja jika datanya bisa berjumlah bahkan hingga jutaan. Jumlah data yang tersedia dalam database yang diperlukan oleh pengguna untuk dianalisis sepanjang waktu I-1 Fakultas Teknik Informatika Program Studi S1 Teknik Informatika Tugas Akhir - 2007 Bab 1 - Pendahuluan semakin bertambah besar dan meluas, dibandingkan dengan perkembangan kapasitas memori,oleh karena itu diperlukan pula algoritma klasifikasi yang akurat, dan tentu saja scalable dengan mempertimbangkan peningkatan ketersediaan data tersebut. MIND (MINing in Databases) adalah algoritma klasifikasi decision tree, dengan menggunakan relational calculus SQL sehingga memungkinkan classifier ini dibangun secara langsung dalam sebuah sistem basis data relasional. Dengan begitu fungsi klasifikasi langsung ditangani oleh relational database manager dan menghilangkan extra-cost terhadap I/O. 1.2 Rumusan Masalah Pada Tugas Akhir ini permasalahan yang menjadi objek pembahasan antara lain bagaimana klasifikasi data dengan algoritma MIND yang merupakan algoritma klasifikasi untuk data dengan jumlah besar dan memungkinkan dibangun langsung pada basis data relasional, dan bagaimana mengimplementasikan algoritma ini. Kemudian bagaimana performansi algoritma MIND dibandingkan dengan algoritma klasifikasi lainnya yaitu algoritma SPRINT, meliputi akurasi/ketepatan klasifikasi, waktu pengklasifikasian (classification time), dan skalabilitasnya. 1.3 Tujuan Tugas Akhir Hal-hal yang ingin dicapai melalui penulisan Tugas Akhir ini antara lain: 1. Membahas klasifikasi menggunakan algoritma MIND. 2. Merancang dan membangun perangkat lunak klasifikasi pada basis data relasional menggunakan algoritma MIND. 3. Melakukan analisa terhadap perangkat lunak yang dibangun, yaitu performansi dari penggunaan algoritma MIND dalam hal akurasi / ketepatan klasifikasi, waktu pengklasifikasian (classification time), dan skalabilitas. 1.4 Batasan Masalah Agar penelitian Tugas Akhir ini dapat dipahami sesuai dengan tujuan yang hendak dilakukan maka perlu adanya pembatasan-pembatasan sebagai berikut : 1. Tidak membahas sistem data mining secara keseluruhan, hanya klasifikasi menggunakan algoritma MIND. I-2 Fakultas Teknik Informatika Program Studi S1 Teknik Informatika Tugas Akhir - 2007 Bab 1 - Pendahuluan 2. Dataset yang akan digunakan adalah dataset yang diperoleh dari UCI Machine Learning Repository, dan data sintetik yang dihasilkan oleh data generator. 3. Tidak menangani tahap pre-processing terhadap data. 4. Tabel input telah tersedia dalam database. 1.5 Metodologi Penulisan Dalam penyelesaian masalah pada Tugas Akhir ini dilakukan langkah-langkah sebagai berikut : 1. Penelusuran dan studi literatur, yaitu tahap perluasan wawasan dari berbagai sumber (buku, artikel, internet, dsb). 2. Perumusan masalah, yaitu mengenali masalah yang dikaji sebagai hasil dari studi literatur. 3. Pengumpulan data-data yang menunjang Tugas Akhir. 4. Melakukan analisis awal dan perancangan perangkat lunak. 5. Melakukan implementasi terhadap rancangan perangkat lunak. 6. Tahap pengujian perangkat lunak menggunakan dataset yang ada. 7. Analisis dan evaluasi hasil uji, mengamati ketepatan klasifikasi, dan pengukuran performansi dengan membandingkan hasilnya dengan algoritma SPRINT. I-3 Fakultas Teknik Informatika Powered by TCPDF (www.tcpdf.org) Program Studi S1 Teknik Informatika Tugas Akhir - 2007 BAB V KESIMPULAN DAN SARAN 5.1 Kesimpulan Dari hasil pengimplementasian algoritma MIND yang dibuat maka dapat diambil kesimpulan-kesimpulan sebagai berikut : 1. Dari seluruh hasil pengujian yang telah dilakukan didapati bahwa algoritma MIND yang telah diimplementasikan ini memiliki keunggulan dimana tingkat akurasinya lebih tinggi yaitu dapat memberi akurasi 100% dalam setiap pengujian, dimana SPRINT memberi akurasi tertinggi pada tingkat akurasi 99,08% yaitu pada kasus “Thyroid Disease”. 2. Waktu proses algoritma MIND yang telah diimplementasikan ini lebih lambat dibanding SPRINT. Pada pengujian menggunakan data nyata, kasus “Thyroid Disease” memiliki perbedaan waktu terbesar dimana implementasi algoritma MIND ini 21,99 kali lebih lama daripada SPRINT. Hal ini disebabkan dalam implementasi ini pada proses penghitungan gini tidak seluruhnya dapat dilakukan di dalam database sehingga menambah waktu proses. 3. Waktu pembangunan pohon keputusan bergantung sekali dengan jumlah atribut dan bervariasinya values atribut karena algoritma MIND harus mengakses tabel training sebanyak n kali ( n = jumlah atribut) untuk tiap level pertumbuhan pohonnya. Dari hasil pengujian menggunakan data sintetik, mulai data dengan jumlah atribut 20 keatas rata-rata memakan waktu 19,27 kali lebih lama daripada SPRINT. 4. Pohon keputusan yang dibangun oleh MIND cukup baik dan mudah dimengerti, meskipun untuk data banyak dan bervariasi pohon keputusan yang dihasilkan berukuran besar karena belum adanya pemangkasan terhadapnya. 5. Untuk data banyak (dengan jumlah record 100.000 keatas) algoritma MIND yang diimplementasikan ini tidak mampu menghasilkan klasifikasi data karena dalam prosesnya lingkungan pengujian mengalami low memory, sistem berhenti dan menampilkan pesan “timeout expired”. Dengan demikian dapat dikatakan bahwa dari hasil pengujian, pengimplementasian algoritma MIND yang dibuat ini belum scalable sebagai suatu tools pengklasifikasi data. V-1 Fakultas Teknik Informatika Program Studi S1 Teknik Informatika Tugas Akhir - 2007 Bab 5 – Kesimpulan dan Saran 5.2 Saran Dalam pengembangan selanjutnya diharapkan proses MIND seluruhnya dapat dilakukan dalam database dengan menggunakan fungsi-fungsi yang dibangun dalam database terutama dalam penghitungan gini, dan juga bagaimana agar dalam pembuatan DIM dapat dilakukan dengan cukup sekali mengakses tabel training bisa mendapatkan seluruh DIM bagi tiap atribut data, sehingga memungkinkan waktu proses terhadap data akan bisa berkurang. Agar pohon keputusan yang dihasilkan lebih kecil dapat dilakukan pemangkasan terhadap tree yang telah dibangun. V-2 Fakultas Teknik Informatika Powered by TCPDF (www.tcpdf.org) Program Studi S1 Teknik Informatika Tugas Akhir - 2007 DAFTAR PUSTAKA [1] Bala Iyer, Min Wang, and J.S. Vitter. “Scalable Mining for Classification Rules in Relational Databases”. Proceedings of International Database Engineering and Applications Symposium (IDEAS'98), Cardiff, Wales, U.K., July 1998. [2] Chaerudin, M. “Implementasi dan Analisa Algoritma SPRINT sebagai Sebuah Classifier Pohon Keputusan yang Scalable pada Data Mining”. STT Telkom. 2005. [3] Fayyad U.M., Piatetsky-Shapiro G., P. Smyth, R. Uthurusamy. “Advance in Knowledge Discovery and Data Mining”. MIT Press, Cambridge MA. 1996. [4] Giuffrida, G., Wesley W. Chu, and D.M. Hanssens. “Mining Classification Rules from Datasets with Large Number of Many-Valued Attributes”. www.cs.ucla.edu/tech-docs, UCLA, USA. 2000. [5] Han, J. and M. Kamber. “Data Mining : Concepts and Techniques”. Morgan Kaufmann. USA. 2001. [6] Pramudiono, Iko. “Pengantar Data Mining”. www.ilmukomputer.com. 2003. [7] Pressman, Roger S. “Software Engineering : A Practitioner’s Approach”. Mc Graw-Hill, inc. USA. 1997. [8] Rissanen, J., M. Mehta, and R. Agrawal. “SLIQ : A Fast Scalable Classifier for Data Mining”. In Proceedings of the 5th International Conference on Extending Database Technology. Avignon, France, March 1996. [9] Shafer, J.C., R. Agrawal, and M. Mehta. “SPRINT : A Scalable Parallel Classifier for Data Mining”. In Proceedings of the 1996 International Conference on Very Large Databases. Mumbai, India, September 1996. [10] Sucahyo, Ridho Giri. “Data Mining : Menggali Informasi yang Terpendam”. www.ilmukomputer.com. 2001. [11] UCI Machine Learning Repository. http://www.ics.uci.edu/~mlearn/MLRepository.html. 2005. Fakultas Teknik Informatika Powered by TCPDF (www.tcpdf.org) Program Studi S1 Teknik Informatika