Apakah mungkin untuk mengontrol biaya kesalahan klasifikasi dalam paket R randomForest ?
Dalam pekerjaan saya sendiri, negatif palsu (mis., Hilang karena kesalahan bahwa seseorang mungkin menderita penyakit) jauh lebih mahal daripada positif palsu. Paket rpart memungkinkan pengguna untuk mengontrol biaya kesalahan klasifikasi dengan menentukan matriks kerugian misclassifications berat badan berbeda. Apakah ada yang serupa untuk randomForest
? Haruskah saya, misalnya, menggunakan classwt
opsi untuk mengontrol kriteria Gini?
sumber
classwt
: Ya, saya telah menemukan bahwa dalam praktiknya, dan sejalan dengan pengguna lain, hasilnya tidak seperti yang diharapkan. (iii)cutoff
: Saya tidak jelas tentang cara memanfaatkancutoff
dalam hal ini dan saya akan menerima saran lebih lanjut.Ada sejumlah cara termasuk biaya.
(1) Pengambilan sampel secara berlebihan / kurang untuk setiap pohon kantong (stratified sampling) adalah metode yang paling umum untuk memasukkan biaya. Anda sengaja membuat ketidakseimbangan dataset.
(2) Pembobotan. Tidak pernah berhasil. Saya pikir ini ditekankan dalam dokumentasi. Beberapa mengklaim Anda hanya perlu mempertimbangkan semua tahapan, termasuk pemisahan Gini dan pemungutan suara terakhir. Jika ini akan berhasil, itu akan menjadi implementasi yang rumit.
(3) Fungsi metacost di Weka.
(4) Memperlakukan hutan acak sebagai penggolong probabilistik dan mengubah ambang batas. Saya paling suka opsi ini. Mungkin karena kurangnya pengetahuan saya, tetapi meskipun algoritma dapat menampilkan probabilitas tidak masuk akal bagi saya untuk memperlakukan mereka seolah-olah ini adalah model probabilistik.
Tapi saya yakin ada pendekatan tambahan.
sumber
Disarankan bahwa jika variabel yang Anda coba prediksi bukan 50% untuk
class 1
dan 50% untukclass 2
(seperti kebanyakan kasus), Anda menyesuaikancutoff
parameter untuk mewakili realOOB
dalam ringkasan.Sebagai contoh,
Dalam hal ini, probabilitas memiliki nilai satu
class 1
adalah.96
sekaligus memiliki nilaiclass 2
adalah.04
.Kalau tidak, hutan acak menggunakan ambang batas
0.5
.sumber
Satu dapat menggabungkan
costMatrix
dirandomForest
eksplisit melaluiparms
parameter:sumber
Anda dapat memasukkan sensitivitas biaya menggunakan
sampsize
fungsi dalamrandomForest
paket.Variasikan angka
(100,20)
berdasarkan data yang Anda miliki dan asumsi / aturan bisnis yang Anda gunakan.Dibutuhkan sedikit pendekatan coba-coba untuk mendapatkan matriks kebingungan yang mencerminkan biaya kesalahan klasifikasi. Lihatlah Ramalan Ramalan Risiko Richard Berk : Pendekatan Pembelajaran Mesin , hlm. 82.
sumber