Tutorial WEKA: Tool Machine Learning berbasis Java
Halo, kali ini saya akan posting sedikit tutorial penggunaan WEKA. Apa itu WEKA? Jadi WEKA itu semacam tools berisi koleksi dari algoritma Machine Learning...

Halo, kali ini saya akan posting sedikit tutorial penggunaan WEKA. Apa itu WEKA? Jadi WEKA itu semacam tools berisi koleksi dari algoritma Machine Learning (beserta tools lainnya untuk preprocessing data dsb.) yang ditujukan untuk Data Mining. WEKA sendiri dikembangkan oleh Machine Learning Group dari Universitas Waikato, New Zealand.
Jadi mengapa memakai WEKA? Alasan pertama adalah kemudahan. Kita tinggal download, install, dan buka aplikasinya. WEKA sendiri memiliki GUI, sehingga untuk melakukan sesuatu tinggal klik, dan hasilnya keluar. Kemudian alasan kedua adalah karena WEKA bisa dipanggil sebagai Java library. Tinggal copy file .jar di folder instalasinya, kemudian panggil di code java yang kita buat. Dokumentasi dari packages dan classes-nya bisa diakses di WEKA Javadoc. Ok sekarang mari masuk ke tutorialnya.
Pada tutorial ini, kita akan membuat classifier untuk membedakan jenis bunga Iris. Atribut yang digunakan dibagi menjadi 5 (4 fitur dan 1 class), yaitu sepal length, sepal width, petal length, dan petal width; serta atribut terakhir berupa jenis bunga Iris itu sendiri. Keterangan lebih lengkap tentang Iris dataset dapat dilihat pada Wikipedia.
Instalasi
Download installer WEKA di sini, kemudian install seperti biasa (jika menggunakan macOS isi file .dmg nya merupakan file .app, tinggal di drag ke application folder, jika menggunakan Linux, tinggal di extract, dan untuk menjalankannya dengan memanggil file .jar nya). Tampilan awal WEKA bisa dilihat pada gambar berikut.
Load Data
Kemudian pilih Explorer, kemudian pada tab preprocess klik “Open File”. WEKA sudah menyediakan dataset dari Iris yang berupa file .arff (mirip seperti .csv, tetapi dengan tambahan header). Buka file tersebut di [weka_installation_folder]/data/iris.arff. Setelah itu WEKA akan menampilkan keterangan dan grafik tentang dataset yang di-load.
Di tab preprocess ini kita bisa melakukan pemrosesan data seperti normalisasi, standarisasi, downsampling untuk class tertentu, dsb. Tetapi untuk sekarang kita langsung ke proses selanjutnya yaitu klasifikasi.
Klasifikasi
Klik tab Classify, kemudian pilih Algoritma Klasifikasi dengan klik tombol ”Choose”. Pada tutorial ini kita akan menggunakan “SMO”. Sequential Minimal Optimization (SMO) merupakan algoritma untuk training SVM (Support Vector Machine) (CMIIW). Pilih SMO pada folder “functions”.
Untuk pengaturan dari algoritma klasifikasi yang dipilih, klik panel putih di sebelah tombol “Choose”. Disini kita bisa mengatur berbagai parameter dari algoritma klasifikasi, salah satunya adalah filterType. Untuk SVM sendiri, normalisasi data sangat disarankan karena SVM berasumsi data tersebut berada di range standar tertentu. Tetapi untuk tutorial ini, kita pilih “No normalization/standarization” pada filterType.
Start Training/Test
Selanjutnya kita bisa memulai proses training data dan testing. Untuk opsi tes, bis dipilih menggunakan training set,_ test set_,_ cross validation_, atau percentage split. Untuk sekarang pilih cross validation dengan Folds 10. Kemudian klik tombol “Start”.
Maka WEKA akan melakukan training data sekaligus testing menggunakan metode yang kita pilih (cross-validation). Bisa dilihat bahwa kita mendapatkan akurasi sebesar 96.66% dengan training data, metode dan parameter yang kita pilih.
Menyimpan Model
Jika hanya sampai mendapatkan akurasi dan metriks lain dari hasil pengetesan tadi, maka WEKA tidak akan begitu bermanfaat kecuali untuk penelitian dan pengujian yang hanya membutuhkan data untuk karya tulis ilmiah. Tetapi model yang kita training tadi bisa kita simpan untuk kita gunakan kembali dalam WEKA (GUI) atau pada aplikasi Java bahkan android yang kita kembangkan! (Insya Allah tutorial WEKA Android akan dibahas pada artikel selanjutnya)
Untuk menyimpan model, klik kanan pada result list, kemudian simpan model di tempat yang kita inginkan.
Penutup
Seperti yang bisa dilihat, dengan menggunakan WEKA, hanya dengan beberapa klik kita bisa mendapatkan model classifier yang cukup bagus. Mudah-mudahan tutorial sederhana ini bisa bermanfaat bagi teman-teman pembaca.