Membangun Decision Tree dengan Entropy (Manual)







  • Pembentukkan decison tree dimulai dari pembentukkan root.
  • Entropy diperlukan untuk membangun sebuah decision tree yaitu pada saat memilih attribut mana yang terbaik sebagai root decision tree.
  • Kali ini kita coba menghitung entropy secara manual.
  • Misalkan S adalah data yang digunakan untuk membuat decision tree.
  • p+ adalah probabilitas instances yang mendukung dalam S.
  • p- adalah probabilitas instances yang tidak mendukung dalam S.
  • Rumus untuk menghitung entropy(S) adalah sbb:

  • Supaya lebih mudah dimengerti, kita masuk saja langsung ke contoh kasusnya.
  • Misalkan kita memiliki data yang akan kita gunakan untuk membuat decison tree sbb:
    • Ada 8 record  data sample
    • Target Attribute label klasifikasi adalah DataScientist (Yes) atau bukan (No)
    • Ada 3 attribute yang bisa digunakan sebagai parameter yaitu Analisis (Baik, Sedang, Kurang), Programming (Baik, Kurang), dan Pendidikan (S2,S3).   


  • Langkah I: Menentukan Root

    • Menentukan node dengan menggunakan nilai Entropy dari setiap kriteria dengan data sample yang ditentukan. 
    • Node terpilih adalah node dengan nilai Entropy yang paling kecil.
    • Okay, attribute yang penting disini adalah Target Attribute yaitu Data Scientist dimana akan dipasangkan dengan masing-masing attribute Analisis, Programming, dan Pendidikan.
    • Kita mulai saja dulu dari attribute Programming. 

    • Kemudian kita hitung Entropy Programming sbb:.
    • E(Programming=Baik)= -(1/4)log(1/4) -(3/4)log2 (3/4) = 0.81
    • E(Programming=Kurang)= -(2/4)log(2/4) -(2/4)log(2/4) = 1
    • E(Programming) = (4/8) E(Programming=Baik)+ (4/8) E(Programming=Kurang) = 1/2 (0.81) + (1/2) (1) = 0.91
    • Kemudian kita hitung entropy untuk Pendidikan sbb:
    • E(Pendidikan=S2)= -(2/6)log(2/6) -(4/6)log(4/6) = 0.92
    • E(Pendidikan=S3)= -(1/2)log(1/2) -(1/2)log(1/2) = 1
    • E(Programming) = (6/8) E(Pendidikan=S2)  + (2/8) E(Pendidikan=S3) = 6/8(0.92) + (2/8) (1) = 0.94


    • Kemudian kita hitung entropy untuk Analisis sbb:
    • E(Analisis=Baik)= -(3/4)log(3/4) -(1/4)log(1/4) = 0.81
    • E(Analisis=Sedang)= -(0)log(0) -(2/2)log(2/2) = 0
    • E(Analisis=Kurang)= -(2/2)log(2/2) -(0)log(0) = 0
    • E(Analisis) = (4/8) E(Analisis=Baik) + (2/8) E(Analisis=Sedang) + 2/8 E(Analisis=Kurang)= 4/8(0.81) + 0 + 0 = 0.41 
    • Catatan disini (0)log(0) bernilai 0 khusus untuk perhitungan entropy. Dengan demikian, kita tidak perlu menyediakan instances lengkap untuk masing-masing attribute.Bila tidak ada instancesnya maka entropy untuk attribut tsb dihitung nol.
    • Karena untuk Entropy Analisis memiliki nilai terkecil, maka kita pilih Analisis sebagai Attribute di root.
    • Maka sampai langkah 1 kita sudah dapat membuat sebuah pohon awal sbb:

Proses Pembentukan decision tree ini belum selesai, masih akan berlanjut pada proses split.

Bacaan berikutnya kembali ke Classification
























No comments:

Post a Comment