Sunteți pe pagina 1din 12

Asas Perlombongan Data

Mohd Shamrie Sainin Kumpulan Kecenderungan Kepintaran Buatan (AISIG) Jabatan Sains Komputer, Fakulti Teknologi Maklumat Universiti Utara Malaysia 06010 Sintok Kedah, Malaysia Pengenalan Perlombongan data merupakan satu bidang yang telah berkembang hasil daripada maklumat dan data yang semakin bertambah. Ia adalah salah satu daripada cabang kepintaran buatan yang bertujuan untuk mendapatkan pengetahuan tertentu daripada maklumat yang ada. Kita telah mengumpulkan pelbagai jenis data hasil daripada teknologi yang semakin maju seperti mesin pengimbas, komputer, atau perkakasan simpanan data seperti cakera keras. Antara contoh data yang telah kita kumpulkan ialah transaksi perniagaan, rekod pelajar, video dan gambar, data permainan (sukan) dan sebagainya. Data yang kita kumpulkan ini sebenarnya mempunyai sesuatu maklumat lain yang kita boleh jadikan sebagai petunjuk atau teladan kepada kehidupan kita yang akan datang. Walau bagaimanapun data yang terlalu banyak menyukarkan kita untuk mendapatkan apa sebenarnya yang kita perlukan. Daripada data tersebut kita sebenarnya boleh gunakan untuk mendapatkan pengetahuan yang baru dan seterusnya membolehkan kita merancang keadaan yang lebih teratur pada masa depan. Sebagai contoh sesebuah pasukan bola sepak boleh menggunakan data permainan yang telah lepas dan menelitinya bagi mendapatkan faktor-faktor yang membolehkan pasukan tersebut menang. Faktor seperti lokasi permainan (tempat lawan atau sendiri), keadaan cuaca, tahap kesihatan pemain, bilangan pemain dikenakan denda dan sebagainya boleh dianalisis dari segi hubungan apakah yang menyebabkan pasukan tersebut menang atau kalah. Selain daripada contoh di atas, data proses pembuatan keputusan seperti sama ada menerima atau menolak permohonan kad kredit atau pinjaman kewangan juga memperlihatkan konsep terdapat satu garis panduan atau kaedah tertentu yang digunakan dalam memberikan keputusan. Pihak bank mungkin mengambilkira pelbagai faktor dan ciri daripada pemohon untuk dipastikan sama ada ia layak atau tidak. Daripada data pemohon yang telah diklasifikasikan layak dan tidak layak, ia boleh digunakan untuk membina satu model pengetahuan iaitu apakah faktor atau sifat orang yang diberikan kelayakan dan tidak. Terdapat banyak lagi aplikasi perlombongan data iaitu dalam bidang seperti:

Pemasaran Kewangan bantuan pelaburan Keselamatan mengenalpasti penipuan (Contoh: kad kredit dan penggunaan telefon) Perubatan bantuan diagnosis, klasifikasi dan ramalan Pembuatan rancangan bahan dan pengoptimuman Kejuruteraan pengecaman corak dan pemprosesan isyarat Internet enjin carian, e-dagang

Penemuan Pengetahuan dalam Pangkalan Data Secara praktikal, penemuan pengetahuan dan perlombongan data digunakan secara sinonim oleh kebanyakan penyelidik dalam bidang ini. Walau bagaimanapun terdapat sedikit beza di antara keduanya dari segi teori. Penemuan Pengetahuan dalam Pangkalan Data ialah satu proses keseluruhan dalam mendapatkan pengetahuan daripada data. Ia melibatkan beberapa langkah yang penting untuk memastikan pengetahuan yang diperolehi adalah relevan. Ia melibatkan proses untuk mengestrak maklumat yang mungkin berguna, tersirat dan sebelum ini tidak diketahui daripada satu koleksi data yang besar. Manakala, perlombongan data pula adalah kaedah yang menerangkan perolehan pengetahuan dan corak yang berguna daripada data. Dalam proses penemuan pengetahuan, perlombongan data merupakan salah satu proses yang terpenting untuk mendapatkan pengetahuan. Jadual 1: Perbezaan di antara perlombongan data dan KDD (Fayyad, et al., 1996) Perlombongan data Perlombongan data ialah satu langkah dalam proses penemuan pengetahuan yang terdiri daripada analisis data dan algoritma penemuan di mana, dalam kekangan pengkomputan yang boleh diterima ia akan menghasilkan beberapa corak tertentu daripada data. Penemuan Pengetahuan KDD ialah proses menggunakan pangkalan data bersama-sama dengan keperluan pemilihan, pra-pemprosesan, pensampelan, dan penukaran data; menggunakan kaedah perlombongan data (algoritma) untuk mendapatkan corak dan seterusnya membuat penilaian hasil perlombongan data bagi mengenalpasti corak yang mempunyai pengetahuan.

