Algoritma Data Mining Pohon keputusan C4.5

Secara umum, pohon keputusan adalah suatu gambaran permodelan dari suatu persoalan yang terdiri dari serangkaian keputusan yang mengarah kepada solusi yang dihasilkan. Peranan pohon keputusan sebagai alat bantu dalam mengambil keputusan telah dikembangkan oleh manusia sejak perkembangan teori pohon yang dilandaskan pada teori graf. Seiring dengan perkembangannya, pohon keputusan kini telah banyak dimanfaatkan oleh manusia dalam berbagai macam sistem pengambilan keputusan.

Algoritma data mining C4.5 merupakan salah satu algoritma yang digunakan untuk melakukan klasifikasi atau segmentasi atau pengelompokan dan bersifat prediktif. Dasar algoritma C4.5 adalah pembentukan pohon keputusan (decision tree). Cabang-cabang pohon keputusan merupakan pertanyaan klasifikasi dan daun-daunnya merupakan kelas-kelas atau segmen-segmennya.

Algoritma C4.5 merupakan salah satu algoritma machine learning Dengan algoritma ini, mesin (komputer) akan diberikan sekelompok data untuk dipelajari yang disebut learning dataset. Kemudian hasil dari pembelajaran selanjutnya akan digunakan untuk mengolah data-data yang baru yang disebut test dataset. Karena algoritma C4.5 digunakan untuk melakukan klasifikasi, jadi hasil dari pengolahan test dataset berupa pengelompokkan data ke dalam kelas-kelasnya.

Decision tree adalah struktur flowchart yang menyerupai tree (pohon), dimana setiap simpul internal menandakan suatu tes pada atribut, setiap cabang merepresentasikan hasil tes, dan simpul daun merepresentasikan kelas atau distribusi kelas. Alur pada decision tree di telusuri dari simpul akar ke simpul daun yang memegang prediksi. (Han, J., & Kamber, M. (2006). Data Mining Concept and Tehniques. San Fransisco: Morgan Kauffman.)

Berikut ini adalah uraian langkah-langkah dalam algoritma C4.5 untuk menyelesaikan kasus suatu proses pengangkatan promosi dari sekumpulan data pegawai Outsource menjadi pegawai tetap, berdasarkan hasil test IQ, Wawancara, Keterlambatan (absensi), Hubungan Sosialdan Kinerja kelembaban, dan angin. Data yang telah dikumpulkan pada Tabel 1, akan digunakan untuk membentuk pohon keputusan.

Tabel 1 Data

Data dari Perusahaan XYZ
No Keterlambatan Wawancara HubunganSosial Kinerja IQ_GMA Promosi
1 Terlambat>4x sebulan Lulus Baik Baik Istimewa Angkat Tetap
2 Terlambat<2x sebulan Tidak Lulus Baik Baik Istimewa Angkat Tetap
3 Terlambat 2 - 4x sebulan Tidak Lulus Baik Baik Istimewa Angkat Tetap
4 Terlambat<2x sebulan Tidak Lulus Bermasalah Cukup Rerata Angkat Tetap
5 Terlambat 2 - 4x sebulan Lulus Bermasalah Kurang Jauh dibawah rerata Tidak diangkat
6 Terlambat 2 - 4x sebulan Lulus Bermasalah Baik Istimewa Angkat Tetap
7 Terlambat>4x sebulan Lulus Bermasalah Cukup Rerata Angkat Tetap
8 Terlambat>4x sebulan Tidak Lulus Bermasalah Baik Jauh dibawah rerata Tidak diangkat
9 Terlambat>4x sebulan Tidak Lulus Baik Baik Dibawah rerata Tidak diangkat
10 Terlambat 2 - 4x sebulan Lulus Bermasalah Kurang Istimewa Angkat Tetap

Data dikumpulkan berjumlah 249 responden dalam kurun waktu 6 bulan.

Mengolah dengan Algoritma Tree C4.5

Diagram Alur Tree yang dihasilkan

