varImp 函数没有给出正确的输出

varImp Function is not giving proper output

我有 131 个变量,我想从中获取重要的建模变量。我 运行 所有变量的决策树,然后使用 caret::varImp 计算变量重要性,但输出不合适。下面是我的代码和输出。

VarImpModel <- rpart(Final_Churn_Flag~.,data=InputData, method = 'class')
varImp(VarImpModel)

               Overall
OnnetAmount   35354.00
TotalARPU     188.96940
Onnet_Fix_AR  144.85092
Age            2.59406

期望的输出-我想要的是:

               Overall
OnnetAmount   100.00
TotalARPU      88.96
Onnet_Fix_AR   44.85
Age            22.59

为什么不绑定100?如何操作?

因为您已经在使用 caret,所以我建议您也从 caret::train 中训练您的模型,因为这会为您提供更多选择(例如在重采样中)- 并且,作为一个方面效果,根据需要缩放变量重要性:

> m <- train(x = iris[,1:4], y = iris[,5], method = 'rpart', trControl = trainControl('repeatedcv', number = 10, repeats = 20))
> varImp(m)

rpart variable importance

             Overall
Petal.Width   100.00
Petal.Length   97.57
Sepal.Length   33.53
Sepal.Width     0.00