analisis dan implementasi algoritma mind sebagai scalable

advertisement
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
Download