Step by step 1,2,3.. Klasifikasi Data

Hallo assalamualaikum temen-temen...!

Di tulisan Nadia kali ini, aku mau nge posting gimana sih tutorial melakukan data mining dari data yang sudah di sediakan. Postingan ini juga sekaligus buat di pake di tugas besar mata kuliah Data Mining. (Yeayy tubes hobby banget bikin tubes 😁!)

Sebelum ke step by step pengerjaannya, aku  mau ngasih tau kalian dulu tentang apa sih itu data mining? Data mining tu dipake buat apa? Dan data mining itu ngapain?

Jadi, data mining (atau ada juga yang bilang penambangan data) adalah ekstraksi pola yang menarik dari data dalam jumlah besar. Suatu pola bisa dibilang  menarik kalau pola tersebut gak sepele, implisit, gak diketahui sebelumnya, dan yang paling penting adalah berguna! Penambangan data diperlukan saat data yang tersedia terlalu banyak (misalnya data yang diperoleh dari sistem basis data perusahaan, e-commerce, data saham, dan data bioinformatika), tetapi tidak tahu pola apa yang bisa didapatkan.

Selanjutnya di proses data mining itu kita mengklasifikasi banyak data. Klasifikasi adalah teknik yang dilakukan untuk memprediksi class atau property dari setiap instance data tersebut. 
Metode dalam klasifikasi merupakan pendekatan sistematis untuk membangun model klasifikasi dari sekumpulan data input.

Contoh:
1. Decision tree (pohon keputusan)
2. Rule-based (berbasis aturan)
3. Neural network (jaringan syaraf)
4. Support Vector Machine (SVM)
5. Naïve Bayes

Model klasifikasi digunakan untuk:
1. Pemodelan deskriptif sebagai perangkat penggambaran untu kmembedakan objek-objek dari
2. kelas berbeda.
3. Pemodelan prediktif digunakan untuk memprediksi label kelas untuk record yang tidak
4. diketahui atau tidak dikenal.

Nah segitu aja deh ya sekilas tentang data mining. Lanjut ke inti utama tulisan aku yaitu tutorial untuk me-mining data. 


Step by step:

1. WEKA
Pertama kita siapin dulu tools yang bakal kita pake. Disini aku pake aplikasi WEKA. Buat temen-temen yang mau download WEKA, nih aku kasih linknya http://www.cs.waikato.ac.nz/ml/weka/downloading.html


2. Download Data Set UCI
Sehabis download dan install WEKA, kita musti punya data yang mau kita mining. Disini aku mau pake Zoo Data Set dari UCI. Nih temen-temen bisa klik link ini biar dapet data set yang sama dengan yang aku pakai https://archive.ics.uci.edu/ml/datasets/Zoo


  • Kalau temen-temen klik pada “Data Set Description”, temen-temen bakal nemu kayak beginian:
Attribute Information: (name of attribute and type of value domain)
   1. animal name:      Unique for each instance
   2. hair Boolean
   3. feathers Boolean
   4. eggs Boolean
   5. milk Boolean
   6. airborne Boolean
   7. aquatic Boolean
   8. predator Boolean
   9. toothed Boolean
  10. backbone Boolean
  11. breathes Boolean
  12. venomous Boolean
  13. fins Boolean
  14. legs Numeric (set of values: {0,2,4,5,6,8})
  15. tail Boolean
  16. domestic Boolean
  17. catsize Boolean
  18. type Numeric (integer values in range [1,7])

         Jadi, dari data tersebut terdiri atas 18 atribut dan ada 7 kelas label yaitu mamalia, ikan, burung, hewan tanpa tulang belakang, serangga, amfibi dan reptile.

  • Kemudian temen-temen harus klik pada “Data Folder”, dan akan keluar tampilan seperti ini:

  •       Kemudian klik pada “zoo.data”, dan akan keluar tampilan seperti ini:

   
  •        Kemudian data tersebut di copy dan paste ke notepad++, dan save data tersebut dengan format .csv (agar bisa di buka di WEKA temen-temen).


3. Olah Data
Kemudian buka file zoo.csv tersebut menggunakan Excel, dan masukkan informasi atributnya, kemudian mengelompokkan tipenya berdasarkan jenis hewan. Di sini angka yang hanya berisi 1 dan 0 merupakan tipe data boolean yang artinya bernilai “TRUE” dan “FALSE”. Sedangkan >0 merupakan tipe data numeric. Setelah mengganti atribut jenis boolean, kelas label diberi nama kolom 'Type' ubah menjadi mamalia/ ikan/ burung/ hewan tanpa tulang belakang/ serangga/ amfibi/ reptile.





