Saya menggunakan fungsi randomForest
dalam randomForest
paket R untuk melakukan regresi. Namun, ketika saya mencoba memasukkan istilah interaksi dalam kode berikut:
library(MASS)
library(randomForest)
Boston_f <- within(Boston, factor(rad))
mdl <- randomForest(lstat ~ rad * . , data = Boston_f)
Hasilnya mdl$term
memang termasuk interaksi, tetapi jika saya mengintip ke dalam pohon yang mdl
menggunakan,
getTree(mdl, 1, T)
Saya tidak dapat menemukan variabel terpecah menggunakan istilah interaksi.
Adakah yang tahu cara memasukkan istilah interaksi menggunakan randomForest
atau fungsi lainnya?
r
interaction
random-forest
Yifei Liu
sumber
sumber
Jawaban:
Model berbasis pohon mempertimbangkan variabel secara berurutan, yang membuatnya berguna untuk mempertimbangkan interaksi tanpa menentukannya. Interaksi yang berguna untuk prediksi akan dengan mudah diambil dengan hutan yang cukup besar, sehingga tidak ada kebutuhan nyata untuk memasukkan istilah interaksi eksplisit.
Jika Anda yakin bahwa interaksi itu penting, Anda bisa secara manual membuat istilah interaksi (misalnya, mendefinisikan Anda
formula
di dalammodel.frame
fungsi, yang akan membuat kolom baru untuk istilah interaksi Anda). Namun dalam kasus Anda ini akan hampir dua kali lipat jumlah variabel, karena Anda membuat interaksi antararad
dan setiap fitur lainnya, jadi itu mungkin keliru.Lihat juga Termasuk Ketentuan Interaksi di Hutan Acak yang menunjukkan kemampuan inheren Hutan Acak untuk mendeteksi variabel yang berinteraksi dibandingkan dengan metode linear.
sumber