Devy Ferdiansyah, M. Kom

Kumpulan BLOG dan VLOG Pribadi Koe

Decision Tree Untuk Menentukan Pertandingan Tenis Dimainkan atau Tidak dengan Algoritma C4.5

5 min read

Algoritma C4.5 merupakan salah satu solusi pemecahan kasus yang sering digunakan dalam pemecahan masalah pada teknik klasifikasi. Keluaran dari algoritma C4.5 itu berupa sebuah decision tree layaknya teknik klasifikasi lain. Sebuah pohon keputusan adalah sebuah struktur yang dapat digunakan untuk membagi kumpulan data yang besar menjadi himpunan-himpunan record yang lebih kecil dengan menerapkan serangkaian aturan keputusan. Dengan masing-masing rangkaian pembagian, anggota himpunan hasil menjadi mirip satu dengan yang lain (Berry & Linoff, 2004).

Kali ini kita akan coba membahas sebuah data tentang apakah suatu pertandingan bola tenis dimainkan atau tidak berdasarkan beberapa variabel atau kemungkinan. Berikut adaah datanya.

Jika kita perhatikan diatas terdapat beberapa atribut yang berisikan nilai-nilai yang berbeda-beda, atribut-atribut tersebut adalah

  • Outlook
  • Temperature
  • Humadity
  • Windy
  • Play

Berdasarkan atribut-atribut tersebut kita akan membuat langkah-langkah untuk algoritma C4.5 nya, yaitu sebagai berikut:

  • Mencari nilai Entrophy dari masing-masing nilai pada atribut
  • Mencari nilai Gain pada masing-masing atribut
  • Menentukan atribut mana yang mendai ROOT Node berdasarkan nilai Gain tertinggi dari masing-masing atribut
  • Menentukan cabang / branch berdasarkan masing-masing nilai dari atribut terpilih
  • Ulangi semua proses sampai pada titik terakhir

Mari kita mulai memproses data tersebut diatas, pada tulisan sebelumnya saya sudah membahas tentang bagaimana mencari nillai Entrophy dan Gain dengan menggunakan rumus Ms. Excel ataupun dengan Kalkulator, silahkan cek disini http://devyferdiansyah.com/2021/01/29/formula-excel-untuk-menghitung-entrophy-dan-gain-pada-algoritma-c4-5/, kita review sedikit mulai dari penentuan ROOT Node.

Setelah dilakukan perhitungan Entrophy dari semua nilai dari masing-masing atribut, maka didapatlah nilai Gain tertinggi nya, bedasar ggambar sebelah kanan diatas baris yang ditandai background kuning adalah merupakan atribut dengan nilai Gain tertinggi yaitu : HUMADITY dengan masing nilai nya HIGH dan NORMAL. Buat cara perhitungannya lihat disini http://devyferdiansyah.com/2021/01/29/formula-excel-untuk-menghitung-entrophy-dan-gain-pada-algoritma-c4-5/, jadi kita tinggal membuat ROOT NODE nya beserta nilainya, seperti gambar berikut ini:

Selanjutnya membuat cabang atau NODE ke-2, jika dilihat lagi dari perhitungan diatas, HUMADITY mempunya 2 buah nilai yaitu HIGH dan NORMAL, untuk menentukan atribut mana yang terpilih menjad CABANG atau BRANCH adalah diambil dari nilai yang bukan 0 dari atribut ROOT NODE, yang ditandai background HIJAU adalah nilai HIGH dari atribut HUMADITY.

Berarti data semula yang terdiri dari 14 record atau baris, kita sisihkan lalu kita ambil hanya data yang mengandung nilai HIGH pada atribut HUMADITY saja untuk menentukan nilai-nilai apa saja yang dijadikan sebagai CABANG atau BRANCH, yang lagi-lagi menggunakan perhitungan mencari NILAI GAIN terbesar berdasarkan pada nilai Entrophy dari data sisa yang telah disisihkan, seperti gambar berikut

Dari gambar diatas, jumlah atribut tersisa adalah

  • Outlook
  • Temperature
  • Windy

Disini kita coba ulangi kembali proses perhitungannya yah, dari masing-masing atribut diatas mempunyai nilai-nilai yang harus kita cari nilai Entrophy nya, lalu menentukan nilai Gain terbesar yang nantinya akan dijadikan sebagai CABANG / BRANCH selanjutnya. Perhitungannya adalah antara lain

  • Jumlah kasus =COUNT(A21:A27)
  • Jumlah Play bernilai Yes =COUNTIF($F$21:$F$27,L20)
  • Jumlah Play bernilai No =COUNTIF($F$21:$F$27,M20)
  • Total Entrophy =IFERROR((-(L21/K21)*LOG((L21/K21),2))+(-(M21/K21)*LOG((M21/K21),2)),0)

