Data Mining Junta Zeniarja, M.Kom, M.CS junta@dsn.dinus.ac.id
Profil Nama : Junta Zeniarja, M.Kom, M.CS Alamat : Permata Tembalang, Dendronium 25 Kontak Phone : 085727181701 E-mail : junta@dsn.dinus.ac.id Room : D.2.F Pendidikan S1 => TI – UDINUS S2 => TI – UDINUS S2 => Computer Science UTeM (Universiti Teknikal Malaysia Melaka) Konsultasi - Sharing 1:00 pm – 3:00 pm, Senin, Selasa dan Kamis. Appointment via phone or e-mail preferred
Textbooks
Outline Pengenalan Data Mining Data Mining Peran Utama Data Mining Mengenal Rapidminer Algoritma Data Mining
Mengenal Rapidminer romi@romisatriawahono.net Object-Oriented Programming Mengenal Rapidminer http://romisatriawahono.net
Tool Software Data Mining romi@romisatriawahono.net Object-Oriented Programming Tool Software Data Mining WEKA RapidMiner DTREG Clementine Matlab R SPSS http://romisatriawahono.net
RapidMiner Sebuah lingkungan untuk machine learning, data mining, text mining dan predictive analytics. Machine learning Salah satu disiplin ilmu dari Computer Science yang mempelajari bagaimana membuat komputer/mesin mempunyai suatu kecerdasan. Data mining Proses mengekstrak pola-pola dari data set yang besar dengan mengombinasikan metoda statistika, kecerdasan buatan dan database.
Text mining Predictive analytics RapidMiner Mirip dengan text analytics, yaitu proses untuk mendapatkan informasi bermutu tinggi dari teks. Predictive analytics Teknik-teknik statistika yang menganalisa fakta masa kini dan masa lalu untuk memprediksi kejadian di masa depan.
Sejarah Rapidminer Pengembangan dimulai pada 2001 oleh Ralf Klinkenberg, Ingo Mierswa, dan Simon Fischer di Artificial Intelligence Unit dari University of Dortmund, ditulis dalam bahasa Java Open source berlisensi AGPL (GNU Affero General Public License) versi 3 Software data mining peringkat pertama pada polling oleh KDnuggets, sebuah portal data-mining pada 2010-2011
Mengintegrasikan proyek data mining Weka dan statistika R Fitur Rapidminer Menyediakan prosedur data mining dan machine learning termasuk: ETL (extraction, transformation, loading), data preprocessing, visualisasi, modelling dan evaluasi Proses data mining tersusun atas operator-operator yang nestable, dideskripsikan dengan XML, dan dibuat dengan GUI Mengintegrasikan proyek data mining Weka dan statistika R
Sistem Microsoft Windows Instalasi Sistem Microsoft Windows Download file installer rapidminer-XXX- install.exe di http://rapid- i.com/content/view/26/84/. Double-click file installer dan ikuti instruksinya. Sistem lain Install Java versi 1.5 atau lebih. Download dan ekstrak arsip zip Java binary. Definisikan RAPIDMINER_HOME. Run dengan ”scripts/RapidMinerGUI”.
Atribut Pada Rapidminer Atribut dan Atribut Target Atribut: karakteristik atau fitur dari data yang menggambarkan sebuah proses atau situasi ID, atribut biasa Atribut target: atribut yang menjadi tujuan untuk diisi oleh proses data mining Label, cluster, weight Peran atribut (attribute role) Label, cluster, weight, ID, biasa
Tipe Nilai (Value Type) pada Rapidminer nominal: nilai secara kategori binominal: nominal dua nilai polynominal: nominal lebih dari dua nilai numeric: nilai numerik secara umum integer: bilangan bulat real: bilangan nyata text: teks bebas tanpa struktur date_time: tanggal dan waktu date: hanya tanggal time: hanya waktu
Data menyebutkan obyek-obyek dari sebuah konsep Data dan Format Data Data dan metadata Data menyebutkan obyek-obyek dari sebuah konsep Ditunjukkan sebagai baris dari tabel Metadata menggambarkan karakteristik dari konsep tersebut Ditunjukkan sebagai kolom dari tabel Dukungan Format data Oracle, IBM DB2, Microsoft SQL Server, MySQL, PostgreSQL, Ingres, Excel, Access, SPSS, CSV files dan berbagai format 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 GUI yang disebut view, yang dapat dikonfigurasi secara bebas Elemen-elemen ini dapat diatur bagaimanapun juga sesuka kita Tiga perspektif: Perspektif Selamat Datang (Welcome perspective) Perspektif Desain (Design perspective) Perspektif Hasil (Result perspective)
Perspektif dan View
Perspektif Desain Perspektif pusat di mana semua proses analisa dibuat dan dimanage Pindah ke Perspektif Desain dengan: Klik tombol paling kiri Atau gunakan menu View → Perspectives → Design View: Operators, Repositories, Process, Parameters, Help, Comment, 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 conditional branch Utility Untuk mengelompokkan subprocess, juga macro dan logger Repository Access Untuk membaca dan menulis repositori
View Operator Import Export Data Transformation Modelling Evaluation 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 klasifikasi, regresi, clustering, aturan asosiasi dll Evaluation Untuk menghitung kualitas dan perfomansi dari model
View Operator
View Repositori Layanan untuk manajemen proses analisa, baik data, metadata, proses maupun hasil
View Proses Menampilkan proses analisa yang berisi berbagai operator dengan alur koneksi diantara mereka
View Proses
View Parameter Operator kadang memerlukan parameter untuk bisa berfungsi Setelah operator dipilih di view Proses, parameternya 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 seksi yang ditampilkan saat ini dengan sebuah kotak kecil
View Overview
View Problems Menampilkan setiap pesan warning dan error
View Log Menampilkan pesan log selama melakukan desain dan eksekusi proses
View Problems and View Log
Operator dan Proses Proses data mining pada dasarnya adalah proses analisa yang berisi alur kerja dari komponen data mining Komponen dari proses ini disebut operator, yang didefinisikan dengan: Deskripsi input Deskripsi output Aksi yang dilakukan Parameter yang diperlukan
Operator dan Proses Sebuah operator bisa disambungkan melalui port masukan (kiri) dan port keluaran (kanan) Indikator status dari operator: Lampu status: merah (tak tersambung), kuning (lengkap tetapi 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 operator Warna aliran data menunjukkan tipe obyek yang dilewatkan
Pilih repositori dan lokasi, lalu beri nama Membuat Proses Baru Pilih menu File → New Pilih repositori dan lokasi, lalu beri nama
Repositori terstruktur ke dalam proyek-proyek Struktur Repositori Repositori terstruktur ke dalam proyek-proyek Masing-masing proyek terstruktur lagi ke dalam data, processes, dan results
Proses Analisa Pertama
Proses Analisa Pertama Generate Sales Data → proses sangat sederhana, 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 atribut
Transformasi Metadata Parameter untuk operator Select Attributes
Transformasi Metadata Atribut individu maupun subset bisa dipilih atau dihapus
Proses dapat dijalankan dengan: Menjalankan Proses Proses dapat dijalankan dengan: Menekan tombol Play Memilih menu Process → Run Menekan kunci F11
Melihat Hasil
Algoritma Data Mining romi@romisatriawahono.net Object-Oriented Programming Algoritma Data Mining http://romisatriawahono.net
romi@romisatriawahono.net Object-Oriented Programming Algoritma Estimasi Algoritma estimasi mirip dengan algoritma klasifikasi, tapi variabel target adalah berupa bilangan numerik (kontinyu) dan bukan kategorikal (nominal atau diskrit) Estimasi nilai dari variable target ditentukan berdasarkan nilai dari variabel prediktor (atribut) Algoritma estimasi yang biasa digunakan adalah: Linear Regression, Neural Network, Support Vector Machine. http://romisatriawahono.net
Contoh: Estimasi Performansi CPU romi@romisatriawahono.net Object-Oriented Programming Contoh: Estimasi Performansi CPU Example: 209 different computer configurations Linear regression function PRP = -55.9 + 0.0489 MYCT + 0.0153 MMIN + 0.0056 MMAX + 0.6410 CACH - 0.2700 CHMIN + 1.480 CHMAX 32 128 CHMAX 8 16 CHMIN Channels Performance Cache (Kb) Main memory (Kb) Cycle time (ns) 45 4000 1000 480 209 67 8000 512 208 … 269 32000 29 2 198 256 6000 125 1 PRP CACH MMAX MMIN MYCT http://romisatriawahono.net
romi@romisatriawahono.net Object-Oriented Programming Algoritma Prediksi Algoritma prediksi/forecasting sama dengan algoritma estimasi di mana label/target/class bertipe numerik, bedanya adalah data yang digunakan merupakan data rentet waktu (data time series) Istilah prediksi kadang digunakan juga untuk klasifikasi, tidak hanya untuk prediksi time series, karena sifatnya yang bisa menghasilkan class berdasarkan berbagai atribut yang kita sediakan Semua algoritma estimasi dapat digunakan untuk prediksi/forecasting. http://romisatriawahono.net
Contoh: Prediksi Harga Saham Dataset harga saham dalam bentuk time series (rentet waktu) harian
Contoh: Prediksi Harga Saham (Plot) romi@romisatriawahono.net Object-Oriented Programming Contoh: Prediksi Harga Saham (Plot) http://romisatriawahono.net
Contoh: Prediksi Harga Saham (Plot)
Algoritma Klasifikasi romi@romisatriawahono.net Object-Oriented Programming Algoritma Klasifikasi Klasifikasi adalah algoritma yang menggunakan data dengan target/class/label berupa nilai kategorikal (nominal) Contoh, apabila target/class/label adalah pendapatan, maka bisa digunakan nilai nominal (kategorikal) sbb: pendapatan besar, menengah, kecil Contoh lain adalah rekomendasi contact lens, apakah menggunakan yang jenis soft, hard atau none Algoritma klasifikasi yang biasa digunakan adalah: Naive Bayes, K-Nearest Neighbor, C4.5, ID3, CART, Linear Discriminant Analysis, etc. http://romisatriawahono.net
Contoh: Rekomendasi Main Golf romi@romisatriawahono.net Object-Oriented Programming Contoh: Rekomendasi Main Golf Input: Output (Rules): If outlook = sunny and humidity = high then play = no If outlook = rainy and windy = true then play = no If outlook = overcast then play = yes If humidity = normal then play = yes If none of the above then play = yes http://romisatriawahono.net
Contoh: Rekomendasi Main Golf romi@romisatriawahono.net Object-Oriented Programming Contoh: Rekomendasi Main Golf Input (Atribut Nominal dan Numerik): Output (Rules): If outlook = sunny and humidity = high then play = no If outlook = sunny and humidity > 83 then play = no If outlook = rainy and windy = true then play = no If outlook = overcast then play = yes If humidity < 85 then play = yes If none of the above then play = yes http://romisatriawahono.net
Contoh: Rekomendasi Main Golf Output (Tree):
Contoh: Rekomendasi Contact Lens romi@romisatriawahono.net Object-Oriented Programming Contoh: Rekomendasi Contact Lens Input: http://romisatriawahono.net
Contoh: Rekomendasi Contact Lens romi@romisatriawahono.net Object-Oriented Programming Contoh: Rekomendasi Contact Lens Output/Model (Tree): http://romisatriawahono.net
Contoh: Penentuan Jenis Bunga Iris romi@romisatriawahono.net Object-Oriented Programming Contoh: Penentuan Jenis Bunga Iris Input: http://romisatriawahono.net
Contoh: Penentuan Jenis Bunga Iris romi@romisatriawahono.net Object-Oriented Programming Contoh: Penentuan Jenis Bunga Iris Output (Rules): http://romisatriawahono.net
Contoh: Penentuan Jenis Bunga Iris romi@romisatriawahono.net Object-Oriented Programming Contoh: Penentuan Jenis Bunga Iris Output (Tree): http://romisatriawahono.net
romi@romisatriawahono.net Object-Oriented Programming Algoritma Klastering Klastering adalah pengelompokkan data, hasil observasi dan kasus ke dalam class yang mirip Suatu klaster (cluster) adalah koleksi data yang mirip antara satu dengan yang lain, dan memiliki perbedaan bila dibandingkan dengan data dari klaster lain Perbedaan utama algoritma klastering dengan klasifikasi adalah klastering tidak memiliki target/class/label, jadi termasuk unsupervised learning Klastering sering digunakan sebagai tahap awal dalam proses data mining, dengan hasil klaster yang terbentuk akan menjadi input dari algoritma berikutnya yang digunakan. http://romisatriawahono.net
Contoh: Klastering Jenis Gaya Hidup romi@romisatriawahono.net Object-Oriented Programming Contoh: Klastering Jenis Gaya Hidup Claritas, Inc. provide a demographic profile of each of the geographic areas in the country, as defined by zip code. One of the clustering mechanisms they use is the PRIZM segmentation system, which describes every U.S. zip code area in terms of distinct lifestyle types (66 segments). Just go to the company’s Web site, enter a particular zip code, and you are shown the most common PRIZM clusters for that zip code. What do these clusters mean? For illustration, let’s look up the clusters for zip code 90210, Beverly Hills, California. The resulting clusters for zip code 90210 are: Cluster 01: Blue Blood Estates Cluster 10: Bohemian Mix Cluster 02: Winner’s Circle Cluster 07: Money and Brains Cluster 08: Young Literati http://romisatriawahono.net
Contoh: Klastering Bunga Iris
Contoh: Klastering Bunga Iris (Plot)
Contoh: Klastering Bunga Iris (Table)
romi@romisatriawahono.net Object-Oriented Programming Algoritma Asosiasi Algoritma association rule (aturan asosiasi) adalah algoritma yang menemukan atribut yang “muncul bersamaan” Dalam dunia bisnis, sering disebut dengan affinity analysis atau market basket analysis Algoritma asosiasi akan mencari aturan yang menghitung hubungan diantara dua atau lebih atribut Algoritma association rules berangkat dari pola “If antecedent, then consequent,” bersamaan dengan pengukuran support (coverage) dan confidence (accuration) yang terasosiasi dalam aturan. http://romisatriawahono.net
romi@romisatriawahono.net Object-Oriented Programming Algoritma Asosiasi Contoh, pada hari kamis malam, 1000 pelanggan telah melakukan belanja di supermaket ABC, dimana: 200 orang membeli Sabun Mandi dari 200 orang yang membeli sabun mandi, 50 orangnya membeli Fanta Jadi, association rule menjadi, “Jika membeli sabun mandi, maka membeli Fanta”, dengan nilai support = 200/1000 = 20% dan nilai confidence = 50/200 = 25% Algoritma association rule diantaranya adalah: A priori algorithm, FP-Growth algorithm, GRI algorithm. http://romisatriawahono.net
Contoh Penerapan Data Mining romi@romisatriawahono.net Object-Oriented Programming Contoh Penerapan Data Mining Penentuan kelayakan aplikasi peminjaman uang di bank Penentuan pasokan listrik PLN untuk wilayah Jakarta Diagnosis pola kesalahan mesin Perkiraan harga saham dan tingkat inflasi Analisis pola belanja pelanggan Memisahkan minyak mentah dan gas alam Pemilihan program TV otomatis Penentuan pola pelanggan yang loyal pada perusahaan operator telepon Deteksi pencucian uang dari transaksi perbankan Deteksi serangan (intrusion) pada suatu jaringan http://romisatriawahono.net
Latihan Jelaskan perbedaaan data dan pengetahuan Jelaskan pengertian data mining? Sebutkan 5 peran utama data mining! algoritma apa saja yang dapat digunakan untuk 5 peran utama data mining di atas? Jelaskan perbedaan estimasi dan prediksi! Jelaskan perbedaan estimasi dan klasifikasi! Jelaskan perbedaan klasifikasi dan klastering! Jelaskan perbedaan supervised dan unsupervised learning!
Referensi Wikipedia, http://en.wikipedia.org/wiki/RapidMiner romi@romisatriawahono.net Object-Oriented Programming Referensi Ian H. Witten, Frank Eibe, Mark A. Hall, Data mining: Practical Machine Learning Tools and Techniques 3rd Edition, Elsevier, 2011 Santosa Budi, Teknik Pemanfaatan Data Untuk Keperluan Bisnis, Graha Ilmu, 2007 Wikipedia, http://en.wikipedia.org/wiki/RapidMiner RapidMiner Installation Guide, http://rapid-i.com/content/view/17/40/ RapidMiner 5.0 Manual, Rapid-I, 2010, http://www.rapid-i.com Slide Materi Romi Satrio Wahono (www.ilmukomputer.com) http://romisatriawahono.net