fit names(fit) [1] "method" "modelType" -6ren">
gpt4 book ai didi

r - "gam"插入符号模型未返回 fitted.values

转载 作者:行者123 更新时间:2023-12-02 05:09:05 24 4
gpt4 key购买 nike

我在 caret.train 中使用 gam 模型(caret 使用包 中的 gam mgcv):

> fit <- train(P~II+TH+DR+TT,data=training,method="gam",trControl=ctrl,metric="Rsquared",preProc=c("center","scale"))
> names(fit)
[1] "method" "modelType" "results" "pred" "bestTune" "call"
[7] "dots" "metric" "control" "finalModel" "preProcess" "trainingData"
[13] "resample" "resampledCM" "perfNames" "maximize" "yLimits" "times"
[19] "terms" "coefnames" "xlevels"

我没有看到上面的 fitted.values,但是 gam 对象应该返回 fitted.values - http://hosho.ees.hokudai.ac.jp/~kubo/Rdoc/library/gam/html/gam.html结果,我无法绘制拟合与残差图,并且其他一些函数也失败了。一种解决方法是直接使用 gam 而不是 caret,但我也计划使用其他模型,并且想要一个一致的界面。

请指教。

编辑:

  1. 数据快照 - dput(head(training)) 输出:

    structure(list(TT = c(1.810376, 0.089206, 0.623906, 0.676775, 
    0.206524, 1.014849), P = c(682L, 674L, 681L, 679L, 655L, 682L
    ), II = c(846000000L, 4790000L, 38600000L, 40600000L, 1379632L,
    7526080L), WSM = c(5272L, 144L, 576L, 576L, 2336L, 18696L), TSM = c(168704L,
    4608L, 18432L, 18432L, 74752L, 598272L), L2M = c(1.49e+09, 12600000,
    85700000, 1.24e+08, 4214560, 33560200), DR = c(2.52e+09, 18400000,
    1.3e+08, 1.8e+08, 5559030, 44681000), DW = c(11600000L, 5440000L,
    39600000L, 46400000L, 4920550L, 36812430L), TH = c(32.032843125,
    0.1880727305, 0.2003506939, 0.1983195715, 0.558498625, 0.495952125
    )), .Names = c("TT", "P", "II", "WSM", "TSM", "L2M", "DR", "DW",
    "TH"), row.names = c(3L, 5L, 7L, 8L, 9L, 10L), class = "data.frame")
  2. str(fit) 按照@nograpes 的建议在finalModel 中显示fitted.values

    $ finalModel  :List of 50
    ..$ coefficients : Named num [1:37] 761 -1839 -377 745 -473 ...
    .. ..- attr(*, "names")= chr [1:37] "(Intercept)" "s(II).1" "s(II).2" "s(II).3" ...
    ..$ residuals : num [1:44] -8.229 0.402 -11.41 -26.357 -8.202 ...
    ..$ fitted.values : Named num [1:44] 690 674 683 707 687 ...

最佳答案

如果您提供了一些样本数据,这个问题会更容易回答。

检查对象的名称 并不是找出其中内容的好方法。尝试运行 str(fit),您会发现缺少的内容。

fitted.values 对象嵌套更深一层。

library(mgcv)
library(caret)

dat <- gamSim(1,n=400,dist="normal",scale=2)
test<-train(y~x1, data=dat, method='gam') # Next time, provide any data like this.

test$finalModel$fitted.values # If that isn't what you want, try str(test)

关于r - "gam"插入符号模型未返回 fitted.values,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15792187/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com