Diatas adalah rumus excel mencari nilai Total dari keseluruhan data tersisa, kemudian kita akan mencari nilai untuk masing-masing nilai atribut nya, disini kita coba ambil perhitungan untuk atribut OUTLOOK yang memiliki nilai masing-masing SUNNY, CLOUDY, RAINY

  • Jumlah kasus [K23] =COUNTIF($B$21:$B$27,J23)
  • Jumlah Play bernilai Yes [L23] =COUNTIFS($F$21:$F$27,”Yes”,$B$21:$B$27,J23)
  • Jumlah Play bernilai No [M23] =COUNTIFS($F$21:$F$27,”No”,$B$21:$B$27,J23)
  • Total Entrophy [N23] =IFERROR((-(L23/K23)*LOG((L23/K23),2))+(-(M23/K23)*LOG((M23/K23),2)),0)

Penjelasan dari rumus excel diatas adalah seperti ini,

  • Fungsi COUNTIF adalah fungsi yang digunakan dalam formula excel untuk menghitung dengan menggunakan kondisi tertentu, jika dilihat dari rumus jumlah kasus K4 diatas berarti membacanya nya adalah hitung jika atau hanya jumlah data dari sample area yang dipilih ($B$2:$B$15) yang mengandung kata pada sel J4 yaitu “Sunny”, karena rumus COUNTIF dari excel adalah =COUNTIF(Range;Criteria), jadi range disini adalah area yang dijadikan sebagai data sorotan sedangakan simbol $ adalah merupakan fungsi absolut pada range yang disorot, caranya adalah dengan tombol F4 pada keyboard setelah mem blok area yang di sorot yaa.
  • Fungsi COUNTIFS adalah fungsu yang hampir sama dengan COUNTIF, bedanya fungsi ini bisa melakukan multiple kondisi atau criteria. Rumusnya adalah =COUNTIFS(Criteria_Range1;Criteria1,….), jika kita lihat dari rumus mencari jumlah Kasus Yes pada Sel L4 diatas, maka cara membacanya adalah mencari nilai YES pada area F2-F15 pada sampel data pada area Atribut Outlook B2-B15 yang mengandung kata J4 atau “Sunny”. Sama seperti penjelasan sebelumnya, fungsi simbol $ adalah absolut yaitu dengan menekan tombol F4 pada keyboard setelah melakukan blok area yang disorot.

Fungsi IFERROR adalah fungsi yang digunakan untuk memberikan nilai NOL jika hasil yang ditemukan berupa ERROR.

Hasil dari perhitungan diatas maka kita dapatkan NODE ke-2,  yaitu nilai CLOUDY, RAINY, SUNNY dari nilai GAIN terbesar terhadap atribut OUTLOOK, sehingga akan terbentuk Decision Tree seperti berikut ini

Nah, dari hasil perhitungan diatas juga pada tabel sebelah kanan di dapatkan nilai Entrophy bukan 0 terdapat pada nilai RAINI pada atribut OUTLOOK, langkah selanjutnya kita akan melakukan proses data lagi terhadap data-daya yang mengandung nilai RAINY pada atribut OUTLOOK seperti dibawah ini

Jika kita lihat pada gambar diatas, berarti hanya tinggal atribut TEMPERATURE dan WINDY yang dijadikan data untuk proses perhitungan mencari NODE ke-3 berdasarkan nilai Entrophy dan GAIN nya. Proses perhitungannya tetap menggunakan rumus yang sama, yang berbeda hanya SEL yang di cari nilainya, area yang dijadikan sebagai batasan datanya serta kondisi atau kriteria pencarian datanya yaaaa, disini kita coba ambil perhitungan untuk atribut WINDY yang memiliki nilai masing-masing TRUE, FALSE.

Berikut adalah rumus excel untuk TOTAL ENTROPHY

  • Jumlah kasus total [K37] =COUNT(A37:A42)
  • Jumlah total Play bernilai Yes [L37] = =COUNTIF($F$37:$F$38,L36)
  • Jumlah total Play bernilai No [M37] =COUNTIF(F37:F38,M36)
  • Jumlah Total Entrophy [N37] =IFERROR((-(L37/K37)*LOG((L37/K37),2))+(-(M37/K37)*LOG((M37/K37),2)),0)

Berikut adalah rumus Excel untuk nilai TRUE pada atribut WINDY

  • Jumlah kasus [K43] =COUNTIF($E$37:$E$38,J43)
  • Jumlah Play bernilai Yes [L43] =COUNTIFS($F$37:$F$38,”Yes”,$E$37:$E$38,J43)
  • Jumlah Play bernilai No [M43] =COUNTIFS($F$37:$F$38,”No”,$E$37:$E$38,J43)
  • Total Entrophy [N43] =IFERROR((-(L43/K43)*LOG((L43/K43),2))+(-(M43/K43)*LOG((M43/K43),2)),0)

Sedangkan untuk rumus nilai GAIN untuk atribut WINDY nya adalah

=$N$37-(((K44/$K$37)*N44)+((K43/$K$37)*N43))

Sehingga hasil akhir dari Decision Tree nya adalah sebagai berikut

Untuk file excelnya dapat di download di sini Sini, Selamat mencoba

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *