Saya telah bermain-main dengan hutan acak untuk regresi dan saya mengalami kesulitan mencari tahu apa arti dua ukuran penting itu, dan bagaimana mereka harus ditafsirkan.
The importance()
Fungsi memberikan dua nilai untuk setiap variabel: %IncMSE
dan IncNodePurity
. Apakah ada interpretasi sederhana untuk 2 nilai ini?
Untuk IncNodePurity
khususnya, ini hanya jumlah peningkatan RSS berikut penghapusan variabel itu?
?importance
? Ada penjelasan di sana tentang apa arti kedua tindakan ...Jawaban:
Yang pertama dapat 'ditafsirkan' sebagai berikut: jika prediktor penting dalam model Anda saat ini, maka menetapkan nilai-nilai lain untuk prediktor itu secara acak tetapi 'realistis' (yaitu: membubuhkan nilai-nilai prediktor ini pada dataset Anda), harus memiliki pengaruh negatif pada prediksi, yaitu: menggunakan model yang sama untuk memprediksi dari data yang sama kecuali untuk satu variabel, harus memberikan prediksi yang lebih buruk.
Jadi, Anda mengambil ukuran prediktif (MSE) dengan dataset asli dan kemudian dengan dataset 'permutasi', dan Anda membandingkannya entah bagaimana. Satu cara, terutama karena kami berharap MSE asli selalu lebih kecil, perbedaan dapat diambil. Akhirnya, untuk membuat nilai-nilai sebanding dengan variabel, ini diskalakan.
Untuk yang kedua: di setiap pemisahan, Anda dapat menghitung berapa banyak pemisahan ini mengurangi ketidakmurnian simpul (untuk pohon regresi, memang, perbedaan antara RSS sebelum dan sesudah pemisahan). Ini dijumlahkan di atas semua pembagian untuk variabel itu, di atas semua pohon.
Catatan: bacaan yang baik adalah Elemen Pembelajaran Statistik oleh Hastie, Tibshirani dan Friedman ...
sumber
Metrik kepentingan Hutan Acak seperti yang diterapkan dalam paket randomForest di R memiliki kebiasaan di mana prediktor berkorelasi mendapatkan nilai kepentingan rendah.
http://bioinformatics.oxfordjournals.org/content/early/2010/04/12/12/bioinformatics.btq134.full.pdf
Saya memiliki implementasi modifikasi dari hutan acak di CRAN yang mengimplementasikan pendekatan mereka dalam memperkirakan nilai p empiris dan tingkat penemuan palsu, di sini
http://cran.r-project.org/web/packages/pRF/index.html
sumber
caret::train(method="rf", importance = TRUE, ...)
??