Caret中的varImp并未显示预测变量的所有类别

时间:2017-07-13 20:36:36

标签: r random-forest r-caret

我在Caret(method =“rf”)中制作了一个模型,其中包含3个预测变量(1个分类,2个数字)和1个响应变量(2个类别)。我的问题是分类预测变量“origen_flujo”。 Origen_flujo有以下类别:

>table(origen_flujo)

    Lagos         Llano Precordillera         Valle 
        8            59            12            34 

我运行这个模型:

 rf_fit <- train(clases ~ ., data = data,
            method = "rf",
            preProcess = c("center", "scale"),
            tuneGrid = grid,
            trControl = ctrl,        
            metric= "ROC" 
  )

然后,我在结果模型中应用了varImp,这显示:

  > varImp(rf_fit)
                      Overall
 V1                          100.00
 origen_flujoLlano           55.87
 origen_flujoPrecordillera   54.73
 V2                          26.08
 origen_flujoValle            0.00

varImp没有显示“origen_flujoLagos”,为什么?

由于

1 个答案:

答案 0 :(得分:0)

创建虚拟变量时,会忽略一个因子级别(第一级别)。

编辑 - 您可以在将数据传递到模型之前创建自己的全套虚拟变量。此外,您最好将数据作为一个因素包括在内(通过避免使用公式界面)。通过这种方式,您可以获得每个预测变量的单个重要性值。