Pendahuluan i ii Data Mining Terapan dengan Matlab Pendahuluan iii DATA MINING TERAPAN DENGAN MATLAB Oleh : Budi Santosa Edisi Pertama Cetakan Pertama, 2007 Hak Cipta © 2007 pada penulis, Hak Cipta dilindungi undang-undang. Dilarang memperbanyak atau memindahkan sebagian atau seluruh isi buku ini dalam bentuk apa pun, secara elektronis maupun mekanis, termasuk memfotokopi, merekam, atau dengan teknik perekaman lainnya, tanpa izin tertulis dari penerbit. Candi Gebang Permai Blok R/6 Yogyakarta 55511 Telp. : 0274-882262; 0274-4462135 Fax. : 0274-4462136 E-mail : [email protected] Santosa, Budi DATA MINING TERAPAN DENGAN MATLAB/Budi Santosa -Edisi Pertama Yogyakarta; Graha Ilmu, 2007 xii + 146 hlm, 1 Jil. : 26 cm. ISBN: 978-979-756-223-2 1. Komputer iv I. Judul Data Mining Terapan dengan Matlab Kata Pengantar D ata Mining merupakan area yang banyak diminati dan dipakai dalam berbagai bidang. Mahasiswa, dosen, peneliti maupun praktisi di bidang manajemen, meteorologi, kedokteran, mikrobiologi dan lain-lain banyak memakai teknik-teknik data mining untuk membantu pekerjaan mereka. Buku ini ditulis sebagai usaha untuk membantu memahami dan mengimplementasikannya. Tentu saja untuk implementasi sederhana dengan skala problem yang kecil. Dengan perkembangan teknologi pengumpulan data saat ini, jumlah data yang dikumpulkan per unit waktu semakin besar dengan kecepatan yang berlipat. Dalam dunia bisnis maupun teknologi, semakin banyak transaksi-transaksi yang dilakukan secara otomatis baik yang online melalui internet maupun lewat jaringan elektronik. Di bidang cuaca, data yang ditangkap oleh radar per satuan waktu juga mencapai jumlah yang sangat besar. Hal ini menambah volume data yang tersimpan dan harus diolah semakin membesar. Peningkatan volume data yang besar memerlukan metode yang bisa bekerja cepat dan terotomatisasi untuk mengolah dan mengambil kesimpulan dari data tersebut. Buku ini memuat cara-cara implementasi beberapa metode yang sering dipakai dalam data mining. Buku ini dibagi dalam beberapa bab. Penjelasan singkat dalam setiap bab adalah sebagai berikut Bab 1 memberi pengantar bagi pembaca untuk memahami Matlab. Memulai Matlab, Bekerja dengan matrik, Mengurutkan Data, Memuat Data ke dalam Workspace. Bab 2 berisi cara preproses data, dan cara-cara implementasi regresi, regresi logistik dan multiple regresi. Pendahuluan v Bab 3 akan membahas mengenai teknik klasifikasi unsupervised yang cukup populer yaitu klastering. Akan dibahas implementasi K-means, fuzzy c-means dan klastering hirarki. Bab 4 membahas analisis diskriminan dan k-nearest neighbor. Bab 5 membahas mengenai decision tree, principal component analysis (PCA). Bab 6 akan dibahas teknik supervised yang masuk dalam kategori artificial neural networks (ANN) yaitu back-propagasi, perceptron, recurrent network, learning vector quantization, pemakaian GUI. Bab 7 membahas Support Vector Machine untuk kasus dua kelas, multi kelas, support vector regression, minimax probability machine dan seleksi variabel. Bab 8 membahas mengenai pemilihan model. Berisi perbandingan beberapa metoda dalam memprediksi label data untuk kasus klasifikasi dan teknik sederhana bagaimana implementasi cross-validasi. Sebagai usaha awal memenuhi kebutuhan para dosen, mahasiswa dan praktisi, buku ini masih jauh dari sempurna. Pada kesempatan ini, saya ingin mengucapkan terima kasih pada temanteman di Jurusan Teknik Industri-ITS, Surabaya. Tidak lupa saya ucapkan terima kasih kepada istri saya Karlina atas pengertian dan dukungannya sehingga saya mempunyai cukup waktu untuk menyelesaikan buku ini. Masukan dan umpan balik dari para pembaca sangat diharapkan untuk lebih memperbaiki isi buku ini. Mudah-mudahan buku ini bisa bermanfaat bagi para pembaca sekalian. Surabaya, 12 Maret 2007 Budi Santosa [email protected] vi Data Mining Terapan dengan Matlab Daftar Isi KATA PENGANTAR DAFTAR ISI DAFTAR GAMBAR DAFTAR TABEL BAB 1 PENDAHULUAN 1.1 Matlab 1.2 Memulai Matlab 1.3 Bekerja dengan Matrik 1.4 Mengurutkan Data 1.5 Memuat Data ke dalam Workspace 1.6 Latihan v vii ix xi 1 1 2 13 16 18 20 BAB 2 REGRESI 23 2.1 2.2 2.3 2.4 2.5 23 23 27 32 38 Pendahuluan Preprocessing Data Regresi Linear Multiple Regresi Linear Regresi Logistik BAB 3 ANALISA KLASTER 3.1 3.2 3.3 3.4 Pendahuluan Pendahuluan Klastering dengan K-means Fuzzy c-means Klastering Hirarki 47 47 47 51 54 vii BAB 4 KLASIFIKASI LINEAR 4.1 4.2 4.3 59 Pendahuluan Analisis Diskriminan K-nearest neighbor 59 59 66 BAB 6 DECISION TREE 5.1 5.2 71 Decision Tree Principal Component Analysis (PCA) 71 76 BAB 6 NEURAL NETWORKS 6.1 6.2 6.3 6.4 6.5 6.6 79 Pendahuluan Perceptron Backpropagasi Recurrent Network Learning Vector Quantization (LVQ) Menggunakan Graphical User Interface (GUI) 79 80 81 91 92 94 BAB 7 METODE KERNEL UNTUK PROBLEM NONLINEAR 7.1 7.2 7.3 7.4 7.5 7.6 7.8 Pendahuluan Support Vector Machine (SVM) SVM untuk kasus multi kelas Support Vector Regressión Minimax Probability Machine Seleksi Variabel Kernel K-means 103 103 103 105 110 112 118 123 BAB 8 PEMILIHAN MODEL 127 8.1 Pendahuluan 8.2 Model Linear dan Nonlinear 8.3 Cross Validasi DAFTAR PUSTAKA DAFTAR INDEKS TENTANG PENULIS 127 127 137 143 145 147 viii Data Mining Terapan dengan Matlab Daftar Gambar Gambar Gambar Gambar Gambar Gambar Gambar Gambar Gambar Gambar Gambar Gambar Gambar Gambar Gambar Gambar Gambar 1.2 1.3 2.1 2.2 2.3 2.4 2.5 2.6 3.1 3.2 5.1 5.2 6.1 6.2 6.3 8.1 Gambar 8.2 Gambar 8.3 Gambar 8.4 Gambar 8.5 Pendahuluan Editor Matlab Window help Geometri garis regresi linear Hubungan dua variabel yang bersifat linear Hubungan dua variabel yang bersifat tidak linier Plot output aktual dan prediksi Pendekatan fungsi dengan menggunakan regresi linear Pendekatan fungsi dengan menggunakan regresi kuadrat Hasil Klaster Hasil pengklasteran dengan klaster hirarki Decision tree untuk kasus Iris dengan metode regresi Decision tree untuk kasus Iris dengan metode klasifikasi Plot data aktual dan prediksi hasil dari NN Analisis Regresi Plot data aktual Plot data banana, warna merah dan biru menunjukkan kelas yang berbeda Plot data banana dengan titik-titik yang salah klasifikasi dengan SVM Plot data banana dengan titik-titik yang salah klasifikasi dengan linear SVM Plot data banana dengan titik-titik yang salah klasifikasi dengan LDA Plot data banana dengan titik-titik yang salah klasifikasi dengan kernel LDA 3 12 28 28 28 35 37 38 49 56 73 74 87 88 92 128 131 132 133 136 ix Gambar 8.6 Gambar 8.7 Gambar 8.8 Gambar 8.9 x Plot titik data (.) , fungsi asli (o) dan fungsi hasil estimasi (*) dengan degree 2 Plot titik data (.) , fungsi asli (o) dan hasil estimasi fungsi (*) dengan degree 3 Plot titik data (.) , fungsi asli (o) dan hasil estimasi fungsi (*) dengan degree 7 Plot dari training error (à), test error (o) dan mean test error (*) untuk semua degree 139 139 140 140 Data Mining Terapan dengan Matlab