Jumat, 11 Mei 2018

PENGOLAHAN DATA MENGGUNAKAN APLIKASI WEKA DENGAN METODE KLASIFIKASI k-Nearest Neighbor

Pada kesempatan kali ini saya mencoba untuk menjelaskan cara melakukan pengolahan Data menggunakan Aplikasi Weka. sebelumnya saya akan membahas terlebih dahulu apa itu software GNU Weka. Weka merupakan aplikasi yang dibuat dari bahasa pemrograman java yang dapat digunakan untuk membantu pekerjaan data mining (penggalian data). Weka berisi beragam jenis algoritma yang dapat digunakan untuk memproses dataset secara langsung atau bisa juga dipanggil melalui kode bahasa java. Weka berisi peralatan seperti pre-processing, classification, regression, clustering, association rules dan visualization. Weka dapat juga digunakan untuk memproses big data dan dikembangkan guna memenuhi skema machine learning (ML). Weka bersifat open source dibawah lisensi GNU General Public License.


Weka tersedia bagi pengguna Linux, OS X, dan Windows. Untuk mengunduh GNU Weka silahkan mengunjungi halaman Download Weka.

Metode Klasifikasi k-Nearest Neighbor
Metode yang saya gunakan adalah klasifikasi k-Nearest Neighbor atau biasa disingkat kNN.
Metode kNN memiliki perbedaan cara kerja dibandingkan dengan metode-metode klasifikasi lainnya. metode klasifikasi secara umum akan membentuk model, yang merupakan fungsi pemetaan input output dari data latih dan menggunakan model yang telah terbentuk untuk memperkirakan output dari suatu input yang baru. Pada metode decision tree, model berbentuk tree, sedangkan pada Naive Bayes, model yang digunakan berupa fungsi probabilitas. Metode kNN tidak memiliki prosedur pelatihan (training) sehingga tidak terdapat pembentukan model. Metode kNN bekerja bedasarkan asumsi bahwa suatu data akan memiliki kelas atau kategori yang sama dengan data yang berada disekitarnya. Konsep ini disebut konsep ketetanggaan.

Algoritma kNN
Algoritma kNN bekerja dengan cara menemukan k tetangga terdekat dari suatu data yang belum diketahui kelasnya (data uji). Penentuan k  tetangga terdekat dilakukan dengan menghitung jarak dari data uji ke setia data latih yang ada. Selanjutnya dipilih sejumlah k data yang memiliki jarak terdekat. Kelas dari data uji ditentukan dari mayoritas kelas dari k data latih terdekat.

Implementasi kNN pada Weka
Metode kNN diimplementasikan pada Weka dengan nama IBk (instance-based learning with parameter k). Contoh berikut akan menampilkan penggunaan IBk untuk mengelompokan data Iris berdasarkan panjang dan lebar dari kelopak dan mahkota bunga.

Langkah pertama yang dilakukan adalah Data Iris.arff yang sebelumnya dibuat mengguakan microsoft excel dengan format CSV (Comma delimited).
Gambar data iris.csv

Kemudian buka aplikasi Weka, versi Weka yang saya pakai versi 3.8.2
Gambar tampilan Weka 3.8.2

Setelah itu pilih menu Explorer, kemudian akan muncul tampilan seperti pada gambar berikut :
Gambar tampilan menu explorer

Kemudian pilih menu Open file
Gambar pengambilan data iris.arff

Berikut tampilan dari data yang sudah di open file
Gambar tampilan open file data iris.arff

Proses klasifikasi dapat dimulai dengan memilih tab Classify. Tekan tombol Choose untuk memilih metode klasifikasi yang akan digunakan. Algoritma IBk dapat diakses melalui folder Weka > Classifier > lazy > IBk.
Gambar tampilan pemilihan algoritma IBk

Metode IBk memiliki beberapa parameter yang dapat diatur sesuai dengan kebutuhan. Pengaturan parameter dapat dilakukan dengan klik kanan pada field IBk disamping tombol Choose dan pilih opsi Show properties... Beberapa Opsi yang dapat diatur :
  • kNN : Jumlah tetangga terdekat ( nilai k). Pada percobaan ini pilihlah nilai kNN sebesar 3.
  • distanceWeighting : Metode pembobotan untuk mengurangi efek dominasi kelas yang memiliki banyak data.
  • CrossValidate : Jika bernilai True, Weka akan mencari nilai k terbaik, yang nilai nya berada diantara 1 dan k pada parameter kNN.
Gambar parameter pada algoritma IBk

Pengujian dilakukan dengan memecah data Iris menjadi data latih dan data uji dengan proporsi 70% : 30%. Pilihlah opsi Percentage split pada Test options dan isilah dengan angka 70. Pilih fitur (Nom) class sebagai kategori pada data. Klik tombol Start untuk memulai proses klasifikasi. Berikut adalah cuplikan hasil klasifikasi :
Gambar Hasil validasi klasifikasi menggunakan IBk

Proses klasifikasi dilakukan dilakukan dengan menggunakan lima fitur dimana satu diantaranya merupakan penanda kelas/kategori. Pengujian dilakukan dengan membagi 150 data menjadi 105 data latih (70%) dan 45 data uji (30%). Dari 45 data uji, terdapat 2 data uji yang diklasifikasikan secara salah dan 43 data uji lainnya diklasifikasikan secara benar. Oleh karena itu, tingkat akurasi yang diperoleh adalah 95,56%.
Berdasarkan informasi yang ditampilkan pada Confusion matrix, kesalahan disebabkan oleh 2 data dengan kelas Iris-virginica yang diklasifikasikan sebagai Iris-versicolor oleh IBk. Selain akurasi, terdapat pula beberapa ukuran validasi lainnya seperti Kappa statistics, RMSE, RAE, dan RRSE.



Referensi :
      A. Sigit, A.S. Yuita. 2018. Implementasi Data Mining Menggunakan Weka. UB Press
      https://abdiansah.wordpress.com/2014/11/30/mengenal-weka/