我在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”,为什么?
由于
答案 0 :(得分:0)
创建虚拟变量时,会忽略一个因子级别(第一级别)。
编辑 - 您可以在将数据传递到模型之前创建自己的全套虚拟变量。此外,您最好将数据作为一个因素包括在内(通过避免使用公式界面)。通过这种方式,您可以获得每个预测变量的单个重要性值。