Pohon keputusan

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

Di bagian materi ini, Anda akan mempelajari contoh set data kecil, dan mempelajari cara melatih satu hierarki keputusan. Di bagian berikutnya, Anda akan mempelajari cara pohon keputusan digabungkan untuk melatih hutan keputusan.

Kode YDF

Di YDF, gunakan pembelajar CART untuk melatih setiap model pohon keputusan:

# 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 diatur secara hierarkis dalam bentuk hierarki. Pertanyaan biasanya disebut kondisi, pemisahan, atau pengujian. Kita akan menggunakan istilah "kondisi" dalam class ini. Setiap node non-daun berisi kondisi, dan setiap node daun berisi prediksi.

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

Pohon keputusan yang berisi dua kondisi dan tiga node akhir. Kondisi pertama (root) adalah num_legs >= 3; kondisi kedua adalah
num_eyes >= 3. Ketiga daun tersebut adalah penguin, laba-laba,
dan.

Gambar 1. Pohon keputusan klasifikasi sederhana. Legenda berwarna hijau bukan bagian dari hierarki 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 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 . Jalur inferensi adalah:

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

Ilustrasi yang sama dengan Gambar 1, tetapi ilustrasi ini menunjukkan
  jalur inferensi di dua kondisi, yang berakhir di node daun untuk.

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

 

Pada contoh sebelumnya, node daun pohon keputusan berisi prediksi klasifikasi; yaitu, setiap node daun berisi spesies hewan di antara kumpulan spesies yang mungkin.

Demikian pula, hierarki keputusan dapat memprediksi nilai numerik dengan memberi label pada node daun dengan prediksi regresi (nilai numerik). Misalnya, hierarki keputusan berikut memprediksi skor kelucuan numerik hewan antara 0 dan 10.

Hierarki keputusan dengan setiap node daun berisi bilangan floating point
  yang berbeda.

Gambar 3. Pohon keputusan yang membuat prediksi numerik.