Materi
Pohon keputusan memilih satu atribut pemecah di setiap simpul. Kelas Machine Learning Dasar melatih DecisionTreeClassifier sebagai model; pelajaran ini menghitung ukuran di balik pilihan itu ketika criterion="entropy". User Guide scikit-learn menulis kriteria entropy sebagai entropi Shannon atas porsi kelas di sebuah simpul: H = −Σ pᵢ log₂ pᵢ, dengan pᵢ porsi kelas ke-i. Simpul murni (satu kelas saja) berentropi 0; dua kelas sama banyak berentropi 1 bit.
Information gain (IG) sebuah atribut adalah entropi sebelum dipecah dikurangi rata-rata tertimbang entropi anak-anaknya: IG = H(induk) − Σ (n_anak ÷ n) × H(anak). Atribut dengan IG terbesar paling banyak mengurangi ketidakpastian kelas, sehingga dipilih sebagai pemecah.
Contoh: 10 pelamar, 5 diterima dan 5 ditolak, jadi H(induk) = 1. Atribut "punya sertifikat" memecah mereka menjadi 4 pelamar bersertifikat yang semuanya diterima (H = 0) dan 6 pelamar tanpa sertifikat, 1 diterima dan 5 ditolak (H ≈ 0,650). IG = 1 − (0,4 × 0 + 0,6 × 0,650) ≈ 0,61.
import math
def H(*porsi):
return -sum(p * math.log2(p) for p in porsi if p > 0)
print(round(H(1/6, 5/6), 3)) # 0.65
print(round(1 - (0.4 * H(1.0) + 0.6 * H(1/6, 5/6)), 2)) # 0.61