Pohon keputusan

Model hutan keputusan terdiri dari pohon keputusan (decision tree). Hutan keputusan algoritma pembelajaran (seperti hutan acak) mengandalkan, setidaknya sebagian, pada tentang pohon keputusan.

Di bagian materi ini, Anda akan mempelajari sebuah contoh kecil {i>dataset<i}, dan belajar bagaimana pelatihan pohon keputusan tunggal. Di bagian selanjutnya, Anda akan mempelajari cara pohon keputusan digabungkan untuk melatih hutan keputusan.

Kode YDF

Di YDF, gunakan pelajar 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" terorganisir secara hierarkis dalam bentuk pohon. Pertanyaan-pertanyaan ini biasanya disebut kondisi, pemisahan, atau pengujian. Kita akan menggunakan istilah "kondisi" inci di kelas ini. Setiap {i>node<i} non-daun berisi suatu kondisi, dan setiap {i>node<i} daun berisi sebuah prediksi.

Pohon botani umumnya tumbuh dengan akar di bagian bawah; Namun, keputusan pohon biasanya direpresentasikan dengan root (node pertama) di bagian atas.

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

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

 

Inferensi model pohon keputusan dihitung dengan mengarahkan contoh dari akar (di bagian atas) ke salah satu simpul daun (di bagian bawah) sesuai dengan kondisi tertentu. Nilai leaf yang dicapai 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 inferensinya adalah:

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

Ilustrasi yang sama seperti Gambar 1, tetapi ilustrasi ini menunjukkan
  jalur inferensi pada dua kondisi, yang berakhir di {i>leaf<i} untuk {i>dog<i}.

Gambar 2. Jalur inferensi yang berpuncak pada {i>leaf *dog* <i} pada contoh *{num_legs : 4, num_eyes : 2}*.

 

Pada contoh sebelumnya, daun pohon keputusan mengandung klasifikasi prediksi; yaitu, setiap daun mengandung spesies hewan di antara satu set tentang kemungkinan spesies.

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

Pohon keputusan yang setiap leafnya berisi floating point yang berbeda
  angka

Gambar 3. Pohon keputusan yang membuat prediksi numerik.