【问题标题】:Error in train from Caret插入符号的火车错误
【发布时间】:2015-12-04 10:06:47
【问题描述】:

我很困惑。我以前用过火车没问题。但现在我反复收到“未使用的参数”错误。

#Generate random data
y <- rnorm(100, mean=.5)
x <- rnorm(100)
data <- cbind(x, y)
form <- y ~ x

fitControl <- trainControl(## 10-fold CV
                       method = "cv",
                       number = 8)

set.seed(825)
lmFit1 <- train(x, y, method = "lm", trControl = fitControl, na.action=na.omit)
lmFit1 <- train(form, data = data, method = "lm", trControl = fitControl, na.action=na.omit)

由于我正在运行线性回归,因此我已经用 x 和 y 以及形式指定了这个模型。两者都产生相同的错误。

Error in train(form, method = "lm", trControl = fitControl, na.action = na.omit) : unused arguments (method = "lm", trControl = fitControl, na.action = na.omit)
Error in train(x, y, method = "lm", trControl = fitControl, na.action = na.omit) : unused arguments (y, method = "lm", trControl = fitControl, na.action = na.omit)

在我的实际数据中,我有更多的预测变量,并且一次只包含 1 或 2 个预测变量,但都会产生相同的错误。即使是随机数据也会产生错误。

有什么想法吗?非常感谢您的帮助!谢谢!

【问题讨论】:

  • 是否有可能在加载caret 后加载了另一个具有train 函数的包,而另一个train 函数正在屏蔽carettrain 函数?跨度>
  • 这是我的第一个想法——但我已经重启了好几次 R 并且只先加载了 zoo。动物园没有火车功能......

标签: r r-caret


【解决方案1】:

我也有同样的问题。似乎在您的会话中加载了另一个包,该包也具有定义为train 的函数。 使用caret::train 而不是train

【讨论】:

    【解决方案2】:

    您可能更新了插入符号包。如果您查看包中的更改日志,您可以看到以下内容:

    6.0-34 版的变化

    对于要训练的输入数据 x,我们现在尊重输入的类别 值以容纳其他数据类型(例如稀疏矩阵)。那里 虽然有些并发症;对于预处理,我们会发出警告 如果数据不是简单的矩阵或数据框,因为有一些 其他类不存在的基础设施(例如 完整的案例)。如果 returnData

    进一步的帮助:

    x 一个对象,其中样本在行中,特征在列中。 这可以是简单的矩阵、数据框或其他类型(例如稀疏 矩阵)。请参阅下面的详细信息。

    还有细节:

    x 中的预测变量几乎可以是任何对象,只要底层的 模型拟合函数可以处理对象类。该功能是 设计用于处理简单的矩阵和数据框输入,所以有些 功能可能不起作用(例如预处理)。使用字符串时 内核,字符串向量应转换为 单列矩阵。

    我对第二个火车模型没有问题,对于第一个模型,只需添加 data.frame(x) 而不是 x。

    library(caret)
    
    #Generate random data
    y <- rnorm(100, mean=.5)
    x <- rnorm(100)
    data <- cbind(x, y)
    form <- y ~ x    
    
    fitControl <- trainControl(## 10-fold CV
              method = "cv",
              number = 8)
    
    set.seed(825)
    # changed x to data.frame(x)
    lmFit1 <- train(data.frame(x), y, method = "lm", trControl = fitControl, na.action=na.omit)
    set.seed(825)
    lmFit2 <- train(form, data = data, method = "lm", trControl = fitControl, na.action=na.omit)
    

    我的 sessionInfo()

    R version 3.2.2 (2015-08-14)
    Platform: x86_64-w64-mingw32/x64 (64-bit)
    Running under: Windows 7 x64 (build 7601) Service Pack 1
    
    locale:
    [1] LC_COLLATE=Dutch_Netherlands.1252  LC_CTYPE=Dutch_Netherlands.1252    LC_MONETARY=Dutch_Netherlands.1252 LC_NUMERIC=C                      
    [5] LC_TIME=Dutch_Netherlands.1252    
    
    attached base packages:
    [1] stats     graphics  grDevices utils     datasets  methods   base     
    
    other attached packages:
    [1] caret_6.0-52    ggplot2_1.0.1   lattice_0.20-33
    
    loaded via a namespace (and not attached):
     [1] Rcpp_0.12.0         magrittr_1.5        splines_3.2.2       MASS_7.3-43         munsell_0.4.2       colorspace_1.2-6    foreach_1.4.2      
     [8] minqa_1.2.4         car_2.1-0           stringr_1.0.0       plyr_1.8.3          tools_3.2.2         parallel_3.2.2      pbkrtest_0.4-2     
    [15] nnet_7.3-10         grid_3.2.2          gtable_0.1.2        nlme_3.1-121        mgcv_1.8-7          quantreg_5.19       MatrixModels_0.4-1 
    [22] iterators_1.0.7     gtools_3.5.0        lme4_1.1-9          digest_0.6.8        Matrix_1.2-2        nloptr_1.0.4        reshape2_1.4.1     
    [29] codetools_0.2-14    stringi_0.5-5       compiler_3.2.2      BradleyTerry2_1.0-6 scales_0.3.0        stats4_3.2.2        SparseM_1.7        
    [36] brglm_0.5-9         proto_0.3-10       
    

    【讨论】:

      猜你喜欢
      • 2016-04-24
      • 2016-01-28
      • 1970-01-01
      • 2016-01-15
      • 2011-09-26
      • 1970-01-01
      • 2017-10-03
      • 2014-01-28
      • 1970-01-01
      相关资源
      最近更新 更多