Penemuan pengetahuan sebenarnya tidak hanya menggunakan teknik kepintaran buatan tetapi adalah disokong oleh pelbagai elemen sebagai contohnya:

Sistem pangkalan data Teori capaian maklumat Pengkomputan berkeupayaan tinggi Teknik persembahan visual Statistik

Gambarajah 1 menunjukkan beberapa bidang yang terlibat dalam penemuan pengetahuan dalam pangkalan data.

Gambarajah 1: Bidang yang terlibat dalam Penemuan pengetahuan dalam pangkalan data Proses Penemuan Pengetahuan dalam Pangkalan Data Penemuan pengetahuan mempunyai beberapa langkah penting dalam mendapatkan pengetahuan yang berguna. Langkah tersebut terdiri daripada:

Perolehan dan pengumpulan data Pembersihan data Pemilihan dan pra-pemprosesan Perlombongan data Penilaian pengetahuan Penggunaan pengetahuan

Gambarajah 2 di bawah menunjukkan proses yang terlibat dalam proses penemuan pengetahuan.

Gambarajah 2: Proses dalam penemuan pentgetahuan dalam pangkalan data Pengumpulan data Dalam dunia kini yang semakin maju dari segi teknologi, kita sebenarnya telah mengumpulkan terlalu banyak data sehinggakan konsep e-Kerajaan, e-Dagang, e-Buku dan sebagainya telah digunakan untuk mengurangkan kebergantungan terhadap penggunaan kertas. Sebaliknya kita telah melihat perkembangan dalam teknologi penyimpanan data yang semakin canggih. Bermula daripada pita, kemudian cakera liut sehinggalah kini pengeluar berlumba dalam menghasilkan sotoran cakera keras yang mempunyai kapasiti penyimpanan lebih besar. Tidak hairan juga storan seperti 'HandyDrive' semakin diterima dalam masyarakat yang mahukan mobiliti yang lebih luas dengan kapasiti yang boleh mencapai sehingga gigabait. Terdapat pelbagai sumber data yang kita kumpulkan hasil daripada teknologi pengumpulan data sedia ada contohnya:

Transaksi perniagaan Video dan gambar Data saintifik

Data perlawanan (contoh: bola sepak) Log tetamu (Pelayan) Data pelajar Data penduduk negara dan sebagainya.

