Data Mining:
Proses Data Mining
Romi Satria Wahono
[email protected] http://romisatriawahono.net 0815-86220090
SD Sompok Semarang (1987)
SMPN 8 Semarang (1990)
SMA Taruna Nusantara, Magelang (1993)
S1, S2 dan S3 (on-leave)
Department of Computer Sciences
Saitama University, Japan (1994-2004)
Research Interests: Software Engineering and Intelligent Systems
Founder IlmuKomputer.Com
Peneliti LIPI (2004-2009)
Founder dan CEO PT Brainmatics Cipta Informatika
Romi Satria Wahono
Course Outline
1. Pengenalan Data Mining 2. Proses Data Mining
3. Evaluasi dan Validasi pada Data Mining 4. Metode dan Algoritma Data Mining
5. Penelitian Data Mining
Proses Data Mining
Proses Data Mining
1. Tahapan Proses Data Mining
2. Penerapan Proses Data Mining dan Tool Aplikas i
3. Algoritma Data Mining Mengolah Data (Input) Menjadi Model (Output)
4. Evaluasi dan Validasi terhadap Model (Output)
yang Terbentuk
Recap: Cognitive-Performance Test
1. Sebutkan 5 peran utama data mining!
2. Algoritma apa saja yang dapat digunakan untuk 5 per an utama data mining di atas?
3. Jelaskan perbedaan estimasi dan prediksi!
4. Jelaskan perbedaan prediksi dan klasifikasi!
5. Jelaskan perbedaan klasifikasi dan klastering!
6. Jelaskan perbedaan klastering dan association!
7. Jelaskan perbedaan supervised dan unsupervised lear ning!
8. Sebutkan tahapan utama proses data mining!
Tahapan Proses Data Mining
Tahapan Utama Proses Data Mining
Input
(Data)
Input
(Data)
Metode
(Algoritma Data Mining)
Metode
(Algoritma Data Mining)
Output
(Pola/Model/
Knowledge)
Output
(Pola/Model/
Knowledge)
Evaluatio n
(Akurasi, AUC, RMSE,
etc)
Evaluatio n
(Akurasi, AUC, RMSE,
etc)
1. Input (Dataset)
Jenis dataset ada dua: Private dan Public
Private Dataset: data set dapat diambil dari organisasi y ang kita jadikan obyek penelitian
• Bank, Rumah Sakit, Industri, Pabrik, Perusahaan Jasa, etc
Public Dataset: data set dapat diambil dari repositori pu bik yang disepakati oleh para peneliti data mining
• UCI Repository (http://www.ics.uci.edu/~mlearn/MLRepository.html)
• ACM KDD Cup (http://www.sigkdd.org/kddcup/)
Trend penelitian data mining saat ini adalah menguji m etode yang dikembangkan oleh peneliti dengan public d ataset, sehingga penelitian dapat bersifat: comparable, repeatable dan verifiable
Atribut, Class dan Tipe Data
Atribut adalah faktor atau parameter yang menyeb abkan class/label/target terjadi
Class adalah atribut yang akan dijadikan target, seri ng juga disebut dengan label
Tipe data untuk variabel pada statistik terbagi menj adi empat: nominal, ordinal, interval, ratio
Tapi secara praktis, tipe data untuk atribut pada dat a mining hanya menggunakan dua:
1. Nominal (Diskrit)
2. Numeric (Kontinyu atau Ordinal)
2. Metode (Algoritma Data Mining)
1. Estimation (Estimasi):
• Linear Regression, Neural Network, Support Vector Machine, etc
2. Prediction/Forecasting (Prediksi/Peramalan):
• Linear Regression, Neural Network, Support Vector Machine, etc
3. Classification (Klasifikasi):
• Naive Bayes, K-Nearest Neighbor, C4.5, ID3, CART, Random Forest, Linear Discriminant Analysis, Neural Network, etc
4. Clustering (Klastering):
• K-Means, K-Medoids, Self-Organizing Map (SOM), Fuzzy C-Means, etc
5. Association (Asosiasi):
• FP-Growth, A Priori, etc
1. Formula/Function (Rumus atau Fungsi Regresi)
• WAKTU TEMPUH = 0.48 + 0.6 JARAK + 0.34 LAMPU + 0.2 PESANAN
2. Decision Tree (Pohon Keputusan)
3. Rule (Aturan)
• IF ips3=2.8 THEN lulustepatwaktu
4. Cluster (Klaster)
3. Output/Pola/Model/Knowledge
Cluster
Simple 2-D representation Venn diagram
4. Evaluasi (Akurasi, Error, etc)
1. Estimation:
• Error: Root Mean Square Error (RMSE), MSE, MAPE, etc
2. Prediction/Forecasting (Prediksi/Peramalan):
• Error: Root Mean Square Error (RMSE) , MSE, MAPE, etc
3. Classification:
• Confusion Matrix: Accuracy
• ROC Curve: Area Under Curve (AUC)
4. Clustering:
• Internal Evaluation: Davies–Bouldin index, Dunn index,
• External Evaluation: Rand measure, F-measure, Jaccard index, Fowlkes–Mallows i ndex, Confusion matrix
5. Association:
• Lift Charts: Lift Ratio
• Precision and Recall (F-measure)
Guide for Classifying the AUC
1. 0.90 - 1.00 = excellent classification 2. 0.80 - 0.90 = good classification
3. 0.70 - 0.80 = fair classification 4. 0.60 - 0.70 = poor classification 5. 0.50 - 0.60 = failure
(Gorunescu, 2011)
Kriteria Evaluasi dan Validasi Model
Secara umum pengukuran model data mining meng acu kepada tiga kriteria: Akurasi (Accuracy), Kehand alan(Reliability) dan Kegunaan (Usefulness)
Keseimbangan diantaranya ketiganya diperlukan kar ena belum tentu model yang akurat adalah handal, dan yang handal atau akurat belum tentu berguna
Kriteria Evaluasi dan Validasi Model
1. Akurasi adalah ukuran dari seberapa baik model meng korelasikan antara hasil dengan atribut dalam data yan g telah disediakan. Terdapat berbagai model akurasi, t etapi semua model akurasi tergantung pada data yang digunakan
2. Kehandalan adalah ukuran di mana model data mining diterapkan pada dataset yang berbeda akan menghasil kan sebuah model data mining dapat diandalkan jika menghasilkan pola umum sama terlepas dari data tes ting yang disediakan
3. Kegunaan mencakup berbagai metrik yang mengukur apakah model tersebut memberikan informasi yang b erguna.
Pengujian Model Data Mining
Pembagian dataset:
• Dua subset: data training dan data testing
• Tiga subset: data training, data validation dan data testing
Data training untuk pembentukan model, dan da ta testing digunakan untuk pengujian model
Data validation untuk memvalidasi model kita va
lid atau tidak
Cross-Validation
Metode cross-validation digunakan untuk menghin dari overlapping pada data testing
Tahapan cross-validation:
1. Bagi data menjadi k subset yg berukuran sama
2. Gunakan setiap subset untuk data testing dan sisanya untuk data training
Disebut juga dengan k-fold cross-validation
Seringkali subset dibuat stratified (bertingkat) sebel um cross-validation dilakukan, karena stratifikasi ak an mengurangi variansi dari estimasi
Cross-Validation
Metode evaluasi standard: stratified 10-fold cros s-validation
Mengapa 10? Hasil dari berbagai percobaan yan g ekstensif dan pembuktian teoritis, menunjukk an bahwa 10-fold cross-validation adalah pilihan terbaik untuk mendapatkan hasil validasi yang a kurat
10-fold cross-validation akan mengulang penguji
an sebanyak 10 kali dan hasil pengukuran adalah
nilai rata-rata dari 10 kali pengujian
10-Fold Cross-Validation
Merah: k-subset (data testing)
Pengujian ke Dataset 1
2 3 4 5 6 7 8 9 10
Penerapan Proses Data Mini
ng dan Tool Aplikasi
Tool Software Data Mining
WEKA
RapidMiner
DTREG
Clementine
Matlab
R
SPSS
Sejarah Rapidminer
Pengembangan dimulai pada 2001 oleh Ralf K linkenberg, Ingo Mierswa, dan Simon Fischer di Artificial Intelligence Unit dari University of Dortmund, ditulis dalam bahasa Java
Open source berlisensi AGPL (GNU Affero Ge neral Public License) versi 3
Software data mining peringkat pertama pad
a polling oleh KDnuggets, sebuah portal data-
mining pada 2010-2011
Fitur Rapidminer
Menyediakan prosedur data mining dan machin e learning termasuk: ETL (extraction, transforma tion, loading), data preprocessing, visualisasi, m odelling dan evaluasi
Proses data mining tersusun atas operator-opera tor yang nestable, dideskripsikan dengan XML, d an dibuat dengan GUI
Mengintegrasikan proyek data mining Weka dan
statistika R
Atribut Pada Rapidminer
Atribut dan Atribut Target
• Atribut: karakteristik atau fitur dari data yang menggamb arkan sebuah proses atau situasi
ID, atribut biasa
• Atribut target: atribut yang menjadi tujuan untuk diisi ole h proses data mining
Label, cluster, weight
Peran atribut (attribute role)
• Label, cluster, weight, ID, biasa
Tipe Nilai (Value Type) pada Rapidminer
1. nominal: nilai secara kategori 2. binominal: nominal dua nilai
3. polynominal: nominal lebih dari dua nilai 4. numeric: nilai numerik secara umum
5. integer: bilangan bulat 6. real: bilangan nyata
7. text: teks bebas tanpa struktur 8. date_time: tanggal dan waktu 9. date: hanya tanggal
10. time: hanya waktu
Data dan Format Data
Data dan metadata
• Data menyebutkan obyek-obyek dari sebuah konsep
Ditunjukkan sebagai baris dari tabel
• Metadata menggambarkan karakteristik dari konsep terse but
Ditunjukkan sebagai kolom dari tabel
Dukungan Format data
• Oracle, IBM DB2, Microsoft SQL Server, MySQL, PostgreS QL, Ingres, Excel, Access, SPSS, CSV files dan berbagai for mat lain.
Repositori
Menjalankan RapidMiner untuk pertama kali, akan menanyakan pembuatan repositori baru
Repositori ini berfungsi sebagai lokasi penyimpanan terpusat untuk data dan proses analisa kita
Perspektif dan View
Sebuah perspektif berisi pilihan elemen-elemen GU I yang disebut view, yang dapat dikonfigurasi secara bebas
• Elemen-elemen ini dapat diatur bagaimanapun juga sesu ka kita
Tiga perspektif:
1. Perspektif Selamat Datang (Welcome perspective) 2. Perspektif Desain (Design perspective)
3. Perspektif Hasil (Result perspective)
Perspektif dan View
Perspektif Desain
Perspektif pusat di mana semua proses analisa dibu at dan dimanage
Pindah ke Perspektif Desain dengan:
• Klik tombol paling kiri
• Atau gunakan menu View → Perspectives → Design
View:
• Operators, Repositories, Process, Parameters, Help, Com ment, Overview, Problems, Log
Perspektif Desain
View Operator
Semua tahapan kerja (operator) ditampilkan dalam kelompok
Setiap operator bisa diikutsertakan di dalam proses analisa
View Operator
Process Control
• Untuk mengontrol aliran proses, seperti loop atau condit onal branch
Utility
• Untuk mengelompokkan subprocess, juga macro dan logg er
Repository Access
• Untuk membaca dan menulis repositori
View Operator
Import
• Untuk membaca data dari berbagai format eksternal
Export
• Untuk menulis data ke berbagai format eksternal
Data Transformation
• Untuk transformasi data dan metadata
Modelling
• Untuk proses data mining yang sesungguhnya seperti klas ifikasi, regresi, clustering, aturan asosiasi dll
Evaluation
• Untuk menghitung kualitas dan perfomansi dari model
View Operator
View Repositori
Layanan untuk manajemen proses analisa, baik dat a, metadata, proses maupun hasil
View Proses
Menampilkan proses analisa yang berisi berbagai o perator dengan alur koneksi diantara mereka
View Proses
View Parameter
Operator kadang memerlukan parameter untuk bis a berfungsi
Setelah operator dipilih di view Proses, parametern ya ditampilkan di view ini
View Parameter
View Help dan View Comment
View Help menampilkan deskripsi dari operator
View Comment menampilkan komentar yang dapat diedit terhadap operator
View Help dan View Comment
View Overview
Menampilkan seluruh area kerja dan menyorot seks i yang ditampilkan saat ini dengan sebuah kotak kec il
View Overview
View Problems
Menampilkan setiap pesan warning dan error
View Log
Menampilkan pesan log selama melakukan desain d an eksekusi proses
View Problems and View Log
Operator dan Proses
Proses data mining pada dasarnya adalah proses an alisa yang berisi alur kerja dari komponen data mini ng
Komponen dari proses ini disebut operator, yang di definisikan dengan:
1. Deskripsi input 2. Deskripsi output 3. Aksi yang dilakukan
4. Parameter yang diperlukan
Operator dan Proses
Sebuah operator bisa disambungkan melalui port masu kan (kiri) dan port keluaran (kanan)
Indikator status dari operator:
• Lampu status: merah (tak tersambung), kuning (lengkap t etapi belum dijalankan), hijau (sudah behasil dijalankan)
• Segitiga warning: bila ada pesan status
• Breakpoint: bila ada breakpoint sebelum/sesudahnya
• Comment: bila ada komentar
• Subprocess: bila mempunyai subprocess
Operator dan Proses
Sebuah proses analisa yang terdiri dari beberapa op erator
Warna aliran data menunjukkan tipe obyek yang dil ewatkan
Membuat Proses Baru
Pilih menu File → New
Pilih repositori dan lokasi, lalu beri nama
Struktur Repositori
Repositori terstruktur ke dalam proyek-proyek
Masing-masing proyek terstruktur lagi ke dala
m data, processes, dan results
Proses Analisa Pertama
Proses Analisa Pertama
Generate Sales Data → proses sangat sederh
ana, yang hanya men-generate data
Transformasi Metadata
Metadata dari terminal output
Transformasi Metadata
Generate Attributes → men-generate atribut
baru
Transformasi Metadata
Parameter dari operator Generate Attributes
Transformasi Metadata
Menghitung atribut baru “total price” sebagai
perkalian dari “amount” dan “single price”
Transformasi Metadata
Transformasi Metadata
Select Attributes untuk memilih subset dari at
ribut
Transformasi Metadata
Parameter untuk operator Select Attributes
Transformasi Metadata
Atribut individu maupun subset bisa dipilih at
au dihapus
Menjalankan Proses
Proses dapat dijalankan dengan:
Menekan tombol Play
Memilih menu Process → Run
Menekan kunci F11
Melihat Hasil
Algoritma Data Mining Mengolah Da
ta (Input) Menjadi Model (Output)
Input – Metode – Output
Input (Data)
Input (Data)
Metode (Algoritma Data Mining)
Metode (Algoritma Data Mining)
Output (Pola/Model)
Output (Pola/Model)
Contoh: Rekomendasi Main Golf
1. Lakukan training pada data golf (ambil dari r epositories rapidminer) dengan menggunaka n algoritma decision tree (C4.5)
2. Tampilkan data (input) dan model tree (outp
ut) yang terbentuk
Psychomotor Test:
Penentuan Jenis Bunga Iris1. Lakukan training pada data bunga Iris (ambil da ri repositories rapidminer) dengan menggunak an algoritma decision tree (C4.5)
2. Tampilkan data (input) dan model tree (output)
yang terbentuk
Psychomotor Test:
Penentuan Mine/Rock1. Lakukan training pada data Sonar (ambil dari re positories rapidminer) dengan menggunakan al goritma decision tree (C4.5)
2. Tampilkan data (input) dan model tree (output)
yang terbentuk
Contoh: Rekomendasi Contact Lenses
1. Lakukan training pada data contact lenses (contact-l enses.arff) dengan menggunakan algoritma C4.5
2. Pilih label dari data (set role)
3. Tampilkan data (input) dan model tree (output) yan g terbentuk
Psychomotor Test:
Estimasi Performance CPU1. Lakukan training pada data CPU (cpu.arff) deng an menggunakan algoritma linear regression
2. Tampilkan data (input) dan model tree (output)
yang terbentuk
Psychomotor Test:
Prediksi Elektabilitas Caleg1. Lakukan training pada data pemilu (datap emilukpu.xls) dengan menggunakan algori tma C4.5
2. Pilih label dari data (set role)
3. Tampilkan data (input) dan model tree (ou
tput) yang terbentuk
Evaluasi dan Validasi terhadap Mo
del (Output) yang Terbentuk
Input – Metode – Output – Evaluation
Input
(Data)
Input
(Data)
Metode
(Algoritma Data Mining)
Metode
(Algoritma Data Mining)
Output
(Pola/Model)
Output
(Pola/Model)
Evaluatio n
(Akurasi, AUC, RMSE,
etc)
Evaluatio n
(Akurasi, AUC, RMSE,
etc)
Psychomotor Test:
Prediksi Elektabilitas Caleg1. Lakukan training pada data pemilu (datapemilukp u.xls) dengan menggunakan algoritma C4.5, NB da n K-NN
2. Lakukan pengujian dengan menggunakan 10-fold X Validation
3. Ukur performance-nya dengan confusion matrix d an ROC Curve
C4.5 NB K-NN
Accuracy 92.45% 77.46% 88.72%
AUC 0.851 0.840 0.5
Psychomotor Test:
Prediksi Elektabilitas Caleg1. Lakukan training pada data pemilu (datapemilukp u.xls) dengan menggunakan algoritma C4.5, NB da n K-NN
2. Lakukan pengujian dengan menggunakan 10-fold X Validation
3. Ukur performance-nya dengan confusion matrix d an ROC Curve
4. Uji beda dengan t-Test untuk mendapatkan model terbaik
Prediksi Elektabilitas Caleg: Result
Komparasi Accuracy dan AUC
Uji Beda (t-Test)
Urutan model terbaik: 1. C4.5 2. NB 3. K-NN
C4.5 NB K-NN
Accuracy 92.45% 77.46% 88.72%
AUC 0.851 0.840 0.5
Psychomotor Test:
Prediksi Kelulusan Mahasiswa1. Lakukan training pada data mahasiswa (datakelulu sanmahasiswa.xls) dengan menggunakan C4.5, LD A, NB, K-NN dan RF
• Atribut yang tidak digunakan adalah: IPS5, IPS6, IPS7, IPS8, IP K
2. Lakukan pengujian dengan menggunakan 10-fold X Validation
3. Ukur performance-nya dengan confusion matrix d an ROC Curve
4. Uji beda dengan t-Test untuk mendapatkan model terbaik
Prediksi Kelulusan Mahasiswa: Result
Komparasi Accuracy dan AUC
Uji Beda (t-Test)
Urutan model terbaik: 1. NB 2. C4.5 3.k-NN 4. RF 5.LDA
C4.5 NB K-NN LDA RF
Accuracy 88.12% 86.27% 84.96% 59.63% 59.37%
AUC 0.872 0.912 0.5 0.5 0.5
Psychomotor Test:
Estimasi Performansi CPU1. Lakukan training pada data cpu (cpu.arff) dengan menggunakan algoritma linear regression, neural network dan support vector machine
2. Lakukan pengujian dengan XValidation (numerical) 3. Ukur performance-nya dengan menggunakan: RM
SE
4. Urutan model terbaik: 1. NN 2. LR 3. SVM
LR NN SVM
RMSE 64.846 64.515 106.089
Main Process
Sub Process
Psychomotor Test:
Prediksi Elektabilitas Caleg 1. Lakukan training pada data pemilu (datapemilukpu.xls) dengan menggunakan algoritma Naive Bayes, K-Nea rest Neighbor, RandomForest, Logistic Regression, Line ar Discriminant Analysis
2. Lakukan pengujian dengan menggunakan XValidation 3. Ukur performance-nya dengan confusion matrix dan R
OC Curve
4. Masukkan setiap hasil percobaan ke dalam file Excel
DT NB K-NN RF LR LDA
Accuracy 92.21% 76.89% 89.63%
AUC 0.851 0.826 0.5
Psychomotor Test:
Prediksi Harga Saham1. Lakukan training pada data harga saham (hargasaham-trainin g.xls) dengan menggunakan neural network
2. Lakukan pengujian dengan numerical XValidation 3. Lakukan Ploting data testing
4. Ukur performance-nya dengan menggunakan: RMSE
Psychomotor Test:
Prediksi Harga Saham1. Lakukan training pada data harga saham (hargasaham-trainin g.xls) dengan menggunakan neural network
2. Lakukan pengujian dengan data uji (hargasaham-testing.xls) 3. Lakukan Ploting data testing
4. Ukur performance-nya dengan menggunakan: RMSE
5. Ubah metode ke linear regression dan support vector machi ne
Psychomotor Test:
Klastering Jenis Bunga Iris1. Lakukan training pada data iris (ambil dari repositories rapidminer) dengan menggunakan algoritma clusterin g k-means
2. Set k=3
3. Tampilkan data (input) dan cluster (output) yang terbe ntuk
4. Ukur performance-nya
Psychomotor-Cognitive Assignment I
1. Lakukan ujicoba terhadap semua dataset yang ada di folder dat asets, dengan menggunakan berbagai metode data mining yan g sesuai (estimasi, prediksi, klasifikasi, clustering, association) 2. Kombinasikan pengujian dengan pemecahan data training-testi
ng, dan pengujian dengan menggunakan metode X validation 3. Ukur performance dari model yang terbentuk dengan menggun
akan metode pengukuran sesuai dengan metode data mining y ang dipilih
4. Jelaskan secara mendetail tahapan ujicoba yang dilakukan, kem udian lakukan analisis dan sintesis, dan buat laporan dalam ben tuk slide
5. Kirimkan ke [email protected], deadline sehari sebelum k uliah pertemuan berikutnya, presentasikan di depan kelas
Referensi
1. Ian H. Witten, Frank Eibe, Mark A. Hall, Data mining: Practical M achine Learning Tools and Techniques 3rd Edition, Elsevier, 201 1
2. Daniel T. Larose, Discovering Knowledge in Data: an Introductio n to Data Mining, John Wiley & Sons, 2005
3. Florin Gorunescu, Data Mining: Concepts, Models and Techniqu es, Springer, 2011
4. Jiawei Han and Micheline Kamber, Data Mining: Concepts and T echniques Second Edition, Elsevier, 2006
5. Oded Maimon and Lior Rokach, Data Mining and Knowledge Dis covery Handbook Second Edition, Springer, 2010
6. Warren Liao and Evangelos Triantaphyllou (eds.), Recent Advan ces in Data Mining of Enterprise Data: Algorithms and Applicati ons, World Scientfic, 2007