Berikut hasil pohon keputusan yang dihasilkan

## Rattle: A free graphical interface for data mining with R.
## Version 4.1.0 Copyright (c) 2006-2015 Togaware Pty Ltd.
## Type 'rattle()' to shake, rattle, and roll your data.

Dari gambar diatas tampak pada data yang diolah menunjukkan pola sebagai berikut :

  • Pertama kali yang dilihat adalah hasil Alat IQ General mental Ability, jika rerata, diatas rerata bahkan istimewa maka akan dilanjutkan ke pemeriksaaan selanjutnya, jika berada pada dibawah rerata bahkan jauh dibawah rerata maka akan dinyatakan tidak diangkat. Jumlah yang diproses ke langkah berikutnya pada data tersebut adalah : 66%, dan 34% dari data langsung dinyakatakan tidak lulus.

  • Langkah Kedua Wawancara, jika wawancara lulus maka langsung dipromosi menjadi pegawai tetap (terdapat 53% data), sedangkan yang tidak lulus wawancara maka akan dilanjutkan ke langkah ke tiga.

  • Langkah ketiga dilihat tingkat absensi atau keterlambatannya Jika terlambatnya lebih atau sama dengan 4 kali sebulan langsung dinyatakan “tidak diangkat”( terdapat 2% dari seluruh data), namun jika keterlambatannya tidak pernah hingga 2-3X maka akan dilanjutkan ke langkah ke empat

  • Langkah Ke empat, jika tingka IQ GMA diatas rerata, atau rerata langsung diangkat menjadi pegawai tetap (terdapat 8% dari data), sedangkan jika IQnya dibawah bahkan jauh dibawah rerata lanjutkan kelangkah 5

  • Langkah 5 Jika keterlambatan lebih kecil dari 2 bulan maka diangkat sebagai pegawai tetap (terdapat 2% dari data), Jika tidak lanjutkan ke langkah selanjutnya.

  • Langkah 6 jika Hubungan sosial baik angkat menjadi pegawai tetap (untuk saat ini tidak ada kasus), tetapi jika hubungan sosial tidak baik atau bermasalah maka tidak diangkat jumlahnya ada 1% kasus.

Akurasi dari Prediksi

Selanjutnya kita akan melihat sejauh mana akurasi prediksi yang dari algoritma C4.5 ini

## Loading required package: lattice
## Loading required package: ggplot2
## Confusion Matrix and Statistics
## 
##                 Reference
## Prediction       Angkat Tetap Tidak diangkat
##   Angkat Tetap            157              1
##   Tidak diangkat            0             91
##                                           
##                Accuracy : 0.996           
##                  95% CI : (0.9778, 0.9999)
##     No Information Rate : 0.6305          
##     P-Value [Acc > NIR] : <2e-16          
##                                           
##                   Kappa : 0.9914          
##  Mcnemar's Test P-Value : 1               
##                                           
##             Sensitivity : 1.0000          
##             Specificity : 0.9891          
##          Pos Pred Value : 0.9937          
##          Neg Pred Value : 1.0000          
##              Prevalence : 0.6305          
##          Detection Rate : 0.6305          
##    Detection Prevalence : 0.6345          
##       Balanced Accuracy : 0.9946          
##                                           
##        'Positive' Class : Angkat Tetap    
## 

Akurasi dari Algoritma C45 ini mencapai 0.996 dengan taksiran batas bawah berada pada 0.9778 dan tertinggi 0.9999 untuk tingkat kepercayaan sebesar 0.95, ini menunjukkan akurasi yang sangat tinggi. Artinya perhitungan algoritma dapat menggambarkan pola atau pattern sebesar 95% dari data yang ada.

Akurasi ROC (Receiver Operating Curve)

Akurasi dengan melalui metode ROC didapatkan

## Loading required package: gplots
## 
## Attaching package: 'gplots'
## The following object is masked from 'package:stats':
## 
##     lowess

