Topik lainnya

Unit ini membahas topik berikut:

  • menafsirkan hutan acak
  • melatih hutan acak
  • kelebihan dan kekurangan hutan acak

Menafsirkan hutan acak

Hutan acak lebih sulit ditafsirkan daripada pohon keputusan. Random forest berisi pohon keputusan yang dilatih dengan derau acak. Oleh karena itu, lebih sulit untuk membuat penilaian pada struktur hierarki keputusan. Namun, kita dapat menafsirkan model hutan acak dengan beberapa cara.

Salah satu pendekatan untuk menafsirkan hutan acak adalah dengan melatih dan menafsirkan pohon keputusan dengan algoritma CART. Karena random forest dan CART dilatih dengan algoritma inti yang sama, keduanya "berbagi tampilan global yang sama" dari kumpulan data. Opsi ini berfungsi dengan baik untuk set data sederhana dan untuk memahami interpretasi keseluruhan model.

Pentingnya variabel adalah pendekatan interpretasi yang baik lainnya. Misalnya, tabel berikut memberi peringkat pada variabel penting dari berbagai fitur untuk model random forest yang dilatih pada set data Sensus (juga dikenal sebagai Dewasa).

Tabel 8. Nilai penting variabel dari 14 fitur berbeda.

Fitur Menjumlahkan skor Penurunan akurasi rata-rata Penurunan AUC rata-rata Rata-rata kedalaman minimum Jumlah node Penurunan rata-rata PR-AUC Num sebagai root
relationship

4203592,6

0,0045

0,0172

4,970

57040

0,0093

1095

capital_gain

3363045.1

0,0199

0,0194

2,852

56468

0,0655

457

marital_status

3128996,3

0,0018

0,0230

6,633

52391

0,0107

750

age

2520658,8

0,0065

0,0074

4,969

356784

0,0033

200

pendidikan

2015905.4

0,0018

-0,0080

5,266

115751

-0,0129

205

pekerjaan

1939409,3

0,0063

-0,0040

5,017

221935

-0,0060

62

education_num

1673648,4

0,0023

-0,0066

6,009

58303

-0,0080

197

fnlwgt

1564189,0

-0,0002

-0,0038

9,969

431987

-0,0049

0

hours_per_week

1333976,3

0,0030

0,0007

6,393

206526

-0,0031

20

capital_loss

866863,8

0,0060

0,0020

8,076

58531

0,0118

1

workclass

644208.4

0,0025

-0,0019

9,898

132196

-0,0023

0

native_country

538841,2

0,0001

-0,0016

9,434

67211

-0,0058

0

seks

226049,3

0,0002

0,0002

10,911

37754

-0,0011

13

ras

168180,9

-0,0006

-0,0004

11,571

42262

-0,0031

0

Seperti yang Anda lihat, definisi kepentingan variabel yang berbeda memiliki skala yang berbeda dan dapat menyebabkan perbedaan dalam peringkat fitur.

Pentingnya variabel yang berasal dari struktur model (misalnya, skor jumlah, kedalaman min rata-rata, jumlah node, dan jumlah sebagai root dalam tabel di atas) dihitung dengan cara yang sama untuk pohon keputusan (lihat bagian "Keranjang | Pentingnya variabel") dan random forest.

Pentingnya variabel permutasi (misalnya, penurunan rata-rata dalam {accuracy, auc, pr-auc} pada tabel di atas) adalah ukuran yang tidak bergantung pada model yang dapat dihitung pada model machine learning apa pun dengan set data validasi. Namun, dengan random forest, Anda dapat menghitung pentingnya variabel permutasi dengan evaluasi out-of-bag, bukan menggunakan set data validasi.

SHAP (SHapley Additive exPlanations) adalah metode agnostik model untuk menjelaskan prediksi individual atau interpretasi berdasarkan model. (Lihat Interpretable Machine Learning oleh Molnar untuk pengantar interpretasi agnostik model.) SHAP biasanya mahal untuk dihitung, tetapi dapat dipercepat secara signifikan untuk hutan keputusan, sehingga merupakan cara yang baik untuk menafsirkan hutan keputusan.

Contoh penggunaan

Pada pelajaran sebelumnya, kita telah melatih hierarki keputusan CART pada set data kecil dengan memanggil tfdf.keras.CartModel. Untuk melatih model random forest, cukup ganti tfdf.keras.CartModel dengan tfdf.keras.RandomForestModel:

model = tfdf.keras.RandomForestModel()
model.fit(tf_train_dataset)

Kelebihan dan kekurangan

Bagian ini berisi ringkasan singkat tentang kelebihan dan kekurangan random forest.

Kelebihan:

  • Seperti pohon keputusan, random forest mendukung fitur numerik dan kategoris secara native, serta sering kali tidak memerlukan pra-pemrosesan fitur.
  • Karena pohon keputusan bersifat independen, hutan acak dapat dilatih secara paralel. Akibatnya, Anda dapat melatih random forest dengan cepat.
  • Random forest memiliki parameter default yang sering kali memberikan hasil yang bagus. Menyesuaikan parameter tersebut sering kali memiliki sedikit efek pada model.

Kekurangan:

  • Karena tidak dipangkas, pohon keputusan dapat berukuran besar. Model dengan lebih dari 1 juta node adalah hal yang umum. Ukuran (dan kecepatan inferensi) random forest terkadang dapat menjadi masalah.
  • Random forest tidak dapat mempelajari dan menggunakan kembali representasi internal. Setiap hierarki keputusan (dan setiap cabang dari setiap hierarki keputusan) harus mempelajari ulang pola set data. Di beberapa set data, terutama set data non-tabulasi (misalnya gambar, teks), hal ini menyebabkan random forest menghasilkan hasil yang lebih buruk daripada metode lainnya.