如何从R中的符号回归中获得函数结果

5
首先,请原谅我的无知,因为我今天刚开始学习R语言。 我有一个包含两个变量(x、y)的数据框,如下所示:(1,0), (2,26), (3,88), (4,186), (5,320), (6,490), (7,541)。 我想使用符号回归查找一个函数f,使得y = f(x)。按照这里的教程,我可以得到一个f(x)的图形,接近我的预期。但是,我不知道如何打印出函数f(x)。我尝试了另一个称为Eurequa的工具。它非常易于使用,并且给了我(很多)函数。但是我不能在我的项目中使用商业工具。谢谢。
更新:以下是我计算符号回归并绘制函数的代码。我在R环境中逐一输入命令。
x = c (1, 2, 3, 4, 5, 6, 7)
y = c (0, 26, 88, 186, 320, 490, 541)
data1 = data.frame(x,y)
newFuncSet <- functionSet("+","-","*")
result1 <- symbolicRegression(y ~ x, data = data1, functionSet = newFuncSet, stopCondition = makeStepsStopCondition(2000))
plot(data1$y, col=1, type="l"); points(predict(result1, newdata = data1), col=2, type="l")

请确保您的示例是自包含和可重现的。展示您编写的回归代码。 - MrFlick
2个回答

5

model <- result1$population[[which.min(result1$fitnessValues)]]

这段代码涉及到it技术。如果你想了解更多关于rgp包的介绍以及许多示例,请查看此处


0

我已经尝试了许多符号回归实现,包括rgp、gplearn和一个名为fast-symbolic-regression的Python工具。但是,这些工具都不能与Eureqa相比,Eureqa是我在2015年首次使用的符号回归工具,而在2017年便退出市场。

最近,一个名为TuringBot的新符号回归工具被开发出来,并且在arXiv:2010.11328中表明它比Eureqa更有效地发现公式。因此,我建议在2020年使用TuringBot进行符号回归。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接