在绘制varImp时出错:“与请求的类型不兼容”

时间:2018-05-18 13:58:22

标签: r machine-learning data-mining r-caret

使用caret包在R中训练模型时,在绘制模型的变量重要性时会出错。这种情况发生在几种挖掘算法中(bayesglm,glm,naive_bayes,...)。

control <- trainControl(method = "repeatedcv",
                      number = iterations,
                      savePredictions = TRUE,
                      classProbs = TRUE,
                      sampling = "smote");

modelFit <- train(formulaToUse,
                data = dataToAnalyze,
                method = miningAlgorithm, 
                family = "binomial", 
                preProcess = NULL, 
                trControl = control,
                tuneLength = 4);

plot(varImp(modelFit, scale = TRUE));

结果:

Error in auc_(actual, predicted, ranks) : 
Not compatible with requested type: [type=character; target=double].

请注意,模型已成功挖掘,summary(modelFit)显示有关模型的信息。

有什么想法吗?

R版本是3.4.3,插入符号是caret_6.0-79。

1 个答案:

答案 0 :(得分:0)

来自注释:原因是公式中的一个参数基于字符值。解决方案是删除此参数(或将其映射/转换为另一种数据类型)。