Setelah itu temen-temen save file tersebut masih dalam format .CSV untuk nantinya bakal dibuka menggunakan aplikasi WEKA.  


4. Running WEKA
Horaayyy akhirnya kita udah di step ke4 !
Sekarang kita bakalan mumai menggunakan aplikasi WEKA yang sudah kita download tadi untuk mining datanya menggunakan teknik klasifikasi.
  • Pertama, setelah kita buka WEKAnya, pilih menu Explorer di paling atas.

  • Setelah itu kita buka file csv yang tadi kita sudah olah dengan klik ‘Open File…’ (disini fileku namanya zooTubes.csv)


Setelah kita open file csv tersebut, maka WEKA secara otomatis akan mengvisualisasikan data dari setiap atribut yang ada pada data di excel (csv) tadi. Sebagai contoh, berikut merupakan visualisai dari atribut type/jenis hewan:



5. Klasifikasi
Baru awal run di WEKA udah bikin penasaran kan abis ini ngapain lagi…. Nah setelah kita import file zooTubes.csv (a.k.a file csv), di WEKA dan melihat visualisasi pada atribut yang ada, langkah selanjutnya adalah kita akan mengklasifikasi data zoo à data binatang tadi menjadi beberapa tipe. Dalam melakukan klasifikasi kali ini saya memakai teknik Naïve Bayes dan Decision Tree. Nah sebelum lanjut nih..aku mau kasih tau temen-temen biar kenal kitee sama si Naïve Bayes dan Decision Tree. 

Naïve Bayes
adalah suatu klasifikasi berpeluang sederhana berdasarkan aplikasi teorema Bayes dengan asumsi antar variabel penjelas saling bebas (independen). Dalam hal ini, diasumsikan bahwa kehadiran atau ketiadaan dari suatu kejadian tertentu dari suatu kelompok tidak berhubungan dengan kehadiran atau ketiadaan dari kejadian lainnya.
Keuntungan Naïve Bayes adalah:
Kekurangan Naïve Bayes adalah:

        Menangani kuantitatif dan data diskrit
        Kokoh untuk titik noise yang diisolasi, misalkan titik yang dirata – ratakan ketika mengestimasi
        peluang bersyarat data.
        Hanya memerlukan sejumlah kecil data pelatihan untuk mengestimasi parameter (rata – rata dan variansi dari variabel) yang dibutuhkan untuk klasifikasi.
        Menangani nilai yang hilang dengan mengabaikan instansi selama perhitungan estimasi peluang.
        Cepat dan efisiensi ruang.
        Kokoh terhadap atribut yang tidak relevan.

      Tidak berlaku jika probabilitas kondisionalnya adalah nol, apabila nol maka probabilitas prediksi akan bernilai nol juga.
      Mengasumsikan variabel bebas.
      Kemudian untuk Decision Tree merupakan pemetaan mengenai alternatif-alternatif pemecahan masalah yang dapat diambil dari masalah tersebut. Pohon tersebut juga memperlihatkan faktor-faktor  kemungkinan/probablitas yang akan mempengaruhi alternatif-alternatif keputusan tersebut, disertai dengan estimasi hasil akhir yang akan didapat bila kita mengambil alternatif keputusan tersebut.



Decision Tree
adalah sebuah struktur pohon, dimana setiap node pohon merepresentasikan atribut yang telah diuji, setiap cabang merupakan suatu pembagian hasil uji, dan node daun (leaf) merepresentasikan kelompok kelas tertentu. Level node teratas dari sebuah Decision Tree adalah node akar (root) yang biasanya berupa atribut yang paling memiliki pengaruh terbesar pada suatu kelas tertentu.

