Modul Praktikum WEKA
Yudi Wibisono (e:
[email protected] ); t: @yudiwbs Ilmu Komputer Universitas Pendidikan Indonesia (cs.upi.edu) Versi BETA : Oktober 2013
http://creativecommons.org/licenses/by-nc-sa/3.0/ Modul ini bebas dicopy, didistribusikan, ditransmit dan diadaptasi/dimodifikasi/diremix dengan syarat tidak untuk komersial, pembuat asal tetap dicantumkan dan hasil modifikasi dishare dengan lisensi yang sama. Pembaca modul ini diasumsikan telah mengerti dasar-dasar datamining.
1
1. Pendahuluan Weka (Waikato Environtment for Knowledge Analysis) adalah tools open source (berlisensi GPL) yang berisi kumpulan algoritma machine learning dan data preprocessing. Weka dapat digunakan mulai dari tahap preprocessing, proses, evaluasi sampai dengan visualiasi. Berbagai algoritma dapat dibandingkan untuk memilih yang terbaik untuk masalah yang akan dipecahkan. Basis weka adalah Java sehingga bersifat multiplatform dan dapat digunakan sebagai library dalam aplikasi Java. Weka menyediakan tiga interface untuk mengolah dataset.
1. Explorer: Digunakan untuk mencari algoritma yang paling cocok untuk data. Semua data diload ke memori sehingga dapat cepat diproses, tapi hanya dapat digunakan untuk data dengan jumlah terbatas. 2. Eksperimenter: Digunakan untuk mencari parameter yang cocok. Mirip dengan explorer tetapi prosesnya dapat diautomatisasi. Eksperimen ukuran besar (multi machine dengan RMI) dapat dilakukan dengan interface ini. 3. Knowledgeflow: Digunakan untuk memproses data stream. Konfigurasi proses dapat diatur dengan mudah dan dapat menangani data berukuran besar. Mendukung incremental learning. 4. Simple CLI (Command Line Interface) menggunakan command line untuk interface.
2. Instalasi jika anda memiliki komputer Download software Weka di http://www.cs.waikato.ac.nz/ml/weka/ dengan prosesor 64bit, pastikan menggunakan versi 64bit juga karena dapat menggunakan memori lebih besar sehingga dapat memproses lebih banyak data.
2
3. Explorer Explorer dapat digunakan untuk mem-praproses, association rule, klasifikasi, clustering, memiliih atribut dan visualisasi data.
A. Sumber Data Weka menggunakan penyimpanan yang disebut ARFF. Basis file ARFF adalah teks dan dapat diedit dengan text editor biasa. Weka juga menyediakan fasilitas konversi dari file csv dan file excel. Data juga dapat diperoleh melalui URL dan database (melalui JDBC). Format file ARFF adalah sebagai berikut, @RELATION berisi judul data, @ATTRIBUTE menyatakan nama atribut dan jenisnya. Atribut yang didukung Weka adalah numerik, string, nominal dan tanggal. Sedangkan @DATA adalah menyatakan awal dari data. Nilai yang hilang, dinyatakan dengan ?. Contoh: @RELATION rel @ATTRIBUTE @ATTRIBUTE @ATTRIBUTE @ATTRIBUTE
atr1 atr2 atr3 atr4
NUMERIC STRING {L,P} DATE "yyyy-MM-dd HH:mm:ss"
@DATA 5.1,"satu",L,"2001-04-03 5:1:12" 4.9,?,P,"2002-05-03 2:16:2" 4.7,"tiga",?,"2012-09-03 12:24:22"
B. Praproses Weka menyebut fasilitas praproses sebagai “filter”. Beberapa filter yang tersedia adalah: a. b. c. d. e. f.
Menambah atau menghilangkan atribut. Diskretisasi. Filter time series. Sampling. Penanganan nilai kosong (missing value). Normalisasi.
3
C. Association Rule Misalnya kita mempunyai data seperti ini, dan akan melakukan mining association rule. ID Transaksi
Barang yg Dibeli
10
A, C, D
20
B, C, E
30
A, B, C, E
40
B, E
Representasi file ARFF-nya adalah sebagai berikut, simpan dengan nama transaksi.arff: @RELATION transaksi @ATTRIBUTE @ATTRIBUTE @ATTRIBUTE @ATTRIBUTE @ATTRIBUTE @ATTRIBUTE
transid NUMERIC itemA {y,n} itemB {y,n} itemC {y,n} itemD {y,n} itemE {y,n}
@DATA 10,y,?,y,y,? 20,?,y,y,?,y 30,y,y,y,?,y 40,?,y,?,?,y
Kemudian jalankan WEKA, pilih menu Explorer. Klik open file, pilih transaksi.arff. Pertama kita harus menghapus atribut transid karena tidak berkaitan dengan data (gambar bawah). Pilih atribut transid, lalu klik button “Remove” dibagian bawah.
4
Selanjutnya pilih tab Associate (gambar bawah), secara default algoritma yang digunakan adalah apriori. Tekan start.
Hasilnya akan seperti ini (dibagian output):
…..
Output menampilkan parameter algoritma (support, confidence) dan rule terbaik berdasarkan confidence. Rule diatas dapat dibaca jika user beli item E maka 100% confidence dia akan beli item B (rule1). Misalnya kita ingin mengganti agar minimum support menjadi 0.5 (2 instance). Klik tulisan apriori (gambar bawah)
Kemudian ganti parameter lowerBoundMinSupport dengan 0.5 5
Tekan OK, lalu jalankan “Start” sekali lagi. Hasilnya akan seperti ini, jumlah rule berkurang karena minimum support menjadi 2 instance :
Setiap kali menjalankan start, hasil output yang lama tidak dibuang. Pada window bagian kiri (result list) berisi sejarah eksekusi algoritma, klik maka window output dibagian kanan akan berubah.
Dengan result list, dapat dibandingkan hasil eksekusi dengan berbagai parameter. Untuk mengganti algoritma, klik button “Choose”
6
D. Klasifikasi
Misalnya kita akan gunakan data sebagai berikut dan akan membuat decision tree untuk data ini. Data adalah buah-buahan yang dapat dimakan. Kategorinya (kelas) adalah “aman” dan “berbahaya”, sedangkan atribut (features) adalah kulit buah, warna, ukuran dan bau.
No Kelas
Kulit Buah Warna Ukuran Bau
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Kasar Kasar Halus Kasar Kasar Halus Halus Kasar Halus Kasar Halus Halus Kasar Halus Halus Kasar
Aman Aman Berbahaya Aman Aman Aman Aman Berbahaya Berbahaya Aman Aman Berbahaya Aman Berbahaya Aman Berbahaya
Coklat Hijau Merah Hijau Merah Merah Coklat Hijau Hijau Merah Coklat Hijau Merah Merah Merah Hijau
Besar Besar Besar Besar Kecil Kecil Kecil Kecil Kecil Besar Besar Kecil Kecil Besar Kecil Kecil
keras keras Lunak Lunak Keras Keras Keras Lunak Keras Keras Lunak Keras Lunak Keras Keras Keras
Siapkan data ini dalam Excel. Jangan lupa simpan sebagai csv.
Kemudian jalankan Weka, masuk ke explorer dan akan muncul tampilan sebagai berikut.
7
Klik open file lalu pilih tipe file csv dan buka file yang telah kita simpan sebelumnya. Dapat dilihat jumlah instance dan jumlah atribut dari file ini.
Karena nomor bukanlah atribut, jadi perlu dihapus. Check atribut “No” lalu klik button “remove” dibagian bawah.
Selanjutnya simpan
8
Secara default file akan disimpan dalam format ARFF, coba simpan, lalu buka dengan notepad. Maka dapat dilihat formatnya sebagai berikut. Terlihat ada beberapa kesalahan duplikasi nilai atribut, “Keras” dan “keras” dianggap dua nilai atau label yang berbeda, padahal harusnya sama. Ini dapat diperbaiki langsung di file ARFF. Edit kesalahan yang ada lalu lakukan load ulang di Explorer.
Kembali ke explorer, dibagian kanan atas memperlihatkan frekuensi untuk setiap nilai atribut. Coba lihat untuk semua atribut.
Sedangkan bagian kanan bawah memperlihatkan visualisasi proporsi dua atribut. Misalnya pada gambar dibawah untuk atribut “Kelas” dan class “Bau”, batang yang pertama menyatakan ada 10 instance “Aman” dan batang kedua menyatakan ada 6 instance “Berbahaya”. Dari 10 “aman” tersebut (batang pertama), 7 berbau keras (merah) dan 3 instance berbau lunak (biru)
“aman”
Berbau keras
Berbau lunak
Silahkan coba kombinasi berbagai kelas lainnya. 9
Selanjutknya kita akan membangkitkan decision tree dari data tersebut. Pilih tab Classify.
klik button “Choose”, terlihat banyak pilihan algoritma klasifikasi. Pilih tree ID3 dan pilih “Kelas” sebagai label kelas. Lalu klik start.
Hasilnya akan muncul seperti berikut (scroll ke atas). Dapat dilihat tree yang dihasilkan
Decision Tree
10
Sedangkan jika kita scroll ke bawah lagi, akan tampak hasil sebagai berikut: Akurasi
Confusion Matrix. Untuk “Aman”, ada satu kesalahan dilabeli “Berbahaya”. Untuk “Berbahaya”, tidak ada kesalahan.
Silahkan coba algoritma lainnya. Latihan: Pilih data yang terdapat di (boleh dari website lain). Lalu buat model klasifikasinya dengan Weka (algoritma bebas). http://archive.ics.uci.edu/ml/
TBD: -
visualisasi data simpan model lalu jalankan ke dat ayang kelasnya belum diketehui
11