【问题标题】:Caret: Error in switch(tolower(trControl$method), oob = NULL, alt_cv = , cv = createFolds(y,插入符号:开关错误(tolower(trControl$method),oob = NULL,alt_cv = ,cv = createFolds(y,
【发布时间】:2013-09-23 12:03:06
【问题描述】:

我正在使用caret 包来调整glmnet 模型的alphalambda 参数。我的特征在X(数据帧,14474 个变量中的 47 个观测值,一个 p>>N 问题)和因变量y 是一个 47 个观测值的数据帧。 1 个变量。

当我尝试时

   trC = trainControl(method=cv, number=10)  
   fitModel = train(X, y, trControl=trC, method="glmnet")  

我明白了

 Error en switch(tolower(trControl$method), oob = NULL, alt_cv = , cv = createFolds(y,:   
   EXPR must be a length 1 vector
 Además: Mensajes de aviso perdidos
 In if (trControl$method == "oob" & !(method %in% c("rf", "treebag",  :
 la condición tiene longitud > 1 y sólo el primer elemento será usado

我尝试转置y,并更改为class(y) = "numeric",而不是"data.frame",但我得到了同样的错误,我不明白。有什么线索吗?

【问题讨论】:

  • 我猜应该是 trainControl(method='cv', number=10),当然除非你的工作区中有一个cv-named 对象你没有告诉我们关于。
  • 如果我是正确的,那么这个问题应该被删除,因为它只是最简单的“用户错误”。除了“需要引用应该被引用的参数”之外,这里没有任何教训。
  • @DWin 是的,你是对的。我在效仿别人的例子,它是这样写的。现在我看到了帮助,我看到method 使用了“”。也感谢@topepo。如果您认为删除更好,请继续。

标签: r r-caret glmnet


【解决方案1】:

使用method = "cv" 而不是method = cv

最大

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-31
    • 2015-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-04
    相关资源
    最近更新 更多