Setiap data yang dinyatakan di atas mungkin disimpan dalam pelbagai bentuk seperti Sistem Pengurusan Pangkalan Data (RDBMS), fail teks dan sebagainya. Bagi sistem perlombongan data yang menyeluruh, sumber-sumber data di atas akan dikumpulkan kepada satu bentuk pangkalan data yang besar dinamakan sebagai gudang data.Gudang data ialah koleksi data yang besar dan biasanya dikendalikan secara berasingan daripada data operasi dalam satu-satu organisasi. Ia digunakan untuk membantu dalam proses penyelesaian masalah dengan menyediakan data tertentu apabila diperlukan. Disebabkan data adalah merupakan subjek atau masalah utama bagi perlombongan data, pengumpulan data adalah perlu kerana kualiti perlombongan data adalah berteraskan kepada data yang dikumpulkan tersebut. Pemilihan dan pra-pemprosesan Sebelum perlombongan data dapat dilakukan, data sasaran perlu dikenalpasti. Maka dengan sebab itulah domain terhadap suatu aplikasi perlu difahami terlebih dahulu. Ini termasuklah matlamat aplikasi dan jenis pengetahuan yang hendak diketahui. Sebagai contoh data sebuah universiti mempunyai pelbagai data termasuklah data pelajar dan data staf. Data pelajar pula mungkin terdiri daripada latarbelakang, pendaftaran kursus, profail kesihatan, keputusan peperiksaan dan sebagainya. Keputusan peperiksaan pula mungkin terdiri daripada keputusan peperiksaan semester satu, dua dan sebagainya. Seterusnya keputusan peperiksaan semester satu mungkin dipecahkan lagi kepada subjek-subjek yang diambil oleh pelajar tersebut. Andaikan bahawa pengetahuan yang hendak diperolehi adalah mengenai faktor-faktor yang mempengaruhi pelajar dalam keputusan peperiksaan TA1013 (Pengaturcaraan Awalan). Dalam kes ini, sudah tentu data berkenaan dengan latarbelakang pelajar, keputusan peperiksaan pelajar terdahulu yang telah mengambil subjek tersebut dan juga data terkini pelajar adalah diperlukan untuk tujuan mendapatkan pengetahuan. Konsep utama yang selalu dibincangkan dalam perlombongan data ialah pra-pemprosesan data iaitu mengenai kebersihan data. Data dunia sebenar adalah tidak bersih kerana beberapa faktor seperti:

mungkin terdapatnya data yang hilang semasa proses mengisi pangkalan data, ciri atau atribut yang tidak mencukupi mempunyai banyak ralat (kesalahan data semasa proses kemasukan data) mempunyai data yang tidak konsisten (contoh: nama dan kod)

Disebabkan oleh faktor inilah pra-pemprosesan dianggap proses yang sangat penting dalam perlombongan data kerana jika data tidak berkualiti maka pengetahuan yang akan diperolehi juga tidak berkualiti. Terdapat beberapa kaedah dalam pra-pemprosesan termasuklah pembersihan data, integrasi data, transformasi data, dan pengurangan data. Ringkasan kaedah ini ditunjukkan dalam jadual 2 di bawah.

Jadual 2: Kaedah pra-pemprosesan Kaedah Kegunaan Pembersihan Bertujuan untuk menyingkirkan atau data membetulkan data yang mempunyai ralat, hilang, tidak konsisten, dan rekod bertindih. Integrasi Berkenaan dengan analisis data yang data mempunyai masalah seperti jenis data, nilai data, rekod yang bertindih, atribut yang bertindih dah skema penamaan atribut yang tidak sama. Penukaran Bertujuan untuk menukar, meringkas, atau data penskalaan semula data kepada bentuk atau perwakilan tertentu. Penting kerana kaedah perlombongan data yang tertentu mungkin memerlukan jenis data yang telah diringkas atau ditukar kepada skala yang lebih kecil. Terdiri daripada: Smoothing Aggregation Generalization Normalization Contoh Penggunaan Kaedah Binning, Pengelompokan, Regresi. Jika CID = C_number = Cust_ID = cust# maka berikan satu skema penamaan yang jelas. Kaedah Binning, Min-Max Normalization, Z-Score Normalization, DecimalScaling.

Discretization Penguranga Gudang data mempunyai data yang sangat Data cube reduction, n Data besar dan jika semua data digunakan maka ia Dimensionality reduction, memerlukan masa yang sangat lama untuk Discretization, Decision mendapatkan keputusan. Oleh itu tree (mendapatkan atribut pengurangan data adalah perlu supaya set data yang perlu sahaja) yang digunakan mampu menghasilkan keputusan analitikal yang sama dengan set data yang lebih besar.

Perlombongan Data Proses yang seterusnya dalam penemuan pengetahuan ialah perlombongan data. Seperti yang telah diterangkan sebelum ini, perlombongan data ialah kaedah yang digunakan untuk mengekstrak atau mendapatkan corak tertentu daripada data yang boleh dijadikan pengetahuan. Perlombongan data melibatkan proses pembinaan model secara berulang menggunakan kaedah tertentu. Kaedah tersebut dianggap sebagai kaedah pintar iaitu melibatkan algoritma pembelajaran terhadap data. Proses perlombongan data sebenarnya menggunakan konsep pembelajaran mesin, statistik dan teknik persembahan keputusan supaya hasil yang diperolehi dapat difahami dengan mudah oleh manusia (J. Palous, 2002).

