Pohon keputusan

Model hutan keputusan terdiri dari pohon keputusan. Algoritma pembelajaran pohon keputusan (seperti forest acak) setidaknya sebagian bergantung pada pembelajaran pohon keputusan.

Di bagian kursus ini, Anda akan mempelajari contoh set data kecil, dan mempelajari bagaimana pohon keputusan tunggal dilatih. Di bagian selanjutnya, Anda akan mempelajari bagaimana pohon keputusan digabungkan untuk melatih forest keputusan.

Kode YDF

Dalam YDF, gunakan pembelajar CART untuk melatih model pohon keputusan individual:

# https://ydf.readthedocs.io/en/latest/py_api/CartLearner
import ydf
model = ydf.CartLearner(label="my_label").train(dataset)

Model

Pohon keputusan adalah model yang terdiri dari kumpulan "pertanyaan" yang disusun secara hierarkis dalam bentuk pohon. Pertanyaannya biasanya disebut kondisi, terpisah, atau pengujian. Kita akan menggunakan istilah "{i>condition<i}" dalam kelas ini. Setiap node bukan daun berisi kondisi, dan setiap node daun berisi prediksi.

Pohon tumbuhan umumnya tumbuh dengan root di bagian bawah; namun, pohon keputusan biasanya diwakili dengan root (node pertama) di bagian atas.

Pohon keputusan yang berisi dua kondisi dan tiga daun. Kondisi
pertama (root) adalah num_legs >= 3; kondisi kedua adalah
num_eyes >= 3. Tiga daun itu adalah penguin,
{i>spider<i}, dan {i>dog<i}.

Gambar 1. Pohon keputusan klasifikasi sederhana. Legenda berwarna hijau bukan bagian dari pohon keputusan.

 

Inferensi model pohon keputusan dihitung dengan merutekan contoh dari root (di bagian atas) ke salah satu node daun (di bagian bawah) sesuai dengan kondisi. Nilai daun yang tercapai adalah prediksi pohon keputusan. Kumpulan node yang dikunjungi disebut jalur inferensi. Misalnya, pertimbangkan nilai fitur berikut:

num_legs num_eyes
4 2

Prediksinya adalah dog. Jalur inferensi adalah:

  1. num_legs ≥ 3 → Ya
  2. num_eyes ≥ 3 → Tidak

Ilustrasi yang sama seperti Gambar 1, tetapi ilustrasi ini menunjukkan jalur inferensi dalam dua kondisi, yang berakhir di leaf untuk dog.

Gambar 2. Jalur inferensi yang berpuncak pada *dog* daun pada contoh *{num_legs : 4, num_eyes : 2}*.

 

Pada contoh sebelumnya, daun pohon keputusan berisi prediksi klasifikasi; yaitu, setiap daun berisi satu spesies hewan di antara serangkaian kemungkinan spesies.

Demikian pula, pohon keputusan dapat memprediksi nilai numerik dengan melabeli daun dengan prediksi regresif (nilai numerik). Misalnya, pohon keputusan berikut memprediksi skor kelucuan numerik hewan antara 0 dan 10.

Pohon keputusan yang setiap daunnya berisi angka floating point yang berbeda.

Gambar 3. Pohon keputusan yang membuat prediksi numerik.