Keuntungan Decision Tree adalah:
Kekurangan Decision Tree adalah:

  •             Daerah pengambilan keputusan yang sebelumnya kompleks dan sangat global, dapat diubah menjadi lebih simpel dan spesifik.
  •             Eliminasi perhitungan-perhitungan yang tidak diperlukan, karena ketika menggunakan metode pohon keputusan maka sample diuji hanya berdasarkan kriteria atau kelas tertentu.
  •             Fleksibel untuk memilih fitur dari internal node yang berbeda, fitur yang terpilih akan membedakan suatu kriteria dibandingkan kriteria yang lain dalam node yang sama.
  •             Kefleksibelan metode pohon keputusan ini meningkatkan kualitas keputusan yang dihasilkan jika dibandingkan ketika menggunakan metode penghitungan satu tahap yang lebih konvensional.
  •             Dalam analisis multivariat, dengan kriteria dan kelas yang jumlahnya sangat banyak, seorang penguji biasanya perlu untuk mengestimasikan baik itu distribusi dimensi tinggi ataupun parameter tertentu dari distribusi kelas tersebut. Metode pohon keputusan dapat menghindari munculnya permasalahan ini dengan menggunakan criteria yang jumlahnya lebih sedikit pada setiap node internal tanpa banyak mengurangi kualitas keputusan yang dihasilkan.


        Terjadi overlap terutama ketika kelas-kelas dan criteria yang digunakan jumlahnya sangat banyak. Hal tersebut juga dapat menyebabkan meningkatnya waktu pengambilan keputusan dan jumlah memori yang diperlukan.
        Pengakumulasian jumlah eror dari setiap tingkat dalam sebuah pohon keputusan yang besar.
        Kesulitan dalam mendesain pohon keputusan yang optimal.
        Hasil kualitas keputusan yang didapatkan dari metode pohon keputusan sangat tergantung pada bagaimana pohon tersebut didesain.



Yaaaa...segitu dah yaa informasi yang gak singkat dan lumayan panjang tentang Naïve Bayes dan Decision Tree >.<

Sekarang yuk kita mulai mengklasifikasi data set pake Naïve Bayes terlebih dahulu.
  • Pada weka klik option “Classify” untuk mengklasifikasikan data set tersebut 
  • Pada menu classifier, klik “choose”  untuk menentukan metode apa dulu yang akan digunakan 
  • Pilih naïve, lalu klik naïve bayes
  • Set Percentage Splitnya menjadi 56%. Kemudian setelah itu klik “Start” untuk memulai mengklasifikasikannya. Pada gambar di bawah kita menggunakan 56% dari data set sebagai training setnya dan sisanya 48% sebagai test setnya. 

Dari hasil klasifikasi tersebut dilihat bahwa:
a: 18 hewan adalah mamalia
b: 5 hewan adalah ikan,
c: 7 hewan berjenis burung
d: 5 hewan adalah berjenis hewan tanpa tulang belakang
e: 5 hewan berjenis serangga
f: 1 hewan berjenis amfibi
g: 1 hewan berjenis reptil.  
Terdapat 2 error hewan serangga --> di d



Kemudian di atas adalah hasil dengan Correctly Classified Instances sebesar 95% dan Incorrectly Classified Instances sebesar 4 % .




Setelah itu, kita mulai mengklasifikasi data set dengan Decision Tree.
  • Pada menu classifier, klik “choose”
  • Pilih trees, lalu klik J48

Set Percentage Splitnya masih sama dengan Naive Bayes tadi yaitu 56%. Kemudian setelah itu klik “Start” untuk memulai mengklasifikasikannya.

Dari hasil klasifikasi tersebut dilihat bahwa:
a: 18 hewan adalah mamalia
b: 5 hewan adalah ikan
c: 7 hewan berjenis burung
d: 5 hewan adalah berjenis hewan tanpa tulang belakang
f: 1 hewan berjenis amfibi
g: 1 hewan berjenis reptil.
Terdapat 7error hewan berjenis serangga --> di d




Kemudian di atas adalah hasil dengan Correctly Classified Instances sebesar 84% dan Incorrectly Classified Instances sebesar 16 % .

Jika kita ingin memvisualisasikannya menjadi pohon keputusan, caranya adalah dengan mengklik kanan pada metodenya lalu pilih “visualize tree” 


dan untuk melihat lebih / lebih besar, kita perbesar dulu jendelanya lalu klik kanan pada tampilannya, klik “Fit To Screen” 

Jadi deh....




Kesimpulan
Setelah melakukan uji coba menggunakan 2 metode tadi yaitu Naïve Bayes dan Decision Tree dengan
hasil:


  • Correctly Classified Instances sebesar 95% dan Incorrectly Classified Instances sebesar 4% untuk metode Naïve Bayes
  • Correctly Classified Instances 84% dan Incorrectly Classified Instances 16%untuk metode Decision Tree
Maka data set ZOO tersebut dalam pengklasifikasiannya cocok menggunakan metode Naïve Bayes dibandingkan dengan Decision Tree.

Komentar

Postingan populer dari blog ini

NER (Named-entity recognition) Pada Relasi Artikel Dengan Python