Terdapat tiga perkara utama yang perlu dikenalpasti dalam perlombongan data iaitu:

Menentukan jenis model yang hendak dibina Pemilihan algoritma atau fungsi perlombongan data Pembinaan model menggunakan data latihan, data ujian dan data pengesahan

Model yang hendak dibina daripada data adalah berdasarkan kepada jenis tugas perlombongan data. Antara tugas perlombongan data yang popular ialah peramalan, klasifikasi, pengelompokan, hubungan dan korelasi (Hilderman dan Hamilton, 1999, Han dan Kamber, 2000). Ringkasan tugas perlombongan data adalah diterangkan dalam jadual 3 berikut. Jadual 3: Tugas perlombongan data Tugas Peramalan Contoh Ramalan nilai jualan untuk minggu seterusnya berdasarkan data yang ada. Klasifikasi Mengatur atau memberikan kelas kepada Pengkelasan pelajar data berdasarkan kepada atribut berdasarkan kepada keputusan peperiksaan. Pengelompokan Mengumpulkan data-data kepada kumpulan Mendapatkan kumpulan mengikut corak dan ciri data. tertentu daripada taburan data corak perbelanjaan. Hubungan Kajian terhadap kebersandaran dan Mendapatkan frekuensi hubungan setiap elemen dalam pangkalan item yang selalu dibeli data yang bersifat transaksi. bersama dalam semua transaksi dan mendapati bahawa (cth.): Roti selalu dibeli bersama-sama dengan jem. Pemilihan algoritma perlombongan data adalah berdasarkan kepada dua faktor iaitu pembelajaran terselia dan pembelajaran tanpa seliaan. Pembelajaran terselia dalam perlombongan data ialah kaedah yang mementingkan konsep sasaran dalam data, di mana konsep sasaran tersebut dijadikan sebagai panduan untuk mengetahui hubungan di antara atribut yang terlibat dengan konsep sasaran tersebut. Klasifikasi dan peramalan adalah contoh tugas perlombongan data yang bersifat pembelajaran terselia. Manakala pembelajaran tanpa seliaan ialah kaedah perlombongan data yang tidak mempunyai konsep sasaran dalam data. Kaedah ini akan melihat kepada corak data dan kaitan di antara data supaya ianya dapat di letakkan dalam kumpulan tertentu. Pengelompokan adalah contoh terbaik bagi kategori ini. Antara teknik perlombongan data yang popular ialah pohon keputusan, rangkaian neural, bayesian, berasaskan contoh dan sebagainya. Apakah teknik yang perlu digunakan dalam perlombongan data? Sebagai proses yang berterusan dalam penemuan pengetahuan, objektif utama perlombongan data ialah Kegunaan Mermal keadaan masa depan berdasarkan kepada data lepas

menggunakan algoritma dalam mendapatkan corak dan pengetahuan terhadap data yang telah diproses. Tidak semua algoritma penemuan pengetahuan sesuai untuk satu-satu data, ini kerana setiap algoritma tersebut memerlukan kaedah penyediaan data atau format tertentu. Pemilihan pembelajaran sama ada terselia atau tidak adalah bergantung kepada data yang telah disediakan dan jenis pengetahuan yang akan dicapai. Sebagai contoh jika data mempunyai data yang hilang dan teknik normalisasi data telah dilakukan maka rangkaian neural boleh digunakan kerana rangkaian neural boleh memproses keadaan data sedemikian. Manakala pohon keputusan tidak boleh digunakan kerana pohon keputusan sensitif kepada kesalahan data di samping keputusan yang tidak memuaskan. Terdapat banyak lagi keadaan bagaimana untuk memilih algoritma tertentu dan ia diterangkan dengan lebih jelas dalam bidang pembelajaran mesin. Pembelajaran mesin merupakan kajian terhadap algoritma pembelajaran yang boleh digunakan dalam perlombongan data. Ini termasuklah jenis data dan bilangan data dan bentuk perwakilan yang diperlukan bagi menentukan bahawa penggunaan algoritma tertentu adalah sesuai. Setelah teknik atau algoritma penemuan pengetahuan dipilih, perkara seterusnya dalam proses perlombongan data ialah menggunakan teknik tersebut kepada data. Pada peringkat ini, biasanya data akan dibahagikan kepada dua atau tiga bahagian yang terdiri daripada data latihan, data ujian dan data pengesahan. Jika data hanya dibahagikan kepada dua maka peratusan yang biasa digunakan ialah 60% data latihan dan 40% data ujian. Kaedah ini adalah untuk memastikan data latihan digunakan untuk menjana model dan data ujian akan digunakan untuk memastikan ketepatan model yang diperolehi. Gambarajah 3 menunjukkan bagaimana data latihan dan data ujian digunakan dalam menghasilkan model.