Dari Kurva di atas maka didapat area dibawah kurva RO sudah mencapai 0.995 (sangat tinggi). Artinya perhitungan algoritma dapat menggambarkan pola atau pattern sebesar 99.5% dari data yang ada.

Melakukan Pengujian Algoritma dengan Data test yang Baru

Menarik data Test

Dari kenyataan kami mengambil 30 data test terbaru dari waktu yang berbeda untuk diuji dengan algoritma yang dihasilkan diatas berikut datanya Tabel 2 : data Test dari PT XYZ

Data Test Terbaru dari Perusahaan XYZ
No Keterlambatan Wawancara HubunganSosial Kinerja IQ_GMA Promosi
1 Terlambat>4x sebulan Lulus Bermasalah Cukup Istimewa Angkat Tetap
2 Terlambat 2 - 4x sebulan Tidak Lulus Baik Cukup Jauh dibawah rerata Tidak diangkat
3 Terlambat>4x sebulan Lulus Baik Kurang Rerata Angkat Tetap
4 Terlambat<2x sebulan Lulus Baik Baik Istimewa Angkat Tetap
5 Terlambat>4x sebulan Tidak Lulus Baik Baik Jauh dibawah rerata Tidak diangkat
6 Terlambat 2 - 4x sebulan Lulus Baik Naik Rerata Angkat Tetap
7 Terlambat 2 - 4x sebulan Tidak Lulus Bermasalah Cukup Dibawah rerata Tidak diangkat
8 Terlambat>4x sebulan Lulus Baik Cukup Dibawah rerata Tidak diangkat
9 Terlambat>4x sebulan Lulus Baik Kurang Diatas Rerata Angkat Tetap
10 Terlambat>4x sebulan Lulus Baik Kurang Rerata Angkat Tetap

Menguji Algoritma C4.5 dengan data test

ROCR untuk Data Test

Confusion Matrix dengan Data Test

## Confusion Matrix and Statistics
## 
##                 Reference
## Prediction       Angkat Tetap Tidak diangkat
##   Angkat Tetap             19              0
##   Tidak diangkat            0             11
##                                       
##                Accuracy : 1           
##                  95% CI : (0.8843, 1) 
##     No Information Rate : 0.6333      
##     P-Value [Acc > NIR] : 1.119e-06   
##                                       
##                   Kappa : 1           
##  Mcnemar's Test P-Value : NA          
##                                       
##             Sensitivity : 1.0000      
##             Specificity : 1.0000      
##          Pos Pred Value : 1.0000      
##          Neg Pred Value : 1.0000      
##              Prevalence : 0.6333      
##          Detection Rate : 0.6333      
##    Detection Prevalence : 0.6333      
##       Balanced Accuracy : 1.0000      
##                                       
##        'Positive' Class : Angkat Tetap
## 

Dari keduanya tampak bahwa predictive validitynya 1, 100% baik melalui ROCR ataupun confusion matrix artinya 100% data test mengikuti algoritma yang dibuat pada data train. Artinya Data yang baru dari data test mengikuti pola dari algoritma yang disusun pada data training (data pertama kali kita validasi) dan kecocokannya sebesar 100%. Dari sini tampak bahwa algoritma c4.5 seperti yang digambarkan diatas memiliki predictive validity yang tinggi untuk sekumpulan data yang ada.

Aplikasi lebih lanjut dapat disusun sebuah aplikasi yang dikembangkan berdasarkan algoritma dan flowchart yang telah dijelaskan diatas sehingga membantu manajemen dalam memutuskan calon pegawai yang akan diangkat secara obyektif, akurat dan cepat.

Selamat datang di era data science. Ini baru algoritma Decision tree…. beriktunya saya akan jelaskan algoritma random Forest yang terdiri dari ratusan Decision tree yang diolah secara bersamaan.

Sampai Jumpa…..

Heru Wiryanto

Catatan : Data sets diambil sebahagian kecil dari data set aslinya yang dimiliki oleh PT XYZ. Algoritma ini hanya dapat digunakan untuk kajian simulasi saja. Data diolah dengan Paket-paket pada R environment.