Arsip

Archive for the ‘Klasifikasi’ Category

Pelabelan Manual Tweet Tugas Akhir

18 April 2012 3 komentar

To the point saja. Intinya, saya sedang mengerjakan Tugas Akhir (TA) saya, mengenai Analisis Sentimen atau Sentiment Analysis. Dengan data berasal dari Twitter, yang saya batasi khusus sentimen terhadap tokoh publik di Indonesia.

Nah, saya menggunakan metode pembelajaran mesin, atau machine learning, yang artinya membutuhkan data training. Target saya adalah menggunakan 3.000 tweet yang saya comot dari Twitter selama seminggu, dan mengambil sample secara random.

Saya sudah mencoba melabeli sekitar 200an tweet. Setelah saya coba, hasilnya tidak terlalu bagus, bahkan cenderung jelek dengan akurasi 50-60 %. Algoritma yang saya gunakan adalaha Naive Bayes dari NLTK. Sedangkan preproses yang digunakan, saya rasa sudah cukup maksimal, bahkan sampai menggunakan levenshtein distance untuk mengantisipasi kesalahan ketik di tweet.

Sebenarnya, tujuan TA saya bukan sekadar mengklasifikasikan lalu menentukan sentimen. Tetapi sampai ke analisis, kenapa bisa memperoleh sentimen seperti itu. Akibatnya, saya harus mengambil tweet dalam suatu durasi waktu. Yang artinya, butuh banyak tweet.

Kembali ke masalah. Ternyata, rakyat Republik Twitter Indonesia seringkali memberikan tanggapan atau sentimen secara tidak langsung. Bisa sindiran, sarkasme, atau yang paling lucu sekaligus menyiksa saya, membuat lelucon. Jadi, kalau tidak tahu konteks, pasti akan mengira bersentimen negatif, tapi sebenarnya positif. Dan ini yang luput dari pengamatan saya di pelabelan 200 tweet tadi.

Semula saya ingin meminta bantuan untuk pelabelan ini kepada siapa saja yang nyasar membaca blog ini. Tapi, itu tidak jadi saya lakukan. Karena, memang sangat banyak, 3.000 bung. Tapi, kalau ingin membantu, silahkan download di data_training_TA_Ismail Sunni. Jika sudah, bisa dikirim via email ke ismailsunni[at]yahoo[dot]co[dot]id. Saya akan sangat berterima kasih sekali. Tetapi, saya tidak bisa memberikan imbalan apa-apa, saya masih mahasiswa.

Nantinya, data training ini akan saya upload. Barangkali ada yang membutuhkan bisa segera mengunduhnya. Terima kasih.

Cara menggunakan hasil klasifikasi pada WEKA

26 Juni 2011 46 komentar

Setelah melakukan pemilihan metode untuk melakukan klasifikasi, dan sudah menemukan metode yang paling cocok, tentu kita akan menggunakan hasilnya untuk memprediksi hasil klasifikasi dari sekumpulan data yang baru. Di sini, akan dijelaskan mengenai cara menggunakan hasil klasifikasi tersebut di WEKA.

Anggaplah kita sudah menemukan metode yang pas. Misal, dalam kasus ini, dengan J48 alias pohon C4.5. Catatan : kalau gambarnya tidak jelas, bisa diklik untuk memperbesar.

  1. Pilih test options–>supplied test set–>klik set

    Test options

    Test options

  2. Pilih file yang akan diprediksi Baca selengkapnya…

Test Options pada WEKA

Sekali lagi, tulisan ini saya tulis berdasarkan pertanyaan dari Saudari Tita yang muncul di blog ini. Mengenai

mau tanya bedanya cross validation sama use training set apa?

Biar lengkap, saya tulis semua saja.

Jadi, ketika ingin melakukan klasifikasi dengan menggunakan WEKA, akan ada 4 (empat) buah pilihan, yang disebut dengan test options. Test options ini digunakan untuk mengetes hasil dari klasifikasi yang telah dilakukan. Berikut penjelasan mengenai masing-masing option.

  1. Use training set
    Pengetesan dilakukan dengan menggunakan data training itu sendiri.
  2. Supplied test set
    Pengetesan dilakukan dengan menggunakan data lain. Dengan menggunakan option inilah, kita bisa melakukan prediksi terhadap data tes. Akan dijelaskan di postingan selanjutnya.
  3. Cross-validation
    Pada cross-validation, akan ada pilihan berapa fold yang akan digunakan. Nilai default-nya adalah 10. Mekanisme-nya adalah sebagai berikut :
    Data training dibagi menjadi k buah subset (subhimpunan). Dimana k adalah nilai dari fold. Selanjutnya, untuk tiap dari subset, akan dijadikan data tes dari hasil klasifikasi yang dihasilkan dari k-1 subset lainnya. Jadi, akan ada 10 kali tes. Dimana, setiap datum akan menjadi data tes sebanyak 1 kali, dan menjadi data training sebanyak k-1 kali.
    Kemudian, error dari k tes tersebut akan dihitung rata-ratanya.
  4. Percentage split
    Hasil klasifikasi akan dites dengan menggunakan k% dari data tersebut. k merupakan masukan dari user.

Kalau untuk penjelasan kenapa ketika menggunakan use training set lebih tinggi nilai akurasinya dari cross-validation, saya sendiri belum begitu tahu juga. Belum mengeksplor lebih jauh tepatnya. Apakah hanya kebetulan, atau memang konsisten seperti itu untuk semua data. Hipotesis awal saya, karena use training set diuji dengan dia sendiri, sementara cross validation data yang digunakan untuk membentuk hasil klasifikasi dan untuk mengetesnya berbeda. Walaupun, merupakan satu kesatuan data.

Mungkin, kurang lebih seperti itu. Mohon koreksi jika ada kesalahan.