我有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?怎么做?
答案 0 :(得分:0)
正如您已经在使用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