Gambarajah 3: Penggunaan data latihan dan data ujian Penilaian dan persembahan pengetahuan Sebelum suatu model atau pengetahuan yang diperolehi daripada proses perlombongan data, ia perlu disahkan. Oleh itu penilaian terhadap model dan pengetahuan perlu dilakukan iaitu sejauh manakah model tersebut menghasilkan ketepatan dalam membuat keputusan atau klasifikasi. Biasanya ralat model akan diambilkira dalam menentukan

ketepatan. Ralat data latihan boleh dikira dengan menggunakan ramalan model dan keputusan sebenar menggunakan data ujian atau data latihan. Kebanyakan pengujian terhadap ralat ini adalah berdasarkan kepada matrik konfusi seperti dalam jadual 4. Jadual 4: Matrik Konfusi

Andaikan bahawa algoritma (Al) digunakan untuk menghasilkan matriks konfusi dalam gambarajah 4, terdapat sebanyak 150 rekod data dan nilai diagonal (45,38,40) adalah ramalan yang betul maka terdapat 123 data yang berjaya diklasifikasikan betul. Dalam pembelajaran Al, daripada 59 data bagi kelas A, ia dapat mengklasifikasikan 45 kelas A dan selebihnya kelas B (10) dan kelas c (4). Daripada matriks tersebut, peratus ketepatan bagi pembelajaran Al ialah 123/150*100 = 82%. Walau bagaimanapun, ralat latihan tidak semestinya cukup untuk memastikan bahawa algoritma tersebut telah mempelajari data yang telah diberikan. Ini kerana data yang baru kemungkinan besar adalah lain daripada data yang telah dilihat sebelum ini dalam latihan. Selain daripada itu konsep terlebih-latih (overtraining) boleh berlaku sehingga ia menghasilkan keputusan yang tidak baik. Dalam keadaan data yang sedikit, teknik pengesahan silang (cross-validation) boleh digunakan. Kaedah yang dipanggil k-pengesahan-silang (k-Cross Validation) adalah untuk memastikan bahawa setiap data digunakan untuk latihan dan ujian di mana data akan dibahagikan kepada k bahagian sama saiz dan seterusnya setiap set tersebut akan digunakan sebagai data latihan dan ujian. Gambarajah 4 menunjukkan bagaimana k-pengesahan-silang digunakan.

Gambarajah 4: k-Pengesahan-Silang

Keputusan atau pengetahuan daripada model perlombongan data boleh ditafsirkan atau dipersembahkan menggunakan teknik visual, simulasi dan sebagainya. Model keputusan seperti pohon keputusan dan peraturan boleh digambarkan terus kepada peraturan atau dengan menggunakan visual yang menunjukkan pohon klasifikasi. Gambarajah 5 ialah contoh pohon keputusan bagi konsep PlayTennis dan boleh ditukar kepada peraturan (Jadual 5). Keputusan pengelompokan pula boleh diplot ke dalam graf sama ada dengan menggunakan visual dua dimensi atau tiga dimensi.

Gambarajah 5: Pohon keputusan untuk konsep PlayTennis Jadual 5: Peraturan untuk konsep PlayTennis

Di mana perlombongan data digunakan? Kaedah perlombongan data sebenarnya telah banyak digunakan dalam pelbagai bidang dalam proses analisis data dan menyokong pembuatan keputusan seperti:

Pemasaran: analisis terhadap pelanggan Kewangan: analisis sokongan pelaburan dan pengurusan portfolio Perbankan dan Insuran: analsis keputusan kredit dan polisi Sekuriti: pengecaman penipuan (telefon, kad kredit) Perubatan dan sains: analisis data untuk peramalan, klasifikasi dan diagnosis penyakit, kimia dan sebagainya

Pembuatan: analisis proses pemodelan, kawalan kualiti, pembahagian sumber dan pengoptimuman Kejuruteraan: analisis data simulasi, pengecaman corak Internet: perlombongan web, analisis rujukan individu, enjin carian, analisis aplikasi e-dagang.

Peralatan perlombongan data Terdapat pelbagai alatan perlombongan data yang telah wujud sama ada secara komersil ataupun untuk tujuan pendidikan. Antara alatan tersebut ialah:

DBMiner Clementine See5 Weka E4ML

Kesimpulan Perlombongan data ialah satu proses yang terlibat dalam penemuan pengetahuan (KDD). Walau bagaimanapun kedua-dua istilah ini digunakan secara bersama-sama dalam bidang perlombongan data. Dengan adanya perlombongan data, tugas untuk menganalisis data selain daripada teknik statistik atau matematik dapat dikembangkan lagi. Ini termasuklah dengan penggunaan kaedah pintar yang telah dibincangkan di atas.

Rujukan A. Kusiak. Feature Transformation Methods in Data Mining, IEEE Transaction on Electronics packaging Manufacturing. Vol. 24, No. 3 2001. D. Schuurmans and R. Greiner. "Learning to Classify Incomplete Examples," Computational Learning Theory and Natural Learning Systems, Vol. IV: Making Learning Systems Practical, Chapter 6, pp. 87-105, MIT Press, 1997. Fayyad, U., Piatetsky-Shapiro, G., and Smyth,P. Knowledge Discovery and Data Mining: Towards a Unifying Framework, Proceedings of the Second International Conference on Knowledge Discovery and Data Mining (KDD96), Portland, Oregon, AAAI Press. 1996a. Fayyad, U., G. Piatetsky-Shapiro, and P. Smyth, From Data Mining to Knowledge Discovery in Databases. AI Magazine, 1996b. Han, J., Kamber, M. Data Mining: Concepts and Techniques. Morgan Kaufmann, San Francisco, California, 2000. J. Dougherty, R. Kohavi, and M. Sahami, "Supervised and Unsupervised Discretization of Continuous Features,"

Proceedings of International Conference on Machine Learning, Tahoe City, CA, 1995 J. Han, Y. Fu, Y. Huang, Y. Cai and N. Cercone. DBLearn: A system prototype for knowledge discovery in relational databases. In Proc. 1994 ACM-SIGMOD Conf. Management of Data, Page 516, Minneapolis, MN, May 1994. J. Han, Y. Fu, K. Koperski, G. Melli, W. Wang, and O. R. Zaiane. Knowledge Mining in Databases: An Integration of Machine Learning Methodologies with Database Technologies. Canadian Artifical Intelligence, October 1995. Gama, J., Torgo, L., and Soares, C. Dynamic discretization of continuous attributes. In Proceedings of the Sixth Ibero-American Conference on AI. 1998. Michel A. King, John F. Elder IV, et al. Evaluation of Fourteen Desktop Data Mining Tools. IEEE International Conference on Systems, Man, and Cybernetics, San Diego, CA. 1998. M.S Sainin, F. Siraj. Educational Tool for Machine Learning Algorithms. In Proc. Seminar on Artificial Intelligence Application in Industry, Kuala Lumpur. 2003. P. Wright. Knowledge Discovery In Databases: Tools and Techniques. 1998. <http://www.acm.org/crossroads/xrds5-2/kdd.html> R. J. Hilderman and H. J. Hamilton. Knowledge discovery and interestingness measures: A Survey. Department of Computer Science, University of Regina, Saskatchewan, Canada, Tech. Rep. CS 99-04, Oct. 1999. Witten, I.H., Frank, E., 'Data Mining: Practical Machine Learning Tools and Techniques with Java Implementations', Morgan Kaufmann, 1999.

S-ar putea să vă placă și