Katakanlah saya punya model klasifikasi prediksi berdasarkan hutan acak (menggunakan paket randomForest di R). Saya ingin mengaturnya agar pengguna akhir dapat menentukan item untuk menghasilkan prediksi, dan itu akan menampilkan kemungkinan klasifikasi. Sejauh ini, tidak masalah.
Tetapi akan berguna / keren untuk dapat menampilkan sesuatu seperti grafik kepentingan variabel, tetapi untuk item tertentu yang diprediksi, bukan untuk set pelatihan. Sesuatu seperti:
Item X diperkirakan Anjing (Kemungkinan 73%)
Karena:
Kaki = 4
Nafas =
Bulu buruk =
Makanan pendek = jahat
Anda mengerti maksudnya. Apakah ada cara standar, atau setidaknya dapat dibenarkan, untuk mengekstraksi informasi ini dari hutan acak yang terlatih? Jika demikian, apakah ada yang punya kode yang akan melakukan ini untuk paket randomForest?
sumber
m
prediktor satu per satu dan mencari untuk melihat bagaimana prediksi hutan berbeda tampaknya agak mahal. Pasti ada cara yang lebih baik.Jawaban:
Gagasan pertama adalah meniru strategi knock-out dari kepentingan variabel dan hanya menguji bagaimana mencampur setiap atribut akan menurunkan kepercayaan hutan pada klasifikasi objek (pada OOB dan dengan beberapa pengulangan jelas). Ini membutuhkan beberapa pengkodean, tetapi tentu dapat dicapai.
Namun, saya merasa itu hanya ide yang buruk - hasilnya mungkin akan berubah-ubah seperti neraka (tanpa menstabilkan dampak rata-rata terhadap objek), berisik (untuk objek yang tidak terlalu percaya diri, atribut omong kosong bisa berdampak besar) dan sulit untuk interpretasikan (dua atau lebih atribut aturan kerja sama mungkin akan menghasilkan dampak acak dari masing-masing atribut yang berkontribusi).
Untuk tidak meninggalkan Anda dengan jawaban negatif, saya lebih suka mencoba melihat matriks kedekatan dan kemungkinan arketipe yang mungkin terungkap - ini tampaknya jauh lebih stabil dan mudah.
sumber
Saya akan mencoba dengan kerangka kapur .
Ini bekerja dengan banyak model (termasuk hutan acak). Ini dapat digunakan untuk interpretasi lokal (yaitu, menjelaskan prediksi tunggal) atau untuk interpretasi global (yaitu, menjelaskan seluruh model).
Mengutip dari asbtract
Ini memiliki paket baik untuk R dan python , dan banyak contoh jika Anda google itu.
sumber