Code Java untuk Menggunakan Library Weka


Weka adalah tool data mining, yang banyak digunakan untuk implementasi data mining yang bersifat open source. Implementasi yang sering saya gunakan dalam Weka untuk Klasifikasi dan Clustering.

Sebenarnya weka sudah menyediakan GUI (Graphical User Interface) untuk melakukan fungsi-fungsi data mining. Tapi dalam beberapa kasus misalnya, kita ingin membuat GUI sendiri, atau mengintegrasikan antara Ekstraksi Feature yang sudah kita buat programnya dengan proses klasifikasi (yang fungsinya sudah disediakan oleh weka). Untuk mengintegrasikan hal itu semua, kita harus memahami, bagaimana memanggil, dan menggunakan fungsi-fungsi pada weka.

Dalam posting kali ini, saya akan memberikan contoh implementasi klasifikasi menggunakan SVM-SMO yang programnya saya buat sendiri, dengan dukungan dari library weka. Berikut ini contoh program yang paling simple, untuk klasifikasi dengan menggunakan data iris.

import java.io.BufferedReader;
import java.io.BufferedWriter;
import weka.core.Instances;
import java.io.FileReader;
import java.io.FileWriter;
import weka.classifiers.functions.SMO;

public class IncrementalClassifier {
  public static void main(String[] args) throws Exception {
    // load data
    BufferedReader reader = new BufferedReader(new FileReader
            ("/home/azzura/Documents/windu/skripsi/data/iris.arff"));
    Instances structure = new Instances(reader);
    reader.close();
    structure.setClassIndex(structure.numAttributes() - 1);//membaca jumlah attribute

    // train SMO
    SMO smo = new SMO();
    smo.setOptions(weka.core.Utils.splitOptions("-C 1.0 -L 0.0010 -P 1.0E-12 -N 0 -V -1 -W 1 -K \"weka.classifiers.functions.supportVector.RBFKernel -C 250007 -G 0.01\""));
    smo.buildClassifier(structure);

    Instances unlabeled = new Instances(
                         new BufferedReader(
                           new FileReader("/home/azzura/Documents/windu/skripsi/data/unlabeled.arff")));

     // set class attribute
     unlabeled.setClassIndex(unlabeled.numAttributes() - 1);

     // membuat Instances yang akan diberi label
     Instances labeled = new Instances(unlabeled);

     // label instances
     for (int i = 0 ; i < unlabeled.numInstances() ; i++) {
       double clsLabel = smo.classifyInstance(unlabeled.instance(i));
       labeled.instance(i).setClassValue(clsLabel);
     }

     // simpan data yang sudah diberi label
     BufferedWriter writer = new BufferedWriter(
                               new FileWriter("/home/azzura/Documents/windu/skripsi/data/labeled.arff"));
     writer.write(labeled.toString());
     writer.newLine();
     writer.flush();
     writer.close();
 }
}

Notes:

  1. Download contoh program, library, dan dataset nya di sini.
  2. Compile: javac -classpath weka.jar SmoWind.java
  3. Run: java -classpath weka.jar:. SmoWind  (Linux)
  4. Run: java -classpath weka.jar;. SmoWind (Windows)
  5. Anda dapat mempelajari lebih jauh di: http://weka.wikispaces.com/Use+Weka+in+your+Java+code

About windupurnomo

I'm interested in programming. I am active with several programming such as Java, C #, C, JavaScript, HTML. I'm also develop desktop application (Java Swing), Mobile Application (Android), and Web programming (ASP MVC).
This entry was posted in Java, Kuliah and tagged , , , , , , . Bookmark the permalink.

14 Responses to Code Java untuk Menggunakan Library Weka

  1. fazeri says:

    kenapa tidak bisa di download mas contoh aplikasinya?tolong saya kabari say ke fazeriansyah_muhammad@yahoo.co.id, kalau sudah bisa d download…terimakasih,,,,

  2. fazeri says:

    tolong bgt mas….saya pengen bgt belajar…..download contohnya??

  3. fazeri says:

    wah ga ad response, help me………

  4. Nori says:

    iya saya juga coba download koq tidak bisa ya..

    Oops !! The requested URL was not found on this server !.

  5. yusuf says:

    iya mas,,gk bisa
    tolong kirimin ke yusufoktofani@rocketmail.com
    saya juga dapat tugas PCD,,tugasnya membuat aplikasi yang dapat menggabungkan 2 image menjadi image baru hasil gabungan tersebut,,maksudnya 2 image tersebut di convert menjadi bitmap kemudian nilai araynya dijumlahkan sehinggal menjadi image yang baru,,mas bisa tolong jelaskan tugas tersebut

    terima kasih

  6. ayue says:

    mas ko gg bisa d donload c.. minta dunk mas,, email april_ncy10@yahoo.com
    makasih

  7. elin02 says:

    Iya betul memang gak bisa di download neyh.. Saya mnt jg mas, konfirmsi ke elin_pujasari@yahoo.com. Thks..

  8. andewors says:

    saya juga minta kodenya mas, buat saya pelajari , email saya mailadsen@gmail.com

  9. diajeng says:

    Ass ,
    mas, di videonya mas Windu yang ini http://www.youtube.com/watch?v=nEgQbjTJs60 (Association Rule) dikatakan kodenya bisa didownload di blog ini.. tapi saya cari tidak ada. Bisa minta tolong ditunjukkan mas? Saya perlu sekali mempelajari pembuatan association rule dengan weka di Netbeans. Terimakasih sebelumnya.. Semoga pahalanya banyak dgn membagi ilmu..🙂 email saya: diajengpermata@yahoo.com

  10. dhita says:

    saya juga boleh minta source code nya g? soalnya skripsi saya juga menggunakan weka..jadi mungkin source code ini bisa saya gunakan sebagai referensi..terima kasih..email saya dhietaanggraini20@gmail.com terima kasih ^_^

  11. hafiz says:

    mas ada tutorial source codeuntuk naive bayes classifier di java ??? sama perhitungan bobot kata TF IDF di java??

  12. hafiz says:

    klo untuk NAIVE BAYES gimana contoh codingnya…thx

  13. bahrudin says:

    mas tolong saya ada tugas implementasi double image bagaimana skripnya terima kasih

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s