首页
学习
活动
专区
圈层
工具
发布

核回归
EN

Stack Overflow用户
提问于 2011-12-13 16:31:45
回答 1查看 1.1K关注 0票数 2

有人遇到过kernlab回归的困难吗?它似乎失去了一些缩放因素或什么,但也许我认为它是错误的。

代码语言:javascript
复制
library(kernlab)
df <- data.frame(x=seq(0,10,length.out=1000))
df$y <- 3*df$x + runif(1000) - 3
plot(df)
res <- ksvm(y ~ x, data=df, kernel='vanilladot')
lines(df$x, predict(res), col='blue', lwd=2)

通过这个玩具示例,如果我显式地通过了newdata=df,我就可以得到合理的结果,但是通过我的真实数据,我没有找到这样的解决办法。有洞察力吗?

EN

回答 1

Stack Overflow用户

发布于 2011-12-13 17:52:02

传递newdata参数是正确的方法(否则它将使用内部缩放的数据,就像您看到的那样)。典型的方法是:

代码语言:javascript
复制
newx = seq(min(df$x), max(df$x), len=100)
lines(newx, predict(res, newdata=data.frame(x=newx)), col='blue', lwd=2)

如果你的真实数据还不能用,请详细说明.

至于它的价值,我通常更喜欢手动缩放我的数据,然后设置scaled=F。这样你就不用担心这种可能在不同时间出现的事情了。

编辑:我还应该补充一点,当您创建newdata数据框架时,变量名应该与您用来创建模型的名称相匹配,而不一定是"x“。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8492631

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档