0

我正在尝试使用 caret 包(RStudio)中的训练函数使用自定义权重参数为 gbm 执行参数调整并收到错误。错误是

Error in {: task 1674 failed - inputs must be factors

原始数据集由 1649 个观察值组成,并使用 60/40 拆分为训练集和测试集。调整参数是使用 trainControl 和一个网格来定义的,用于尝试不同的参数值。

对于是/否类,列权重包含 1 或 10,并且是数据框中值的数值向量。主函数调用如下:

model <- train(train[,predictors],train[,class], method="gbm", weights=df$weights, trControl=trainControl obj, tuneGrid=Grid obj, metric="ROC")

df$weights 是每个观察值的权重向量。由于类别不平衡,使用了度量“ROC”。在运行模型之前,该类已转换为包含 yes、no 值的因子。此外,如果我没有提到 weights 参数,那么该函数可以正常工作。

如果有人能说明如何克服这个错误,或者是否有人遇到过同样的问题以及他们是如何纠正的,我将不胜感激。

谢谢。

4

0 回答 0