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
我有 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