You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用lm模型调用train函数时出现未使用参数错误的技术求助

解决train函数调用中的"unused arguments"错误

我帮你分析下问题所在,以及对应的修复方案:

核心错误原因

你犯了一个参数匹配的关键错误:把公式对象frm传给了train函数的data参数。train函数的data参数要求传入的是包含所有建模变量的数据框,而非公式对象。当你错误地将公式赋值给data后,函数无法识别后续的method、trControl等参数,因此抛出了"unused arguments"的错误。

另外,你的trainControl设置也存在适配问题:classProbs=TRUE和summaryFunction=twoClassSummary是专为分类模型设计的参数,但你要训练的是线性回归(属于回归任务),这些参数完全不适用,保留它们会引发额外的错误。

修正后的代码示例

假设你的原始数据集(包含Viajeros和所有特征变量)叫做travel_data,修正后的完整代码如下:

# 必须确保加载caret包,否则train函数可能来自其他不兼容的包
library(caret)

# Regresión lineal múltiple
# 修正trainControl:移除分类相关参数,回归任务使用交叉验证的基础配置
trainControl <- trainControl(method="cv", number=3)

# 构建公式(这部分你的代码是正确的,无需修改)
frm <- as.formula(paste("Viajeros ~ ", paste(relevant_features, collapse="+")))

set.seed(7)
# 修正train调用:formula使用你构建的frm,data传入实际数据集
fit <- train(frm, data = travel_data, method="lm", trControl=trainControl)

如果不想使用frm变量,直接写公式也可以:

fit <- train(Viajeros ~ ., data = travel_data, method="lm", trControl=trainControl)

额外排查步骤

  1. 验证数据类型:运行class(travel_data),输出应为"data.frame";运行class(frm),输出应为"formula"。
  2. 确认caret包加载:如果没执行library(caret),train函数可能来自stats包,而stats的train函数没有method、trControl这些参数,这也会导致错误。
  3. 检查特征变量:确保relevant_features中的所有变量都存在于你的数据集中,没有拼写错误。

内容的提问来源于stack exchange,提问作者Marta López Gómez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.30 11:57:44