[英]How to calculate variable importance of each class with R caret package?
當我 output 變量重要性在 model (rf)時,我使用了下面的代碼( rfmodel_all
是我的模型)。
importance(rfmodel_all[11][[1]])
varImp(rfmodel_all)
雖然我得到了下面的結果,但每個 class 中變量重要性的兩個值都是不同的。 每個 class 的值是什么意思?
importance(rfmodel_all[11][[1]])
F1 F2 F3 F4 F5
dem5m_field2 10.2504042 6.9464506 3.1169946 13.394995 17.52028
ah -2.5141337 -3.9860137 3.1314217 11.585716 13.33464
varImp(rfmodel_all)
rf 變量重要性,
變量按類中的最大重要性排序
F1 F2 F3 F4 F5
vd 72.436 98.173 54.284 91.48 100.00
twi 10.412 8.235 22.369 92.55 82.67
如果你知道的話,請告訴我一些關於這種解釋的參考資料。
謝謝你。
varImp()
function 基本上使用 randomForest() 中的importance()
randomForest()
並將它們從 0-100 縮放,並重新排列它們,就像你已經注意到的那樣。 要獲得相同的結果,您可以執行varImp(..,scale=FALSE)
,例如:
set.seed(111)
mdl = train(Species ~ .,data=iris,
trControl=trainControl(method="cv"),importance=TRUE)
importance(mdl$finalModel)[,1:3]
setosa versicolor virginica
Sepal.Length 5.69594 6.452202 6.661104
Sepal.Width 4.46492 1.171534 4.245839
Petal.Length 22.52265 32.843039 27.864307
Petal.Width 22.11490 33.060450 31.897033
varImp(mdl,scale=FALSE)
rf variable importance
variables are sorted by maximum importance across the classes
setosa versicolor virginica
Petal.Width 22.115 33.060 31.897
Petal.Length 22.523 32.843 27.864
Sepal.Length 5.696 6.452 6.661
Sepal.Width 4.465 1.172 4.246
重要性分數基本上是通過排列和重新計算OOB樣本中准確性的變化來獲得的。 請參閱隨機森林頁面。 這是對變量在正確預測每個 class 中的有用性的粗略衡量。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.