如何在插入符号中使用 stats::nls 非线性最小二乘回归?

How to use stats::nls non-linear least squares regression in caret?

我正在我拥有的数据集上比较一堆机器学习模型。生产中的当前模型是以下形式的方程式:

y ~ a + b * x1^c * x2^d * x3^e,

由于我想使用当前情况作为基准来评估我从其他模型中获得的改进,我在 R 中使用以下方法实现了它:

powerModel <- nls(y ~ a + b * x1^c * x2^d * x3^e, 
                  data = df,
                  start = list(a = 0, b = 1, c = 1, d = 1, e = 0),
                  model=T)

这很好用,但是我使用 Caret 包使用交叉验证来训练我的其他模型。我想对 nls 模型执行相同的交叉验证。但是,我没有找到关于如何在 Caret 中使用自定义公式的信息。所以我的问题是:如何在 Caret 交叉验证训练中使用自定义公式或 nls 模型?

制作自定义方法的说明是here