Algoritma C 4.5 diperkenalkan oleh Quinlan (1996) untuk mengatasi kelemahan dari ID3 yang lemah
pada fitur bertipe numerik. Cara kerjanya sama dengan ID3, yaitu menggunakan kriteria gain dalam
menentukan fitur yang menjadi pemecah node pada pohon yang diinduksi. Perbedaannya terletak pada bagaimana menyatakan syarat pengujian pada node, yaitu terdiri dari:
1. Fitur Biner
Syarat pengujian ketika fitur ini menjadi node, maka hanya memiliki 2 pilihan cabang.
2. Fitur Bertipe Kategorikal
Fitur ini bisa memiliki beberapa nilai berbeda, sehingga bisa mempunyai banyak kombinasi dalam
syarat pengujian pemecahan. Secara umum, ada 2 pemecahan, yaitu: pemecahan biner dan
pemecahan multi.
3. Fitur Bertipe Numerikal
Syarat pengujian dalam node dinyatakan dengan:
- Pengujian perbandingan (A < v) atau (A >= v) dengan hasil biner. Untuk kasus ini, algoritma
akan memeriksa semua kemungkinan posisi pemecahan v dan memilih v yang terbaik.
- Pengujian multi dengan hasil berupa jangkauan nilai dalam bentuk vi <= A < vi+1, untuk i = 1, 2,
…, k. Untuk kasus ini, algoritma harus memerika semua kemungkinan jangkauan nilai kontinyu.
Algoritma:
1. Dimulai dari mencari node akar;
2. Hitung Entropy class dari semua sampel (data latih) pada node menggunakan Persamaan (1);
3. Untuk setiap fitur (atribut input), hitung Entropy dari setiap nilai berbeda fitur ke-i menggunakan Persamaan (1) jika fitur tersebut bertipe kategorikal atau biner. Namun jika suatu fitur memiliki nilai numerik (bertipe numerik), maka tentukan lebih dahulu posisi v yang terbaik dengan menggunakan salah satu pemecahan biner atau multi menggunakan Persamaan (1) untuk mencari nilai Entropy dan Persamaan (2) untuk mencari nilai Gain, lalu pilih v yang memiliki nilai Gain tertinggi dan kembali hitung Entropy dari setiap v ke-i di fitur ke-i tersebut;
4. Hitung Gain dari setiap fitur ke-i menggunakan Persamaan (2) lalu pilih fitur yang memiliki nilai Gain paling maksimal. Jika fitur yang terpilih tersebut memiliki nilai yang berbeda > 2, maka lakukan kombinasi dari setiap nilainya, hitung Entropy-nya masing-masing dari setiap nilai pada setiap kombinasi yang ada menggunakan Persamaan (3) dan pilih kombinasi yang memiliki nilai Gain maksimal berdasarkan nilai Rasio Gain-nya menggunakan Persamaan (4);
5. Gunakan fitur yang terpilih tersebut sebagai node pemecahan menjadi cabang;
6. Lakukan secara rekursif pada setiap cabang yang dibuat dengan mengulangi langkah 2 s/d 5 hingga semua data dalam setiap node hanya memberikan 1 label class. Node yang tidak dapat dipecah lagi merupakan daun yang berisi keputusan (label class).