Unit ini memeriksa topik berikut:
- menafsirkan forest acak
- melatih forest acak
- kelebihan dan kekurangan dari {i>forest<i}
Menafsirkan hutan acak
{i>Random forest<i} lebih kompleks untuk ditafsirkan daripada pohon keputusan. Forest acak berisi pohon keputusan yang dilatih dengan derau acak. Oleh karena itu, akan lebih sulit untuk membuat penilaian atas struktur pohon keputusan. Namun, kita dapat menafsirkan respons model forest dalam beberapa cara.
Salah satu pendekatan untuk menafsirkan {i>forest<i} acak adalah dengan melatih dan menafsirkan pohon keputusan dengan algoritma CART. Karena {i>forest<i} acak dan CART adalah dilatih dengan algoritma inti yang sama, mereka "memiliki pandangan global yang sama" dari {i>dataset<i} aslinya. Opsi ini berfungsi dengan baik untuk {i>dataset<i} sederhana dan untuk memahami untuk interpretasi model secara keseluruhan.
Tingkat kepentingan variabel adalah penafsiran yang baik lainnya pendekatan. Misalnya, tabel berikut mengurutkan nilai penting variabel dari fitur yang berbeda untuk model forest acak yang dilatih pada Set data sensus (juga yang disebut Dewasa).
Tabel 8. Tingkat kepentingan variabel dari 14 fitur berbeda.
Fitur | Skor jumlah | Penurunan akurasi rata-rata | Penurunan rata-rata ABK | Kedalaman min rata-rata | Jumlah node | Penurunan rata-rata PR-AUC | Angka 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 | 3128.996,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 |
kelas kerja | 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 yang berbeda tentang kepentingan variabel memiliki skala yang berbeda dan dapat menyebabkan perbedaan peringkat fitur.
Nilai penting variabel yang berasal dari struktur model (misalnya, jumlah skor, kedalaman minimal rata-rata, jumlah node, dan angka sebagai akar pada tabel di atas) adalah dihitung dengan cara yang serupa untuk pohon keputusan (lihat bagian "Keranjang | Tingkat kepentingan variabel") dan {i>forest<i} acak.
Tingkat kepentingan variabel permutasi (misalnya, rata-rata penurunan {akurasi, auc, pr-auc} dalam tabel di atas) adalah ukuran agnostik model yang dapat dikomputasi pada model machine learning dengan set data validasi. Dengan {i>forest<i} acak, tetapi, daripada menggunakan set data validasi, Anda dapat menghitung permutasi tingkat kepentingan variabel dengan evaluasi {i>out-of-bag<i}.
SHAP (SHapley Additive exPlanations) adalah metode agnostik model untuk menjelaskan prediksi individual atau interpretasi berdasarkan model. (Lihat Machine Learning yang Dapat Diinterpretasikan oleh Molnar untuk pengantar interpretasi agnostik model.) SHAP adalah biasanya mahal untuk dihitung tetapi dapat mempercepat secara signifikan dalam pengambilan keputusan hutan keputusan, jadi ini adalah cara yang baik untuk menafsirkan hutan keputusan.
Contoh penggunaan
Di pelajaran sebelumnya, kita melatih pohon keputusan CART pada {i>dataset<i} kecil
dengan memanggil tfdf.keras.CartModel
. Untuk melatih model forest 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 dari forest acak.
Kelebihan:
- Seperti pohon keputusan, hutan acak mendukung model fitur kategorikal dan seringkali tidak memerlukan pemrosesan awal fitur.
- Karena pohon keputusan bersifat independen, {i>forest<i} acak dapat dilatih dalam paralel. Karenanya, Anda dapat melatih forest acak dengan cepat.
- Forest acak memiliki parameter default yang sering kali memberikan hasil yang bagus. Penyesuaian parameter tersebut sering kali hanya memiliki sedikit pengaruh pada model.
Kekurangan:
- Karena pohon keputusan tidak dipangkas, pohon itu bisa berukuran besar. Model dengan lainnya biasanya melebihi 1 juta node. Ukuran (dan kecepatan inferensi) dari {i>forest<i} acak terkadang bisa menjadi masalah.
- Forest acak tidak dapat mempelajari dan menggunakan kembali representasi internal. Masing-masing pohon keputusan (dan setiap cabang dari setiap pohon keputusan) harus mempelajari kembali pola set data. Dalam beberapa {i>dataset<i}, terutama {i>dataset<i} non-tabular (mis. gambar, teks), ini menyebabkan forest acak menjadi hasil yang lebih buruk dibandingkan metode lain.