Unit ini memeriksa topik berikut:
- penafsiran hutan acak
- melatih hutan acak
- pro dan kontra hutan acak
Menafsirkan hutan acak
Hutan acak lebih rumit untuk ditafsirkan dibandingkan pohon keputusan. Hutan acak berisi pohon keputusan yang dilatih dengan derau acak. Oleh karena itu, lebih sulit untuk membuat penilaian tentang struktur pohon keputusan. Namun, kita dapat menafsirkan model hutan acak dalam beberapa cara.
Salah satu pendekatan untuk menafsirkan hutan acak adalah dengan melatih dan menafsirkan pohon keputusan dengan algoritme CART. Karena hutan acak dan CART dilatih dengan algoritme inti yang sama, keduanya "berbagi tampilan global yang sama" dari set data. Opsi ini berfungsi dengan baik untuk set data sederhana dan untuk memahami penafsiran model secara keseluruhan.
Tingkat kepentingan variabel adalah pendekatan interpretabilitas yang baik lainnya. Misalnya, tabel berikut menentukan peringkat variabel penting dari berbagai fitur untuk model hutan acak yang dilatih pada set data Sensus (juga dikenal sebagai Dewasa).
Tabel 8. Tingkat kepentingan variabel dari 14 fitur yang berbeda.
Fitur | Jumlah skor | Rata-rata penurunan akurasi | Rata-rata penurunan UC | Kedalaman min rata-rata | Jumlah node | Penurunan rata-rata pada PR-AUC | Angka sebagai root |
---|---|---|---|---|---|---|---|
hubungan | 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 |
status_pernikahan | 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 |
education | 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 |
edukasi_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 |
jam_per_minggu | 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 |
kelas kerja | 644208,4 |
0,0025 |
-0,0019 |
9,898 |
132196 |
-0,0023 |
0 |
native_country [negara_native] | 538841,2 |
0,0001 |
-0,0016 |
9,434 |
67211 |
-0,0058 |
0 |
gender | 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 nilai penting variabel yang berbeda memiliki skala yang berbeda dan dapat menyebabkan perbedaan dalam peringkat fitur.
Tingkat kepentingan variabel yang berasal dari struktur model (misalnya, jumlah skor, kedalaman min rata-rata, node jumlah, dan jumlah sebagai root pada tabel di atas) dihitung sama untuk pohon keputusan (lihat bagian "Keranjang | Variabel variabel") dan hutan acak.
Tingkat kepentingan variabel permutasi (misalnya, penurunan rata-rata {akurasi, auc, pr-auc} pada tabel di atas) adalah tindakan diagnostik model yang dapat dihitung pada model machine learning apa pun dengan set data validasi. Namun, dengan hutan acak, bukannya menggunakan set data validasi, Anda dapat menghitung nilai penting variabel permutasi dengan evaluasi bawaan.
SHAP (Shapley Additive exPlanations) adalah metode diagnostik model untuk menjelaskan prediksi individual atau interpretasi berdasarkan model. (Lihat Interpreter Machine Learning oleh Molnar untuk pengantar interpretasi model.) SHAP sangat mahal untuk dihitung, tetapi dapat dipercepat secara signifikan untuk hutan keputusan, jadi ini adalah cara yang baik untuk menafsirkan hutan keputusan.
Contoh penggunaan
Di tutorial sebelumnya, kita melatih pohon keputusan CART pada set data kecil
dengan memanggil tfdf.keras.CartModel
. Untuk melatih model hutan acak, 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 hutan acak.
Kelebihan:
- Seperti pohon keputusan, hutan acak mendukung fitur numerik dan kategoris secara native serta sering kali tidak memerlukan pra-pemrosesan fitur.
- Karena pohon keputusan itu independen, hutan acak dapat dilatih secara paralel. Oleh karena itu, Anda dapat melatih hutan acak dengan cepat.
- Hutan acak memiliki parameter default yang sering memberikan hasil yang memuaskan. Penyesuaian parameter tersebut sering kali tidak begitu berdampak terhadap model.
Kekurangan:
- Karena pohon keputusan tidak dipangkas, pohon itu bisa besar. Model dengan lebih dari 1 juta node adalah hal yang umum. Ukuran (dan karenanya kecepatan inferensi) hutan acak terkadang dapat menjadi masalah.
- Hutan acak tidak dapat mempelajari dan menggunakan kembali representasi internal. Setiap pohon keputusan (dan setiap cabang setiap pohon keputusan) harus mempelajari kembali pola set data. Dalam beberapa set data, terutama set data non-tabular (misalnya gambar, teks), ini menyebabkan hutan acak memberikan hasil yang lebih buruk daripada metode lainnya.