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 : info@grahailmu.co.id 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 I. Judul iv Data Mining Terapan dengan Matlab
Kata Pengantar Data 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 Bab 2 memberi pengantar bagi pembaca untuk memahami Matlab. Memulai Matlab, Bekerja dengan matrik, Mengurutkan Data, Memuat Data ke dalam Workspace. berisi cara preproses data, dan cara-cara implementasi regresi, regresi logistik dan multiple regresi. Pendahuluan v
Bab 3 Bab 4 Bab 5 Bab 6 Bab 7 Bab 8 akan membahas mengenai teknik klasifikasi unsupervised yang cukup populer yaitu klastering. Akan dibahas implementasi K-means, fuzzy c-means dan klastering hirarki. membahas analisis diskriminan dan k-nearest neighbor. membahas mengenai decision tree, principal component analysis (PCA). akan dibahas teknik supervised yang masuk dalam kategori artificial neural networks (ANN) yaitu back-propagasi, perceptron, recurrent network, learning vector quantization, pemakaian GUI. membahas Support Vector Machine untuk kasus dua kelas, multi kelas, support vector regression, minimax probability machine dan seleksi variabel. 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 budi_s@ie.its.ac.id vi Data Mining Terapan dengan Matlab
Daftar Isi KATA PENGANTAR v DAFTAR ISI vii DAFTAR GAMBAR ix DAFTAR TABEL xi BAB 1 PENDAHULUAN 1 1.1 Matlab 1 1.2 Memulai Matlab 2 1.3 Bekerja dengan Matrik 13 1.4 Mengurutkan Data 16 1.5 Memuat Data ke dalam Workspace 18 1.6 Latihan 20 BAB 2 REGRESI 23 2.1 Pendahuluan 23 2.2 Preprocessing Data 23 2.3 Regresi Linear 27 2.4 Multiple Regresi Linear 32 2.5 Regresi Logistik 38 BAB 3 ANALISA KLASTER 47 3.1 Pendahuluan 47 3.2 Klastering dengan K-means 47 3.3 Fuzzy c-means 51 3.4 Klastering Hirarki 54 Pendahuluan vii
BAB 4 KLASIFIKASI LINEAR 59 4.1 Pendahuluan 59 4.2 Analisis Diskriminan 59 4.3 K-nearest neighbor 66 BAB 6 DECISION TREE 71 5.1 Decision Tree 71 5.2 Principal Component Analysis (PCA) 76 BAB 6 NEURAL NETWORKS 79 6.1 Pendahuluan 79 6.2 Perceptron 80 6.3 Backpropagasi 81 6.4 Recurrent Network 91 6.5 Learning Vector Quantization (LVQ) 92 6.6 Menggunakan Graphical User Interface (GUI) 94 BAB 7 METODE KERNEL UNTUK PROBLEM NONLINEAR 103 7.1 Pendahuluan 103 7.2 Support Vector Machine (SVM) 103 7.3 SVM untuk kasus multi kelas 105 7.4 Support Vector Regressión 110 7.5 Minimax Probability Machine 112 7.6 Seleksi Variabel 118 7.8 Kernel K-means 123 BAB 8 PEMILIHAN MODEL 127 8.1 Pendahuluan 127 8.2 Model Linear dan Nonlinear 127 8.3 Cross Validasi 137 DAFTAR PUSTAKA 143 DAFTAR INDEKS 145 TENTANG PENULIS 147 viii Data Mining Terapan dengan Matlab
Daftar Gambar Gambar 1.2 Editor Matlab 3 Gambar 1.3 Window help 12 Gambar 2.1 Geometri garis regresi linear 28 Gambar 2.2 Hubungan dua variabel yang bersifat linear 28 Gambar 2.3 Hubungan dua variabel yang bersifat tidak linier 28 Gambar 2.4 Plot output aktual dan prediksi 35 Gambar 2.5 Pendekatan fungsi dengan menggunakan regresi linear 37 Gambar 2.6 Pendekatan fungsi dengan menggunakan regresi kuadrat 38 Gambar 3.1 Hasil Klaster 49 Gambar 3.2 Hasil pengklasteran dengan klaster hirarki 56 Gambar 5.1 Decision tree untuk kasus Iris dengan metode regresi 73 Gambar 5.2 Decision tree untuk kasus Iris dengan metode klasifikasi 74 Gambar 6.1 Plot data aktual dan prediksi hasil dari NN 87 Gambar 6.2 Analisis Regresi 88 Gambar 6.3 Plot data aktual 92 Gambar 8.1 Plot data banana, warna merah dan biru menunjukkan kelas yang berbeda 128 Gambar 8.2 Plot data banana dengan titik-titik yang salah klasifikasi dengan SVM 131 Gambar 8.3 Plot data banana dengan titik-titik yang salah klasifikasi dengan linear SVM 132 Gambar 8.4 Plot data banana dengan titik-titik yang salah klasifikasi dengan LDA 133 Gambar 8.5 Plot data banana dengan titik-titik yang salah klasifikasi dengan kernel LDA 136 Pendahuluan ix
Gambar 8.6 Plot titik data (.), fungsi asli (o) dan fungsi hasil estimasi (*) dengan degree 2 139 Gambar 8.7 Plot titik data (.), fungsi asli (o) dan hasil estimasi fungsi (*) dengan degree 3 139 Gambar 8.8 Plot titik data (.), fungsi asli (o) dan hasil estimasi fungsi (*) dengan degree 7 140 Gambar 8.9 Plot dari training error (à), test error (o) dan mean test error (*) untuk semua degree 140 x Data Mining Terapan dengan Matlab